木鸟杂记

大规模数据系统

2022 Year-End Review —— Fulfillment and Confusion

I don’t know why, but this year an unusually large number of friends shared year-end summaries on Moments. I quite like this format. For one, I enjoy reading others’ year-end reviews — beyond the stories, I get to see different paths people have taken. For another, a regular annual review does help organize my thoughts and make simple outlooks.

In ancient times when knowledge was monopolized, only emperors and generals could have biographies. Today, in this era of information explosion, everyone can record their story and speak for themselves. In the short term, as I grow older and my thoughts deepen, many things are forgotten within months if not written down. Through an annual review, I can later trace the trajectory of my intellectual changes — a way of self-reflection, hoping for new insights. In the long term, we will all pass away someday. If I can leave even a fragment behind via the internet, bringing a smile to future readers, it would be like a goose leaving its call in the sky.

Author: Muniao’s Notes https://www.qtmuniao.com/2023/01/05/2022-summary Please credit when reposting

This year, the pandemic is an unavoidable theme. The pandemic has entered its fourth year, and we still don’t know how it will ultimately end. Over these years, COVID-19 has profoundly affected the lives of everyone on this planet. Initially, the high fatality rate genuinely oppressed everyone’s nerves. Later, as the virus became more contagious, social chaos disturbed each of our lives. Now, for most young people, the virus itself no longer seems so terrifying, but the deeper impacts brought by economic pressure may only be beginning to emerge. We cannot tell whether this is the beginning of the end, or merely the end of the beginning.

Even so, I managed to travel a few times during holidays — including Beihai over last New Year’s, the “Shuang Wu” trip (Wulanbutong and Wulanchabu) in early September, and Inner Mongolia’s Arxan during the October holiday. After graduation, I became quite a homebody, finding it troublesome and disliking going out. Though I always procrastinate before leaving, every trip ends up being “so worth it.” The ancients were right: read ten thousand books, travel ten thousand miles. The mountains and rivers of our motherland are truly magnificent. Much scenery and history can only be truly appreciated when experienced firsthand; many customs and local cultures can only be understood when immersed in them. This multi-sensory stimulation is far more direct and vivid than the single-dimensional input of reading. Moreover, the brain is lazy — if you stick to the same daily commute with repetitive routines, it compresses your memories. But if you visit new places from time to time, it keeps those memories vivid, effectively extending the perceived length of your life. Below are brief impressions from each trip.

Beihai and Weizhou Island. As a coastal city in Guangxi bordering the Beibu Gulf, Beihai made a very livable first impression. Though jokingly called the “capital of pyramid schemes,” I didn’t find anything particularly unusual at first glance, and there were many outsiders — I even ran into two fellow northeasterners while taking taxis. Weizhou Island, an offshore island under Beihai, left a strangely profound impression. After lingering there for several days, I’ll never forget riding a scooter through the sea breeze, wandering along winding roads, weaving through guesthouses, small villages, banana fields, piers, and the marvelous volcanic island. That shade of crystalline blue sea water is a tone that can’t be adjusted in Lightroom — it has a uniquely captivating magic.

The Shuang Wu Journey. I had visited Wulanbutong once before in summer, and what stuck with me most was the satin-like mountain grassland. This autumn visit fell right in the off-season — summer grass had been harvested, winter snow had yet to arrive. But the upside was the extreme scarcity of tourists; we had the vast wilderness to ourselves. Driving along the undulating mountain roads under high, pale skies, watching light and shadow play across yellow-green ridges, with scattered horses of various colors — it was truly soul-cleansing scenery. Halfway through, feeling unsatisfied, I hesitated briefly before heading toward Wulanchabu to seek out the Chahar volcanic cluster I had heard about before. After driving through the night and climbing for half the next day, I felt somewhat disappointed the moment I saw Volcano No. 3 — the crater’s drop was less than two meters. I had always imagined craters to be deep, with forests and heavenly lakes inside. Fortunately, I had brought a drone; flying around each volcano provided a god’s-eye view that made all the rushing worthwhile. Speaking of which, the scenery along the drive was actually amazing, especially the clouds at sunset paired with heart-shaped high-voltage transmission towers — absolutely stunning.



Inner Mongolia’s Arxan. I had originally planned to fly to Harbin and rent a car from there. But just before departure, I discovered there was an outbreak in Harbin, so I changed plans to drive directly from Beijing instead. Thanks to this decision, although our return journey was long and winding, we at least managed to enter Beijing in one go. From Beijing to Arxan, and even further north to Hulunbuir, it takes a solid two to three days of driving. Luckily the three of us took turns driving, though we still couldn’t avoid night driving. Our timing in Arxan was incredibly fortunate: on the first day we saw the magnificent late-autumn scenery, and on the second day we caught the first snowfall, witnessing the different appearances of the two heavenly lakes as the weather shifted. Arxan’s forests are dominated by Mongolian Scotch pine and white birch, accompanied by volcanic crater lakes and barrier lakes formed by eruptions, plus the crisp, clean alpine climate — all making memories feel refreshingly cool. The next day, mountains draped in silver; after a light breeze, snow rustled down revealing golden crowns — one cannot help but marvel at the Creator’s wonders. Afterwards there were the thousand-li grasslands of Hulunbuir, the winding and merging river channels and clusters of shrubs in the Genhe Wetland, the windmills and sunset at Heishantou, and the deep forests of Moerdaoga. But compared to Arxan before and after the first snow, these all felt like bonuses. Photos are collected in this post.


Beyond travel, I fell in love with Chinese animation this year, especially ancient-style anime. When feeling restless, watching an anime with a fictional setting always helps me break free from my mental constraints and gradually cheer up. I don’t know why anime holds such magic for me, but compared to TV dramas, animation offers stronger visual expression, fewer constraints on set design, and more dynamic storytelling. It’s especially well-suited for science fiction and xianxia (immortal cultivation) themes. Among the better ones: Youths and Golden Horses (《少年歌行》) with its dashing youth and high spirits; Painting Jianghu: Bad People (《画江湖之不良人》) with its sense of mission and patriotism; A Record of a Mortal’s Journey to Immortality (《凡人修仙传》) with its meticulous, pragmatic protagonist; and Spirit Cage (《灵笼》) with its apocalyptic choices, species survival, and cyber-cultivation. Among the weaker ones: Douluo Continent (《斗罗大陆》), Battle Through the Heavens (《斗破苍穹》), and Perfect World (《完美世界》) — though they have some highlights, their production quality is inconsistent, their themes lack depth, their details are lacking, and overall they devolve into mindless power-fantasy. But regardless of quality, the world-building, character growth systems, and gorgeous fight scenes all help me empty my mind and decompress. I often wonder: if I had the chance to design such a system, where would I draw inspiration from — the Classic of Mountains and Seas? Lessons from political history? How would I flesh out details — life experience? Encyclopedia? How would I drive the plot, create conflicts, and develop emotions? It’s like a coding project; the sense of control from building something from scratch is always exhilarating.

This year I skimmed through some books and also read one book very seriously. Among those I skimmed: Lan Xiaohuan’s Inside the System (《置身事内》), which organizes some functions of China’s government mechanisms and internal threads of economic development, offering a glimpse into the internal logic of China’s characteristic economic development that our generation has personally experienced; Lee Kuan Yew’s One Man’s View of the World, which roughly presents his concise assessments of several major countries and regions at the 2013 time node — comparing his predictions with later actual developments is quite fascinating; the classical anthology Guwenguanzhi (《古文观止》), containing ancient people’s experiences and reflections from their times — some readings feel biased, others penetrating, but what remains constant is the conciseness of the prose, the rhythm of the sentences, and the brilliance of the structure; and Barry Naughton’s The Chinese Economy: Adaptation and Growth, which provides good threads and perspectives. But combined with Wen Tiejun’s Eight Crises (《八次危机》) and Lin Yifu’s Demystifying the Chinese Economy (《解读中国经济》) that I read earlier, one can see that foreigners’ books always contain some biased or even stereotyped prejudices regarding certain special periods.

The one book I read seriously was a technical book related to work — Designing Data-Intensive Applications. This year I spent over a hundred hours on it outside of work, a number that surprised even me. The initial idea was simple: I had started a group for distributed systems and databases and wanted to find something to sustain it regularly, so I chose to share this book. For each chapter, I would first read the English version, then paraphrase it, possibly adding some personal commentary based on my experience, and finally share it on weekends. The translation draft was the most time-consuming part — some English I wasn’t sure about, so I had to reference others’ translations; some meanings I couldn’t quite grasp, so I had to look up materials. When reading roughly on my own, it didn’t feel like much, but when writing the draft, weighing every word was quite exhausting. Yet even so, if I didn’t proofread after finishing, there would always be holes in phrasing and meaning. Of course, even after a rough proofread, many issues remained, so I simply put it on GitHub and welcomed corrections. After a year of this, the benefits were quite evident: I connected with many peers, my English reading improved significantly, the complex landscape of data systems became clearer, I no longer felt too nervous sharing even when underprepared, and I gained several thousand followers on Bilibili and Zhihu, among other things. Although the efficiency was indeed not high, many things were gradually polished through this slow grinding. Finally, here is the website where I collected my written drafts and past recordings, hoping it can help those interested in distributed systems and databases.

Affected by the DDIA sharing, blog updates dropped significantly this year. But the benefits of continuous writing are slow and enduring. First, output drives efficient input. Much knowledge only becomes deeply embedded in my knowledge tree when I express it in my own words. Second, writing forces me to think in an organized way and try to grasp core pain points. When introducing concepts, you always need to find key entry points, which inevitably leads you to peel away surface fog layer by layer; when organizing paragraphs, you need to follow logical threads, which requires connecting different information points and presenting them coherently. Finally, continuous output helps you build more connections with others. As a programmer, burying yourself in work details makes it easy to become socially isolated. Through continuous output, different people can find you through your writing, get to know you, generate more exchanges, spark more ideas, and discover more opportunities.

In 2021 I joined a database startup, working on storage layer development. Compared with pure storage architecture before, the database storage layer has many different focuses. For example, object storage cares more about massive data volume and high availability, but has simple models and weak consistency requirements. The database storage layer, however, needs to care about schema, so it must consider encoding, evolution, and compatibility; it must consider concurrency between DDL and DML; it must consider distributed transactions; it must consider pushed-down computation execution, and so on — the complexity rises significantly. Moreover, since we’re in the graph database domain, we also need to pay attention to the special characteristics of graph data models. We need to consider the most common pattern matching and graph traversal in graph queries, how to optimize multi-hop queries, and how to support heterogeneous data. Knowledge from traditional relational databases can solve many problems, but some pain points cannot be efficiently resolved without innovation, such as multi-hop queries. Furthermore, graph leaders like Neo4j and TigerGraph have already begun pushing into graph computing and machine learning — how should we carve out our niche? There are many such questions. Overall, it’s very interesting. This year I gradually entered the graph database domain and enjoyed the work. But commercialization of domestic databases is generally very difficult — not just technical factors, but also market factors, compliance factors, and so on. And even once commercialization begins, it will likely end up like Megvii: able to survive, but hard to maintain the P/E ratios of internet companies from previous years. Because the current commercialization path generally has low human efficiency ratios, making it hard to sustain internet-logic valuations.

Although I love this field, the day-after-day routine of work always leaves me feeling something is missing. From time to time, I get the same sense of unreality that those who rejected the Matrix in The Matrix felt — who am I, where am I, what am I doing? Chinese culture values “standing firm at thirty”; though it may not be exactly thirty, one can’t help but compare oneself against expectations of what one should have achieved by each stage. Keeping my eyes on accomplished peers of the same age always breeds an indescribable anxiety. Of course, the greater sense of urgency comes from within. I always find it hard to locate something I can pour one hundred percent of my passion into, and hard to cultivate the ancient sages’ sense of mission to “establish peace for all generations.” That is, I always find it difficult to burn through each day with the intensity I expect. If I were content with my current state, perhaps I could be more open-minded; if I were pursuing an ideal, perhaps I could feel fully fulfilled. I understand a little, yet not quite; I stand on tiptoe, open a corner of the window, and a bit of light streams in, but it never feels open enough; I want to open it wider, yet feel powerless — a sense of confusion. Perhaps many things can only be connected in retrospect after further accumulation, development, and exploration.

The road ahead is long and arduous; I will search high and low.


我是青藤木鸟,一个喜欢摄影、专注大规模数据系统的程序员,欢迎关注我的公众号:“木鸟杂记”,有更多的分布式系统、存储和数据库相关的文章,欢迎关注。 关注公众号后,回复“资料”可以获取我总结一份分布式数据库学习资料。 回复“优惠券”可以获取我的大规模数据系统付费专栏《系统日知录》的八折优惠券。

我们还有相关的分布式系统和数据库的群,可以添加我的微信号:qtmuniao,我拉你入群。加我时记得备注:“分布式系统群”。 另外,如果你不想加群,还有一个分布式系统和数据库的论坛(点这里),欢迎来玩耍。

wx-distributed-system-s.jpg