{"id":27383,"date":"2025-05-19T19:23:27","date_gmt":"2025-05-20T02:23:27","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=27383"},"modified":"2025-11-14T01:43:56","modified_gmt":"2025-11-14T09:43:56","slug":"ten-years-on-we-set-off-again-my-journey-with-tidb","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/","title":{"rendered":"Ten Years On, We Set Off Again: My Journey with TiDB"},"content":{"rendered":"<p><em>From day one, PingCAP has been a company built by and for builders. In this special 10-year reflection, our very first employee and SVP of Product &amp; Engineering shares the raw, unfiltered journey behind TiDB\u2014from the first lines of Go code to running mission-critical workloads across the globe. We hope this inspires the next generation of open-source dreamers.<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19055543\/siddon-tang.jpg\" alt=\"siddon-tang\" class=\"wp-image-27399\" style=\"width:400px\" srcset=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19055543\/siddon-tang.jpg 1200w, https:\/\/static.pingcap.com\/files\/2025\/05\/19055543\/siddon-tang-200x300.jpg 200w, https:\/\/static.pingcap.com\/files\/2025\/05\/19055543\/siddon-tang-683x1024.jpg 683w, https:\/\/static.pingcap.com\/files\/2025\/05\/19055543\/siddon-tang-768x1152.jpg 768w, https:\/\/static.pingcap.com\/files\/2025\/05\/19055543\/siddon-tang-1024x1536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-element-caption\"><em>Siddon Tang, <em>SVP of Product &amp; Engineering<\/em><\/em>,<em> PingCAP<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p><em><strong>Acknowledgments<\/strong><\/em><\/p>\n\n\n\n<p>This article was spoken by me, transcribed by ChatGPT, and then shaped into prose with GPT-4.5. I guess the model caught a bit of my style; I only did light edits. AI is getting insanely good. In the next decade TiDB will have many more AI stories\u2014but that\u2019s for another time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Most_Valuable_Treasure_in_Life_Memories_and_Reflections\"><\/span>The Most Valuable Treasure in Life? Memories and Reflections<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Time flies, and ten years have passed. It all started on April Fools\u2019 Day, 2015, when Max asked me\u2014very seriously\u2014if I&#8217;d like to start a business together. That conversation was the ticket that put me on this wild ride called TiDB. It&#8217;s been full of ups and downs, but also full of exciting adventures.<\/p>\n\n\n\n<p>Over the last decade, I&#8217;ve witnessed TiDB grow from a tiny open-source project into a global phenomenon. At this milestone, I&#8217;d like to share my genuine experiences and reflections\u2014not to brag or gloss over the difficulties\u2014but to honestly recount how:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A simple technical ideal gradually became reality.<\/li>\n\n\n\n<li>Programmers painfully yet necessarily transformed through product commercialization.<\/li>\n\n\n\n<li>Open source and customer success became our core values.<\/li>\n\n\n\n<li>Technology and products won global customers&#8217; trust.<\/li>\n\n\n\n<li>I evolved from a programmer to a manager, then a technical leader.<\/li>\n<\/ul>\n\n\n\n<p>I believe these real stories have the most value, and they deserve to be told.<\/p>\n\n\n\n<p>Enough of the introduction\u2014let\u2019s dive in!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_The_April_Fools_Day_Invitation\"><\/span>1. The April Fools\u2019 Day Invitation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">A Startup Invitation on April Fools\u2019 Day<\/h3>\n\n\n\n<p>April 1, 2015, April Fools\u2019 Day. Programmers usually take it lightly, joking around carefree. But I got an utterly surreal message from Max, whom I knew only through open-source collaborations:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cWe\u2019re starting a company to build an open-source <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/self-managed\/\">distributed database<\/a>. Wanna join?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>My first reaction? \u201cAre you kidding?\u201d<\/p>\n\n\n\n<p>Max quickly replied, \u201cI\u2019m dead serious.\u201d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why Me?<\/h3>\n\n\n\n<p>Turns out, open source connected us deeply. Collaborating via GitHub, we built mutual trust without ever meeting face-to-face. Open-source was like a programmer\u2019s \u201cdating platform\u201d\u2014far more effective than coffee dates.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Two Mind-blowing Ideas: Open Source and Remote Work<\/h3>\n\n\n\n<p>Despite initial skepticism, Max&#8217;s vision sounded surprisingly legit\u2014an open-source <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/self-managed\/\">distributed database<\/a> aimed to \u201cchange the world.\u201d It sounded crazy, especially considering we had no experience building databases.<\/p>\n\n\n\n<p>Initially, I declined since the company was in Beijing, and I lived in Zhuhai. But Max shocked me by saying, \u201cYou don\u2019t have to come to Beijing; work remotely.\u201d<\/p>\n\n\n\n<p>Remote work in 2015? Revolutionary. This company was either doomed or destined for greatness.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">First Meetup Felt Like Old Friends<\/h3>\n\n\n\n<p>I booked a flight immediately, met Max, Ed, and Dylan\u2014and bizarrely, felt like meeting old friends, all thanks to our shared open-source experiences. Open-source became TiDB\u2019s DNA and a major competitive edge globally.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Radical Transparency and \u201cTrue Open Source\u201d<\/h3>\n\n\n\n<p>From day one, we decided on radical transparency. All our code, bugs, and discussions were publicly on <a href=\"https:\/\/github.com\/pingcap\/tidb\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>. Skeptics worried customers would be scared off by visible bugs. But transparency built deeper trust.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2260\" height=\"1368\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history.png\" alt=\"\" class=\"wp-image-27407\" srcset=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history.png 2260w, https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history-300x182.png 300w, https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history-1024x620.png 1024w, https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history-768x465.png 768w, https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history-1536x930.png 1536w, https:\/\/static.pingcap.com\/files\/2025\/05\/19075653\/TiDB-PR-history-2048x1240.png 2048w\" sizes=\"auto, (max-width: 2260px) 100vw, 2260px\" \/><figcaption class=\"wp-element-caption\"><em>TiDB Pull Request History, datasource: <a href=\"https:\/\/ossinsight.io\/analyze\/pingcap\/tidb\">https:\/\/ossinsight.io\/analyze\/pingcap\/tidb<\/a><\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Why a Distributed Database?<\/h3>\n\n\n\n<p>Our initial goal was simple: end the pain of sharding in MySQL. We wanted an infinitely scalable database to save programmers from sharding nightmares. This genuine pain point became TiDB\u2019s key strength.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ignorance is Bliss: A Programmer\u2019s Adventure<\/h3>\n\n\n\n<p>Ironically, our inexperience in database development helped. Without knowing better, we jumped into this wild adventure fearlessly. I became PingCAP&#8217;s first official employee, beginning a thrilling decade-long journey.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Those_Blissful_Code-Driven_Days\"><\/span>2. Those Blissful, Code-Driven Days<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">When is Building a Product the Most Fun?<\/h3>\n\n\n\n<p>Engineers love to ask deep questions like, \u201cWhat\u2019s the best part of coding?\u201d For me the answer\u2019s easy: <strong>before a single customer shows up<\/strong>.<\/p>\n\n\n\n<p>When nobody\u2019s using your stuff yet, life is sweet. You write code all day, no angry tickets, no \u201cASAP\u201d calls at 3 a.m., no fire-drills. It\u2019s pure, undiluted hacker joy.<\/p>\n\n\n\n<p>Sadly, that bubble pops the moment real users arrive\u2014and it has to, because software exists to be used.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Starting a Database from Scratch? We\u2019re not <em>that<\/em> Crazy<\/h3>\n\n\n\n<p>Kicking off <a href=\"\/ko\/tidb-self-managed\/\">\ud2f0DB<\/a> felt a little wild\u2014databases are not exactly weekend projects.<\/p>\n\n\n\n<p>But we weren\u2019t leaping blindfolded. Google had already published papers on things like Spanner, and CockroachDB (a.k.a. the \u201croach\u201d) had launched a year earlier. Even good old HBase offered lessons.<\/p>\n\n\n\n<p>Re-inventing wheels isn\u2019t shameful\u2014reinventing them with your eyes closed is. We stood on those giants\u2019 shoulders and borrowed the parts we knew would work.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why Go?<\/h3>\n\n\n\n<p>First decision: pick a language. Zero hesitation\u2014we went with Go.<\/p>\n\n\n\n<p>Why? Because it\u2019s the one we knew and loved. In unfamiliar territory, the safest bet is the tool you wield best.<\/p>\n\n\n\n<p><strong>Strategy:<\/strong> get something running first, polish later.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MySQL Compatibility\u2014Blessing and Curse<\/h3>\n\n\n\n<p>Early on, we vowed to speak MySQL. That bet later made TiDB the drop-in <a href=\"\/ko\/solutions\/modernize-mysql-workloads\/\">MySQL replacement<\/a> people wanted.<\/p>\n\n\n\n<p>But wow, did we step on landmines:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MySQL\u2019s\u2026 \u201ccreative\u201d syntax edge-cases<\/li>\n\n\n\n<li>Quirky, undocumented compatibility gotchas<\/li>\n<\/ul>\n\n\n\n<p>It\u2019s a double-edged sword, but on balance the wins beat the pain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The &#8220;so simple it hurts&#8221; Optimizer and Executor<\/h3>\n\n\n\n<p>Nowadays, TiDB has a fancy cost-based optimizer, but back then none of us had written one before. So we did the programmer thing: shipped the dumbest rule-based optimizer possible. The executor? Straight-up Volcano model\u2014operators call <code>next()<\/code> down the stack. Ugly, but it worked.<\/p>\n\n\n\n<p>Being clueless and fearless let us ship a first usable build fast.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Test-driven or Bust<\/h3>\n\n\n\n<p>From day one we lived and died by tests. Databases hold people\u2019s data\u2014mess that up once and you\u2019re out of a job.<\/p>\n\n\n\n<p>At one point, we chased <strong>100% test coverage<\/strong>. Nuts, but it caught buckets of bugs.<\/p>\n\n\n\n<p>On top of unit tests, we went hardcore:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ported SQLite\u2019s gigantic sqllogic tests. Painful then, lifesaver now.<\/li>\n\n\n\n<li>Learned just enough Clojure to run Jepsen and flush out nasty transaction bugs.<\/li>\n\n\n\n<li>Wrote TLA\u207a specs of core algorithms so we could actually sleep at night.<\/li>\n\n\n\n<li>Dove into chaos engineering, built our own tool, which morphed into the open-source hit <strong>Chaos Mesh<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Rust, TiKV, and Dodging the C++ Black Hole<\/h3>\n\n\n\n<p>Next up: storage engine. C++? Nope\u2014too hairy, impossible for staff. Just as Rust hit 1.0, we jumped.<\/p>\n\n\n\n<p><strong>Rust perks:<\/strong> speed, memory safety, \u201cif it compiles, it probably works,\u201d and a buzzing community that flocked to TiKV. <strong>Rust pains:<\/strong> glacial compile times and a near-empty ecosystem\u2014lots of wheels to forge.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"343\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20012709\/group.jpg\" alt=\"\" class=\"wp-image-27418\" style=\"width:579px;height:auto\" srcset=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20012709\/group.jpg 643w, https:\/\/static.pingcap.com\/files\/2025\/05\/20012709\/group-300x160.jpg 300w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><figcaption class=\"wp-element-caption\"><em>Speaking at the first Rust Meetup in Beijing, April 16, 2017<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<p>And yes, we named our data shard <strong>\u201c<a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/glossary\/#region-split\">Region<\/a>.\u201d<\/strong> Cloud vendors also call datacenters <em>regions<\/em>, so every customer call turns into \u201cwhich region do you mean?\u201d Lesson learned: names matter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Borrowing from Spanner, Living without Google\u2019s Toys<\/h3>\n\n\n\n<p>We copied plenty from Spanner, but our customers ran on plain-ol\u2019 data centers\u2014no TrueTime, no Colossus.<\/p>\n\n\n\n<p>So we settled on a shared-nothing design. Perfect then, but cloud era hits differently, and TiDB is shedding that baggage bit by bit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">TL;DR\u2014the Golden Hacker Age<\/h3>\n\n\n\n<p>Looking back, those early TiDB days were the golden era:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Heads-down coding every day\u2014simple, happy.<\/li>\n\n\n\n<li>New technical dragons to slay nonstop\u2014massive dopamine hits.<\/li>\n\n\n\n<li>Raw passion pulled in a crew of like-minded hackers.<\/li>\n<\/ul>\n\n\n\n<p>All that groundwork set us up for everything that followed.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20013647\/2017-%40Facebook-HQ-1024x768.jpeg\" alt=\"\" class=\"wp-image-27420\" style=\"width:548px;height:auto\"\/><figcaption class=\"wp-element-caption\"><em>TiDB team @ Facebook HQ, 2017<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Commercialization_How_Do_We_Keep_the_Lights_On\"><\/span>3. Commercialization: How Do We Keep the Lights On?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Brutal Question: \u201cWhere are the customers?\u201d<\/h3>\n\n\n\n<p>Back in TiDB\u2019s early dev days we were bathing in tech\u2010driven bliss, and almost no one sat down to face the soul-searching question:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u201cHow are we actually going to make money?\u201d<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Cranking out awesome code felt way more urgent than figuring out revenue. Plus, most programmers have a streak of idealism\u2014words like \u201ccommercialization\u201d or \u201cprofit\u201d sound tacky.<\/p>\n\n\n\n<p>Reality, though, is reality. A company isn\u2019t a charity; no cash, no future. The earlier you nail <em>where the customers are<\/em> \uadf8\ub9ac\uace0 <em>why they\u2019ll pay<\/em>, the fewer beatings you\u2019ll take later.<\/p>\n\n\n\n<p>Looking back, I seriously regret not asking those questions sooner. Thinking about customer needs earlier would\u2019ve helped both the company and my own growth.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Painful Pivot from Tech-self-high to Customer-first<\/h3>\n\n\n\n<p>Hardest mindset shift for an engineer? Moving from \u201ctech-driven\u201d to \u201ccustomer-driven.\u201d<\/p>\n\n\n\n<p>Our biggest smack-in-the-face came from that mindset. TiDB once shipped with a parameter default set to <code>false<\/code>: killer performance, but possible data loss on crash. In 2.0 we \u201csensibly\u201d flipped it to <code>true<\/code>.<\/p>\n\n\n\n<p>Tiny flag, massive fallout\u2014some OSS users upgraded, performance tanked, businesses fell over.<\/p>\n\n\n\n<p>The obvious fix (keep old default for upgrades, new default for fresh installs) never crossed our minds because we were still high on \u201ctechnical elegance\u201d and didn\u2019t think about real-world usage.<\/p>\n\n\n\n<p>Every repeat of that mistake screamed the same lesson:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u201cDesign around the customer\u2019s reality, not your own tech ego.\u201d<\/em><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Painful Lesson: Game-launch Face-plant<\/h3>\n\n\n\n<p>Worst bruise ever: a global game studio picked TiDB. Launch day, a single hot SQL key nuked the cluster. We watched it crash in real time\u2014zero recourse.<\/p>\n\n\n\n<p>In hindsight, had we:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reviewed<\/strong> their SQL early;<\/li>\n\n\n\n<li><strong>Shipped<\/strong> hotspot-splitting tools in advance;<\/li>\n<\/ul>\n\n\n\n<p>the disaster might\u2019ve been avoided. But there\u2019s no \u201cif\u201d button\u2014the launch failed. The takeaways:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Real workloads are gnarlier than we imagine.<\/li>\n\n\n\n<li>Databases are equal parts tech, delivery, and support.<\/li>\n\n\n\n<li>Always respect the customer\u2019s business.<\/li>\n<\/ul>\n\n\n\n<p>After that, we swore off blind tech swagger.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bank go-live: the Turnaround Milestone<\/h3>\n\n\n\n<p>Luckily, we soon got a redemption shot\u2014a core-system revamp for a bank. This time we went all-in pragmatic:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Walked through <strong>every<\/strong> business rule with the client;<\/li>\n\n\n\n<li>Pre-reviewed <strong>every<\/strong> possible trap;<\/li>\n\n\n\n<li>Filled capability gaps on the spot;<\/li>\n\n\n\n<li>Built belt-and-suspenders launch and rollback plans.<\/li>\n<\/ul>\n\n\n\n<p>Result: flawless rollout, huge client praise. That win flipped us from \u201ctech-driven\u201d to \u201ccustomer-success-driven.\u201d<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cOnly the customer gets to say if a product is good. When the customer wins, the product wins.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">The Long Road from Tech Love to Real Business<\/h3>\n\n\n\n<p>Truth: moving from tech-first to truly commercial and customer-first is a long, painful haul\u2014and we still have tech-driven quirks.<\/p>\n\n\n\n<p>But database work has taught us:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It\u2019s not just code; it\u2019s an entire <strong>service stack<\/strong>.<\/li>\n\n\n\n<li>Quality, delivery, support, after-sales\u2014all matter.<\/li>\n\n\n\n<li><strong>Customer success<\/strong> is the ultimate scoreboard.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-wrap: Making Money \u2260 Selling Out<\/h3>\n\n\n\n<p>Dear engineers:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cGetting paid isn&#8217;t dirty; a customer paying you is the highest praise your code can get.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Code exists to create value. Clients win, company wins, and we devs realize our own value.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_The_Power_and_Weight_of_Scalability\"><\/span>4. The Power (and Weight) of Scalability<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">From Complaints to Liftoff: TiDB 3.0&#8217;s Turning Point<\/h3>\n\n\n\n<p>Early TiDB flashed the \u201cdistributed\u201d badge, but performance was, well\u2026 meh. Clients griped: \u201cScaling\u2019s cool, but this thing\u2019s slooow.\u201d<\/p>\n\n\n\n<p>We knew we had to cross the perf threshold to earn trust. In 3.0 we rewrote critical paths with hardcore multithreading and got multi-X speed bumps.<\/p>\n\n\n\n<p>Once perf cleared the bar, scalability became a <strong>super-weapon<\/strong>, and adoption exploded.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Bike-lock Embarrassment<\/h3>\n\n\n\n<p>Bigger scale \u2192 more users \u2192 bigger blast radius.<\/p>\n\n\n\n<p>One morning I scanned a shared bike; the lock wouldn\u2019t open. Everyone around me was stuck. Turned out our TiDB cluster had crashed, freezing the whole fleet.<\/p>\n\n\n\n<p>Nothing like torpedoing your own commute to realize:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cTiDB now sits in truly core production paths.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Clients believe in TiDB\u2019s scale; when we stumble, their pain is huge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Midnight Full-disk Horror<\/h3>\n\n\n\n<p>Another vivid tale: a top internet client ran a 100 TB+ TiDB cluster. One night disks filled, TiKV crashed in loops, the system teetered. They pulled the fire alarm.<\/p>\n\n\n\n<p>Problems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deleting logs\/trash was slower than incoming writes.<\/li>\n\n\n\n<li>Moving data created Raft snapshots\u2014more disk burn.<\/li>\n<\/ul>\n\n\n\n<p>We camped in their office till 4 a.m., finally:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Slowed<\/strong> scheduler frequency to curb snapshots.<\/li>\n\n\n\n<li><strong>Throttled<\/strong> writes so the cluster could breathe.<\/li>\n<\/ul>\n\n\n\n<p>It worked, but the night drilled in:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cScale raises the stakes. The more they trust us, the heavier the load we carry.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Why Customers Boomeranged from Big-name Rivals<\/h3>\n\n\n\n<p>Overseas we lost deals to famous brands\u2014then six months later those clients came back. Reason: the rival choked once real scale hit; TiDB kept humming at hundreds-TB, even PB.<\/p>\n\n\n\n<p>That\u2019s when we felt it in our bones: scalability isn\u2019t marketing fluff\u2014it\u2019s a make-or-break requirement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Growth Whiplash<\/h3>\n\n\n\n<p>Post-3.0, growth was so fast it bred overconfidence. Hidden quality debt piled up and later blew up\u2014but that\u2019s another story.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-wrap: Scale is Both Sword and Burden<\/h3>\n\n\n\n<p>TiDB won hearts with scalability\u2014and inherited massive responsibility. The deeper we sit in core systems, the less room we have for error.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cScalability is our ultimate weapon\u2014and a weight we have to shoulder.\u201d<\/p>\n<\/blockquote>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"1024\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466-725x1024.jpeg\" alt=\"SQL at Scale\" class=\"wp-image-27422\" style=\"width:336px;height:auto\" srcset=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466-725x1024.jpeg 725w, https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466-213x300.jpeg 213w, https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466-768x1084.jpeg 768w, https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466-1088x1536.jpeg 1088w, https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466-1451x2048.jpeg 1451w, https:\/\/static.pingcap.com\/files\/2025\/05\/20015557\/SQL-at-Scale-scaled-e1747732245466.jpeg 1620w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><figcaption class=\"wp-element-caption\"><em>TiDB: SQL at Scale<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_From_Chaos_to_First_Light_The_Shift_to_Product-_and_Customer-Success-Driven\"><\/span>5. From Chaos to First Light (The Shift to Product- and Customer-Success-Driven)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">The Pain of Shipping TiDB 4.0<\/h3>\n\n\n\n<p>Early TiDB grew so fast we slid into a messy, chaotic state. Exhibit A: the 4.0 release.<\/p>\n\n\n\n<p>We clung to a \u201cone big release per year\u201d rhythm. Looked tidy on paper\u2014inside it was mayhem: tons of new features jammed into each cycle, test time gutted, quality fell off a cliff.<\/p>\n\n\n\n<p>After TiDB 4.0 dropped we had to crank out <strong>twelve<\/strong> patch releases just to steady the ship. Customer complaints hit an all-time high, our morale an all-time low.<\/p>\n\n\n\n<p>I was waking up to pager pings at 3 a.m. and starting every morning by checking which client blew up overnight.<\/p>\n\n\n\n<p>Eventually we told ourselves:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cTime to change the way we work.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">The Hubris of Having No PMs<\/h3>\n\n\n\n<p>Looking back, our biggest blunder was running almost the whole company with <strong>zero PMs<\/strong>.<\/p>\n\n\n\n<p>Funniest part? We bragged, <em>\u201cWho needs product managers\u2014devs are the best PMs!\u201d<\/em><\/p>\n\n\n\n<p>Yeah, no. That idea was spectacularly stupid.<\/p>\n\n\n\n<p>Without PMs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No one managed feature priority<\/li>\n\n\n\n<li>No one thought about product strategy<\/li>\n\n\n\n<li>No one dug deep into customer scenarios<\/li>\n<\/ul>\n\n\n\n<p>The result was a stew of random features, no clear direction, and lots of unsolved real-world pain points.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bringing In PMs\u2014The Tech-to-Customer Pivot<\/h3>\n\n\n\n<p>We finally faced the truth:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cEngineers can\u2019t do everything; product needs dedicated owners.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>So we hired real PMs. Their impact was huge:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clear, ranked feature priorities<\/li>\n\n\n\n<li>Every release got a focus theme<\/li>\n\n\n\n<li>Shift from \u201ctech coolness\u201d to \u201csolving customer problems\u201d<\/li>\n<\/ul>\n\n\n\n<p>Trust slowly crept back.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">From \u201cYearly Big Bang\u201d to \u201cTwo-Month Trains\u201d to \u201cHalf-Year Releases\u201d<\/h3>\n\n\n\n<p>The 4.0 fiasco taught us the risk of yearly drops. We switched to <strong>train releases every two months<\/strong>\u2014quick iter- ation, bite-size changes, easier quality control.<\/p>\n\n\n\n<p>New headache: too many versions; customers puzzled over which to run; bug fixes meant constant cherry-picks.<\/p>\n\n\n\n<p>Final compromise: a <strong>six-month cadence<\/strong>\u2014<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stable enough, fewer branches<\/li>\n\n\n\n<li>Devs get breathing room to keep quality high<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quality-First Pivot: Starting with 6.0<\/h3>\n\n\n\n<p>Burned by 4.0, we made 6.0 all about quality:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Big memory-usage rewrite\u2014killed OOMs<\/li>\n\n\n\n<li>Systematic disk-IO jitter fixes<\/li>\n\n\n\n<li>Poured energy into stability over shiny features<\/li>\n<\/ul>\n\n\n\n<p>Customer feedback after 6.0? Way better.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cloud Era: Back to \u201cOne LTS a Year\u201d<\/h3>\n\n\n\n<p>Then the cloud wave hit:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We could roll new features to cloud users fast, get feedback early<\/li>\n\n\n\n<li>Once rock-solid, roll them into an annual on-prem LTS<\/li>\n<\/ul>\n\n\n\n<p>Fast innovation + stable long-term branch = sweet spot.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Rethinking the Essence of a Database<\/h3>\n\n\n\n<p>We started asking:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cWhat <strong>is<\/strong> a database, really?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Simple answer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It doesn\u2019t need a bazillion fancy features.<\/li>\n\n\n\n<li>It needs to help users handle data <strong>simply, safely, reliably<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>That mindset now drives TiDB\u2019s roadmap.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-Wrap: From Chaos to Product &amp; Customer Success<\/h3>\n\n\n\n<p>The journey from disorder to product-driven clarity was long and painful, but we finally learned:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PMs matter\u2014hard.<\/li>\n\n\n\n<li>Quality beats everything.<\/li>\n\n\n\n<li>Small, fast steps + cloud feedback work.<\/li>\n\n\n\n<li>Never forget the core: we\u2019re a data tool.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"6_TiDB_Cloud%E2%80%94A_Rough_but_Rewarding_Journey_to_the_Sky\"><\/span>6. TiDB Cloud\u2014A Rough but Rewarding Journey to the Sky<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Cloud Misconception #1: \u201cJust stick the DB on a VM, done!\u201d<\/h3>\n\n\n\n<p>The <a href=\"\/ko\/tidb-cloud-dedicated\/\">TiDB Cloud<\/a> story is long\u2014and full of bumps. In the early days we thought:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cCloud DB? Easy\u2014spin TiDB up on the cloud. What\u2019s so hard?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Reality slapped us over and over: <strong>cloud database \u2260 lift-and-shift<\/strong>.<\/p>\n\n\n\n<p>It\u2019s like your first brush with Kubernetes: \u201cJust write a YAML and deploy, right?\u201d Production shows it\u2019s a hundred times messier.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Early-Stage Kubernetes Potholes<\/h3>\n\n\n\n<p>Way back in 2018 we decided TiDB Cloud would run on k8s. AWS had no mature EKS yet, so we naively picked an open-source project called <strong>Gardener<\/strong> and ran the clusters ourselves.<\/p>\n\n\n\n<p>Nightmare:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gardener\u2019s stability was trash; ops cost skyrocketed<\/li>\n\n\n\n<li>One engineer basically lived in pain every day<\/li>\n\n\n\n<li>It took <em>years<\/em> to migrate off Gardener onto managed <strong>EKS<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Lesson carved in stone:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cIn cloud, trust the cloud vendor\u2019s pace of evolution.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Local Disks vs. Cloud Disks: A Philosophy Flip<\/h3>\n\n\n\n<p>Worse, we were obsessed with local disks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cLocal NVMe is fast\u2014no way we\u2019re using cloud disks.\u201d<\/li>\n\n\n\n<li>We bent K8s in knots to schedule local storage nodes.<\/li>\n\n\n\n<li>Meanwhile, cloud-disk performance leapt forward and local-disk ops became a horror show.<\/li>\n<\/ul>\n\n\n\n<p>As customers grew, local-disk ops alone could\u2019ve killed us.<\/p>\n\n\n\n<p>Looking back, it was pure:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cDeveloper perfectionism meets cloud-era reality, and reality punches.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Ops in the \u201cNew World\u201d: We Sell <em>Service<\/em><\/h3>\n\n\n\n<p>Traditional software: ship bits, customer runs it.<\/p>\n\n\n\n<p>Cloud service: customer buys the <strong>service<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You own the SLA<\/li>\n\n\n\n<li>You plan maintenance windows<\/li>\n\n\n\n<li>Security &amp; compliance must be airtight<\/li>\n\n\n\n<li>When a client\u2019s down, you jump\u2014period<\/li>\n<\/ul>\n\n\n\n<p>Running TiDB Cloud taught us:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cRunning service ops is ten times harder than writing software.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>But that pain forged a true cloud-native team.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Next-Generation TiDB Cloud: From Shared-Nothing to Shared-Everything<\/h3>\n\n\n\n<p>TiDB\u2019s first design was shared-nothing\u2014perfect for classic IDC deployments\u2014but in the cloud it started to show cracks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If a node dies, we have to reshuffle data all over again.<\/li>\n\n\n\n<li>Scaling storage means adding physical nodes\u2014crazy expensive.<\/li>\n<\/ul>\n\n\n\n<p>So we kicked off a massive overhaul:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data moved from cloud disks to Amazon S3<\/strong> object storage.<\/li>\n\n\n\n<li>The architecture shifted to a far more elastic <strong>shared-everything<\/strong> model.<\/li>\n\n\n\n<li>We broke the monolith into true micro-services, which boosted both scalability and agility.<\/li>\n<\/ul>\n\n\n\n<p>People asked, \u201cWon\u2019t sticking data on S3 tank performance?\u201d Short answer: <strong>nope<\/strong>\u2014we layered in serious caching and optimized every access path. (A story for another day.)<\/p>\n\n\n\n<p>The micro-service split paid off instantly:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Heavy I\/O jobs (like compaction) became stand-alone services.<\/li>\n\n\n\n<li>When load spikes, we scale out; when it drops, we shrink back fast\u2014cloud bills plunge.<\/li>\n<\/ul>\n\n\n\n<p>After the pivot, we finally found the right way to live in the cloud era.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wrap-up: TiDB Cloud\u2019s Tears and Tomorrow<\/h3>\n\n\n\n<p>Looking back, TiDB Cloud is equal parts heartache and harvest:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Early cloud misconceptions cost us plenty of tuition fees.<\/li>\n\n\n\n<li>Every stumble\u2014K8s choices, disk debates, micro-service cuts\u2014pushed us closer to true \u201ccloud wisdom.\u201d<\/li>\n\n\n\n<li>Building a rock-solid ops culture turned us into a service-first team.<\/li>\n<\/ul>\n\n\n\n<p>Today TiDB Cloud brings in <strong>more than half<\/strong> of company revenue\u2014proof that cloud isn\u2019t just the future; it\u2019s the <em>present<\/em>.<\/p>\n\n\n\n<p>The road\u2019s been rough, but we\u2019ve found our groove. And we\u2019re sure TiDB Cloud\u2019s best miles are still ahead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"7_The_Road_to_Going_Global_%E2%80%94_An_Engineers_International_Challenge\"><\/span>7. The Road to Going Global \u2014 An Engineer\u2019s International Challenge<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Globalization: a Game of Trust<\/h3>\n\n\n\n<p>The first time PingCAP truly stepped onto the world stage we had to ask:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cWhy on earth would customers around the globe trust a scrappy crew\u2019s home-grown database?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>A database isn\u2019t a random app\u2014you\u2019re asking people to hand over their crown-jewel data.<\/p>\n\n\n\n<p>Trust isn\u2019t handed out that easily.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Open Source, Our Biggest Global Ace<\/h3>\n\n\n\n<p>Luckily, TiDB was open source from day one, giving us a built-in edge:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Folks can download the code and kick the tires themselves.<\/li>\n\n\n\n<li>When trouble hits they can pop the hood and read the source.<\/li>\n\n\n\n<li>The trust barrier drops dramatically.<\/li>\n<\/ul>\n\n\n\n<p>One story I love: a Japanese payment company kept flattening AWS Aurora every time they ran a promo. They went code-hunting on GitHub, found TiDB, gave it a whirl, and never looked back. Today they\u2019re one of the biggest payment users in Japan\u2014and TiDB is a staple in that market.<\/p>\n\n\n\n<p>Never underestimate the power of OSS.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20022518\/2018-%40Github-HQ-1024x768.jpeg\" alt=\"\" class=\"wp-image-27426\" style=\"width:580px;height:auto\"\/><figcaption class=\"wp-element-caption\"><em>TiDB Team @ GitHub HQ, 2018<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Three Years Nonstop, TiKV Crashes, Yet We Grin<\/h3>\n\n\n\n<p>That same Japanese customer later filed a bug: \u201cOne TiKV node just died!\u201d<\/p>\n\n\n\n<p>We checked the logs:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cUh\u2026 that node\u2019s been up for <strong>three years<\/strong> straight.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>First shock, then pure joy\u2014three years of uptime proved TiDB\u2019s stability had hit a new level. The story became one of our favorite proof points with global prospects.<\/p>\n\n\n\n<p>Later, when an AWS AZ in Japan suffered a big outage, their business layer took a hit but TiDB kept serving traffic. Trust skyrocketed overnight.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Donating to CNCF: Open Source is More Than Tossing Code Online<\/h3>\n\n\n\n<p>To boost TiDB\u2019s global profile we did two big things:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Donated <a href=\"https:\/\/tikv.org\/\"><strong>TiKV<\/strong><\/a> to the <strong>Cloud Native Computing Foundation<\/strong>\u2014it\u2019s now a graduated CNCF project.<\/li>\n\n\n\n<li>Donated <strong><a href=\"https:\/\/chaos-mesh.org\/\">Chaos Mesh<\/a><\/strong>, our chaos-testing tool, to CNCF so anyone can hammer-test distributed systems.<\/li>\n<\/ol>\n\n\n\n<p>Those moves leveled up our reputation and exposure worldwide.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"341\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20022924\/TiKV-graduation-1024x341.jpg\" alt=\"\" class=\"wp-image-27427\" style=\"width:594px;height:auto\" srcset=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20022924\/TiKV-graduation-1024x341.jpg 1024w, https:\/\/static.pingcap.com\/files\/2025\/05\/20022924\/TiKV-graduation-300x100.jpg 300w, https:\/\/static.pingcap.com\/files\/2025\/05\/20022924\/TiKV-graduation-768x256.jpg 768w, https:\/\/static.pingcap.com\/files\/2025\/05\/20022924\/TiKV-graduation-1536x512.jpg 1536w, https:\/\/static.pingcap.com\/files\/2025\/05\/20022924\/TiKV-graduation-2048x682.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Celebrating TiKV\u2019s CNCF Graduation, 2020<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Rust: the Unexpected MVP<\/h3>\n\n\n\n<p>Our early, gutsy choice to write TiKV in Rust paid off internationally:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The global Rust scene is vibrant, so contributors flocked in.<\/li>\n\n\n\n<li>Foreign engineers pumped PRs, and the ecosystem blossomed.<\/li>\n<\/ul>\n\n\n\n<p>TiKV turned into a Rust rock-star project, which quietly opened more overseas doors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Real Test: Localization or Bust<\/h3>\n\n\n\n<p>We once thought \u201cgoing global\u201d meant translating docs and flying a salesperson over.<\/p>\n\n\n\n<p>Later we learned:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cThe best globalization <strong>is<\/strong> localization.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Cultural gaps are huge. No matter how slick your tech, botch local support and customers will roast you.<\/p>\n\n\n\n<p>So we got serious:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Opened engineering hubs in the US, Europe, Japan, and Southeast Asia.<\/li>\n\n\n\n<li>Rolled out 24\/7 localized support.<\/li>\n\n\n\n<li>Hired native sales and pre-sales folks who genuinely grok local culture.<\/li>\n<\/ul>\n\n\n\n<p>That\u2019s how we built real global muscle.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Computer History Museum Day-dream<\/h3>\n\n\n\n<p>In 2018 Ed and I roamed the Computer History Museum in Mountain View and joked:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cOne day maybe TiDB will sit in these glass cases.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>If that ever happens it\u2019ll mean TiDB has truly earned global respect.<\/p>\n\n\n\n<p>That dream still fuels us.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1000\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20023853\/HTAP-Summit-2022.jpg\" alt=\"\" class=\"wp-image-27428\" style=\"width:696px;height:auto\" srcset=\"https:\/\/static.pingcap.com\/files\/2025\/05\/20023853\/HTAP-Summit-2022.jpg 1600w, https:\/\/static.pingcap.com\/files\/2025\/05\/20023853\/HTAP-Summit-2022-300x188.jpg 300w, https:\/\/static.pingcap.com\/files\/2025\/05\/20023853\/HTAP-Summit-2022-1024x640.jpg 1024w, https:\/\/static.pingcap.com\/files\/2025\/05\/20023853\/HTAP-Summit-2022-768x480.jpg 768w, https:\/\/static.pingcap.com\/files\/2025\/05\/20023853\/HTAP-Summit-2022-1536x960.jpg 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\"><em>First HTAP Summit in Computer History Museum, 2022<\/em><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Mini-wrap: from Coders to a Truly International Crew<\/h3>\n\n\n\n<p>Our global run has been rough but rich:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open source cracked the trust code.<\/li>\n\n\n\n<li>Rust and CNCF projects gave us street credit.<\/li>\n\n\n\n<li>Localization is the heart of internationalization.<\/li>\n\n\n\n<li>A worldwide team is the bedrock of customer success.<\/li>\n<\/ul>\n\n\n\n<p>Today\u2014with customers on every continent, we can finally say, proudly:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cTiDB is the open-source database trusted around the world.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"8_Customer_Success%E2%80%94A_Programmers_Greatest_Pride\"><\/span>8. Customer Success\u2014A Programmer\u2019s Greatest Pride<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What <em>is<\/em> Customer Success, Anyway?<\/h3>\n\n\n\n<p>Since day one at PingCAP, <strong>customer success<\/strong> has been the north star.<\/p>\n\n\n\n<p>We coders used to believe:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cShipping elegant, blazing-fast code <em>is<\/em> success.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>After a few years in databases, we learned the single yardstick:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Customer success.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p>If the customer\u2019s business thrives because of our database, then\u2014and only then\u2014have we succeeded.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customers are the Best Teachers<\/h3>\n\n\n\n<p>Why hammer on customer success?<\/p>\n\n\n\n<p>Sure, customers paying us keeps the lights on.<\/p>\n\n\n\n<p>But more importantly, we discovered customers are our best mentors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>They understand the business domain better than we ever will.<\/li>\n\n\n\n<li>Their real-world pains push our tech forward.<\/li>\n\n\n\n<li>They drag us past limits we never imagined.<\/li>\n<\/ul>\n\n\n\n<p>A North American client once had an engineering head who\u2019d spent two decades on Spanner and Bigtable. His feedback leveled us up like crazy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pushing Boundaries: Importing a 50 TB Single Table<\/h3>\n\n\n\n<p>A different NA customer hit us with a wild request:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cCan you import a <strong>50-terabyte<\/strong> single table?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>We thought they were kidding. Early attempts failed, tension rose, deadline threats flew.<\/p>\n\n\n\n<p>We bled over the code, optimized everything, and nailed it.<\/p>\n\n\n\n<p>Then another client swaggered in: \u201cCool\u2014how about 100 TB?\u201d<\/p>\n\n\n\n<p>Thanks to the 50 TB battle scars, they got it done themselves.<\/p>\n\n\n\n<p>We realized TiDB could tackle extremes we\u2019d never dreamed of.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SaaS + One Million Tables: Customers Teach us Product<\/h3>\n\n\n\n<p>One leading SaaS outfit asked:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cCan TiDB handle <em>one million<\/em> tables?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Jaw-drop moment. Regular OLTP setups never hit that.<\/p>\n\n\n\n<p>But in SaaS each tenant has its own DB schema; millions of tenants = millions of tables.<\/p>\n\n\n\n<p>We overhauled TiDB\u2019s internals\u2014schema layer, optimizer, memory footprint\u2014and hit the mark.<\/p>\n\n\n\n<p>Word spread; more SaaS vendors signed on. That single ask opened an entire market.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Should Engineers Support Customers? Absolutely<\/h3>\n\n\n\n<p>Early on we debated: \u201cShould R&amp;D directly support clients?\u201d Many devs prefer quiet coding caves. We decided <strong>yes<\/strong>\u2014devs must back customers.<\/p>\n\n\n\n<p>We spun up the <strong>Customer Advocate<\/strong> program:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Each key client gets a dedicated engineer.<\/li>\n\n\n\n<li>That engineer masters the client\u2019s use cases.<\/li>\n\n\n\n<li>Any issue? They\u2019re the first stop.<\/li>\n<\/ul>\n\n\n\n<p>One engineer clocked 200+ meetings with a single customer in a year\u2014nuts but priceless:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clients got expert care.<\/li>\n\n\n\n<li>Engineers soaked in real-world feedback.<\/li>\n\n\n\n<li>Customer loyalty soared.<\/li>\n<\/ul>\n\n\n\n<p>That client is now migrating massive Aurora clusters over to TiDB.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Value of Customer Success<\/h3>\n\n\n\n<p>In hindsight:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customers are the real experts.<\/li>\n\n\n\n<li>Live business beats white-paper designs.<\/li>\n\n\n\n<li>Only by living on the front line can we build the DB people actually need.<\/li>\n<\/ul>\n\n\n\n<p>This ethos of customer success won us fans across the globe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-wrap: the Coder\u2019s Proudest Badge<\/h3>\n\n\n\n<p>Switching from tech-driven to customer-driven wasn\u2019t easy for a room full of engineers.<\/p>\n\n\n\n<p>But once we did, we saw it:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cCustomer success is a programmer\u2019s greatest pride.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Every thank-you, every ounce of trust, every business win\u2014that\u2019s our fuel.<\/p>\n\n\n\n<p>TiDB stands where it does today because we keep that flame lit\u2014and we\u2019ll keep building <em>only<\/em> for one goal: <strong>our customers\u2019 success<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"9_My_Ten-Year_Growth_Metamorphosis_from_Coder_to_Tech_Leader\"><\/span>9. My Ten-Year Growth: Metamorphosis from Coder to Tech Leader<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">A Decade as &#8220;First Employee&#8221;<\/h3>\n\n\n\n<p>Ten years ago I joined PingCAP as the very first full-time hire and lived through TiDB\u2019s entire zero-to-one journey. The company\u2019s turbo-charged growth yanked me through a massive personal transformation too.<\/p>\n\n\n\n<p>I started as a pure, code-loving engineer; today I steer the whole R&amp;D org. The ride has been equal parts challenge and reward.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">First Management Lesson: Respect Conway\u2019s Law<\/h3>\n\n\n\n<p>The first big principle I learned is Conway\u2019s Law:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cThe system mirrors the structure of the organization that built it.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Build a good product? First design the right org.<\/p>\n\n\n\n<p>Because TiDB is distributed, our org had to be distributed too\u2014cue extra headaches:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>People spread across multiple regions\u2014how do you keep comms tight?<\/li>\n\n\n\n<li>How do you kill info silos and keep teamwork humming?<\/li>\n<\/ul>\n\n\n\n<p>We stumbled plenty at first, but slowly cracked the code for high-efficiency async collaboration.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Art of Async: Code &amp; Docs Beat Meetings<\/h3>\n\n\n\n<p>In a global, distributed team you can\u2019t just book a meeting. We centered everything on <a href=\"https:\/\/github.com\/pingcap\/tidb\/\">GitHub<\/a>, fully async:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Every feature ships with clear docs.<\/li>\n\n\n\n<li>Every major design decision goes through an open design-doc review.<\/li>\n\n\n\n<li>Daily chatter lives in issues and pull requests.<\/li>\n<\/ul>\n\n\n\n<p>Turns out that\u2019s way more efficient than marathon Zoom sessions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Power of Terminology<\/h3>\n\n\n\n<p>At first we ignored terminology tooling. Chaos ensued:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A single term meant different things in different teams and time zones.<\/li>\n\n\n\n<li>We wasted hours just untangling concepts.<\/li>\n<\/ul>\n\n\n\n<p>I eventually led a terminology-standardization push. Once vocabulary aligned, comms sped up and teamwork smoothed out.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Level-up Challenge: from Team Lead to Head of Engineering<\/h3>\n\n\n\n<p>Climbing from IC to team lead was tough enough. Moving up to run multiple managers was a whole new beast:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I had to delegate and <strong>trust<\/strong>.<\/li>\n\n\n\n<li>Culture and morale mattered more than solving every technical bug myself.<\/li>\n\n\n\n<li>I had to think about motivating <em>my reports\u2019 reports<\/em> so the whole engine fired smoothly.<\/li>\n<\/ul>\n\n\n\n<p>Soft-skill territory\u2014way beyond raw tech chops.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Org Remake: Building a Product- and Customer-Success Culture<\/h3>\n\n\n\n<p>One giant takeaway:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Culture beats process.<\/li>\n\n\n\n<li>And the heart of that culture is <strong>customer success<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>We kept repeating in every meeting and review:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cEverything we do is for the customer\u2019s success.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>Over time the whole org absorbed it:<\/p>\n\n\n\n<p>We write code not for self-glory, but to nail real customer needs. Product quality\u2014and client happiness\u2014spiked.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Personal Reflection: What Makes a <em>Real<\/em> Tech Leader?<\/h3>\n\n\n\n<p>A decade in, I ask myself:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cWhat is a truly great tech manager?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>I used to think raw tech was enough. Now I know:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tech is table stakes.<\/li>\n\n\n\n<li>Communication, organization, empathy, and a customer lens matter just as much.<\/li>\n\n\n\n<li>A stellar tech leader codes, but also understands people, business, and clients.<\/li>\n<\/ul>\n\n\n\n<p>That\u2019s my single biggest takeaway.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-wrap: the Next Decade is Just Kicking off<\/h3>\n\n\n\n<p>TiDB\u2019s first decade took me from ordinary coder to leader in a global tech company.<\/p>\n\n\n\n<p>I\u2019ve witnessed the product go worldwide and watched myself morph from specialist to manager.<\/p>\n\n\n\n<p>Today, I still feel that spark:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I want to keep growing.<\/li>\n\n\n\n<li>I want to lead the team to even bigger wins.<\/li>\n\n\n\n<li>I want to become the best tech leader I can be.<\/li>\n<\/ul>\n\n\n\n<p>Just like that first day at PingCAP:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cMy next ten-year adventure is only beginning.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"10_See_You_in_Ten_Years%E2%80%94Onward_to_the_Next_Journey\"><\/span>10. See You in Ten Years\u2014Onward to the Next Journey<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>So that\u2019s the tale of TiDB and me over the last decade. Of course, ten years hold way more stories than I can fit here.<\/p>\n\n\n\n<p>Looking back, we hit plenty of surprises and challenges, but so many more joys and growth moments\u2014from Max\u2019s April-Fools-day DM to TiDB becoming a globally known <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/self-managed\/\">distributed database<\/a>; from chasing tech perfection to locking onto customer success; from a simple startup dream to a cloud-era, worldwide product.<\/p>\n\n\n\n<p>If I had to distill a few truths:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Open source<\/strong> is a belief system\u2014it won us trust fast.<\/li>\n\n\n\n<li><strong>Product focus + customer success<\/strong> is the true growth engine.<\/li>\n\n\n\n<li><strong>\ud655\uc7a5\uc131<\/strong> is more than tech; it\u2019s the backbone of growth and client wins.<\/li>\n\n\n\n<li><strong>Globalization<\/strong> is a mandatory quest\u2014and an unforgettable culture trek.<\/li>\n\n\n\n<li>A programmer\u2019s pride isn\u2019t lines of code\u2014it\u2019s customers winning because of your work.<\/li>\n\n\n\n<li>Growing from techie to manager hurts\u2014but teaches priceless non-code lessons.<\/li>\n<\/ul>\n\n\n\n<p>TiDB clocked its first ten years, and my journey is just warming up.<\/p>\n\n\n\n<p>I\u2019m sure the next decade will bring fresh growth, new challenges, and an unshakable commitment to helping customers thrive.<\/p>\n\n\n\n<p>Thanks to every customer, partner, and teammate who believed in us\u2014you made this ride possible.<\/p>\n\n\n\n<p>See you in ten more years!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"461\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19074241\/10-years-1024x461.png\" alt=\"TiDB 10 years\" class=\"wp-image-27402\" style=\"width:498px;height:auto\"\/><\/figure>\n<\/div>\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>From day one, PingCAP has been a company built by and for builders. In this special 10-year reflection, our very first employee and SVP of Product &amp; Engineering shares the raw, unfiltered journey behind TiDB\u2014from the first lines of Go code to running mission-critical workloads across the globe. We hope this inspires the next generation [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":27391,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[25],"tags":[147,9,111,31],"class_list":["post-27383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-company","tag-distributed-sql","tag-scalability","tag-tidb","tag-tidb-cloud"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png","author_info":{"display_name":"Siddon Tang","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/siddon-tang\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ten Years On, We Set Off Again: My Journey with TiDB<\/title>\n<meta name=\"description\" content=\"From open-source project to global distributed database, overcoming technical challenges and driving customer success.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ten Years On, We Set Off Again: My Journey with TiDB\" \/>\n<meta property=\"og:description\" content=\"From open-source project to global distributed database, overcoming technical challenges and driving customer success.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-20T02:23:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T09:43:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051244\/Build-together-beyond-decade-social-banner.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Siddon Tang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051244\/Build-together-beyond-decade-social-banner.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Siddon Tang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"25\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\"},\"author\":{\"name\":\"Siddon Tang\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/bf9e2b12ee766148f14e18ebe395d94c\"},\"headline\":\"Ten Years On, We Set Off Again: My Journey with TiDB\",\"datePublished\":\"2025-05-20T02:23:27+00:00\",\"dateModified\":\"2025-11-14T09:43:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\"},\"wordCount\":5038,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png\",\"keywords\":[\"Distributed SQL\",\"Scalability\",\"TiDB\",\"TiDB Cloud\"],\"articleSection\":[\"Company\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\",\"name\":\"Ten Years On, We Set Off Again: My Journey with TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png\",\"datePublished\":\"2025-05-20T02:23:27+00:00\",\"dateModified\":\"2025-11-14T09:43:56+00:00\",\"description\":\"From open-source project to global distributed database, overcoming technical challenges and driving customer success.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png\",\"width\":2560,\"height\":853,\"caption\":\"Build together beyond decade\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ten Years On, We Set Off Again: My Journey with TiDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pingcap.com\/#website\",\"url\":\"https:\/\/www.pingcap.com\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pingcap.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pingcap.com\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\/\/www.pingcap.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/pingcap2015\",\"https:\/\/x.com\/PingCAP\",\"https:\/\/linkedin.com\/company\/pingcap\",\"https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/bf9e2b12ee766148f14e18ebe395d94c\",\"name\":\"Siddon Tang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"caption\":\"Siddon Tang\"},\"description\":\"Siddon Tang is the SVP of Product &amp; Engineering at PingCAP and one of the earliest engineers on the TiDB and TiKV projects. He has been instrumental in TiKV's storage engine design, leading the adoption of RocksDB and Rust for high-performance distributed storage. Before PingCAP, Siddon worked at Kingsoft and Tencent, and has authored several widely-used open-source projects including LedisDB, go-mysql, and go-mysql-elasticsearch. He is a frequent speaker at database and systems engineering events, including Percona Live and RocksDB meetups. On GitHub as @siddontang, he is an active contributor to the distributed systems community with a focus on Rust, Go, and storage engine internals.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/siddontang\/\"],\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/siddon-tang\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ten Years On, We Set Off Again: My Journey with TiDB","description":"From open-source project to global distributed database, overcoming technical challenges and driving customer success.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pingcap.com\/ko\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/","og_locale":"ko_KR","og_type":"article","og_title":"Ten Years On, We Set Off Again: My Journey with TiDB","og_description":"From open-source project to global distributed database, overcoming technical challenges and driving customer success.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2025-05-20T02:23:27+00:00","article_modified_time":"2025-11-14T09:43:56+00:00","og_image":[{"width":1600,"height":800,"url":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051244\/Build-together-beyond-decade-social-banner.jpg","type":"image\/jpeg"}],"author":"Siddon Tang","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051244\/Build-together-beyond-decade-social-banner.jpg","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Siddon Tang","Est. reading time":"25\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/"},"author":{"name":"Siddon Tang","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/bf9e2b12ee766148f14e18ebe395d94c"},"headline":"Ten Years On, We Set Off Again: My Journey with TiDB","datePublished":"2025-05-20T02:23:27+00:00","dateModified":"2025-11-14T09:43:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/"},"wordCount":5038,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png","keywords":["Distributed SQL","Scalability","TiDB","TiDB Cloud"],"articleSection":["Company"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/","url":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/","name":"Ten Years On, We Set Off Again: My Journey with TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png","datePublished":"2025-05-20T02:23:27+00:00","dateModified":"2025-11-14T09:43:56+00:00","description":"From open-source project to global distributed database, overcoming technical challenges and driving customer success.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png","width":2560,"height":853,"caption":"Build together beyond decade"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Ten Years On, We Set Off Again: My Journey with TiDB"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]},{"@type":"Person","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/bf9e2b12ee766148f14e18ebe395d94c","name":"Siddon Tang","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","contentUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","caption":"Siddon Tang"},"description":"Siddon Tang is the SVP of Product &amp; Engineering at PingCAP and one of the earliest engineers on the TiDB and TiKV projects. He has been instrumental in TiKV's storage engine design, leading the adoption of RocksDB and Rust for high-performance distributed storage. Before PingCAP, Siddon worked at Kingsoft and Tencent, and has authored several widely-used open-source projects including LedisDB, go-mysql, and go-mysql-elasticsearch. He is a frequent speaker at database and systems engineering events, including Percona Live and RocksDB meetups. On GitHub as @siddontang, he is an active contributor to the distributed systems community with a focus on Rust, Go, and storage engine internals.","sameAs":["https:\/\/www.linkedin.com\/in\/siddontang\/"],"url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/siddon-tang\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"Build together beyond decade\" src=\"https:\/\/static.pingcap.com\/files\/2025\/05\/19051107\/Build-together-beyond-decade-banner-scaled.png\" loading=\"lazy\" width=2560 height=853 \/><\/div><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">Company<\/div><\/div><h5 class=\"card-resource__title\">Ten Years On, We Set Off Again: My Journey with TiDB<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/27383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=27383"}],"version-history":[{"count":20,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/27383\/revisions"}],"predecessor-version":[{"id":30476,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/27383\/revisions\/30476"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/27391"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=27383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=27383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=27383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}