{"id":27383,"date":"2025-05-19T19:23:27","date_gmt":"2025-05-20T02:23:27","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=27383"},"modified":"2026-08-15T18:09:10","modified_gmt":"2026-08-16T01:09:10","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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\"><em><strong>Acknowledgments<\/strong><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">I believe these real stories have the most value, and they deserve to be told.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">My first reaction? \u201cAre you kidding?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Initially, I declined since the office was too far from home. But Max shocked me by saying, \u201cYou don\u2019t have to come to Beijing; work remotely.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">First decision: pick a language. Zero hesitation\u2014we went with Go.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">At one point, we chased <strong>100% test coverage<\/strong>. Nuts, but it caught buckets of bugs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><em>\u201cHow are we actually going to make money?\u201d<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Hardest mindset shift for an engineer? Moving from \u201ctech-driven\u201d to \u201ccustomer-driven.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Tiny flag, massive fallout\u2014some OSS users upgraded, performance tanked, businesses fell over.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Dear engineers:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Bigger scale \u2192 more users \u2192 bigger blast radius.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cTiDB now sits in truly core production paths.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">Early TiDB grew so fast we slid into a messy, chaotic state. Exhibit A: the 4.0 release.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">Looking back, our biggest blunder was running almost the whole company with <strong>zero PMs<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Funniest part? We bragged, <em>\u201cWho needs product managers\u2014devs are the best PMs!\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yeah, no. That idea was spectacularly stupid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cEngineers can\u2019t do everything; product needs dedicated owners.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">New headache: too many versions; customers puzzled over which to run; bug fixes meant constant cherry-picks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">We started asking:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201cWhat <strong>is<\/strong> a database, really?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cCloud DB? Easy\u2014spin TiDB up on the cloud. What\u2019s so hard?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Reality slapped us over and over: <strong>cloud database \u2260 lift-and-shift<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">As customers grew, local-disk ops alone could\u2019ve killed us.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">Traditional software: ship bits, customer runs it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cRunning service ops is ten times harder than writing software.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">A database isn\u2019t a random app\u2014you\u2019re asking people to hand over their crown-jewel data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">That same Japanese customer later filed a bug: \u201cOne TiKV node just died!\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cUh\u2026 that node\u2019s been up for <strong>three years<\/strong> straight.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">We once thought \u201cgoing global\u201d meant translating docs and flying a salesperson over.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Later we learned:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201cThe best globalization <strong>is<\/strong> localization.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Cultural gaps are huge. No matter how slick your tech, botch local support and customers will roast you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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>Set up global HQ in Sunnyvale, California, right in the heart of Silicon Valley.<\/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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cOne day maybe TiDB will sit in these glass cases.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">If that ever happens it\u2019ll mean TiDB has truly earned global respect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">Since day one at PingCAP, <strong>customer success<\/strong> has been the north star.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cShipping elegant, blazing-fast code <em>is<\/em> success.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><strong>Customer success.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Why hammer on customer success?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sure, customers paying us keeps the lights on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cCan you import a <strong>50-terabyte<\/strong> single table?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">We thought they were kidding. Early attempts failed, tension rose, deadline threats flew.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We bled over the code, optimized everything, and nailed it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then another client swaggered in: \u201cCool\u2014how about 100 TB?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks to the 50 TB battle scars, they got it done themselves.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cCan TiDB handle <em>one million<\/em> tables?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Jaw-drop moment. Regular OLTP setups never hit that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But in SaaS each tenant has its own DB schema; millions of tenants = millions of tables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We overhauled TiDB\u2019s internals\u2014schema layer, optimizer, memory footprint\u2014and hit the mark.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Switching from tech-driven to customer-driven wasn\u2019t easy for a room full of engineers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cCustomer success is a programmer\u2019s greatest pride.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Every thank-you, every ounce of trust, every business win\u2014that\u2019s our fuel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cThe system mirrors the structure of the organization that built it.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Build a good product? First design the right org.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cEverything we do is for the customer\u2019s success.\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Over time the whole org absorbed it:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\u201cWhat is a truly great tech manager?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">TiDB\u2019s first decade took me from ordinary coder to leader in a global tech company.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019ve witnessed the product go worldwide and watched myself morph from specialist to manager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">TiDB clocked its first ten years, and my journey is just warming up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Thanks to every customer, partner, and teammate who believed in us\u2014you made this ride possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><\/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":{"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 v28.2 - 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=\"2026-08-16T01:09:10+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=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"Siddon Tang\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\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\":\"2026-08-16T01:09:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pingcap.com\\\/blog\\\/ten-years-on-we-set-off-again-my-journey-with-tidb\\\/\"},\"wordCount\":5049,\"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\":\"2026-08-16T01:09:10+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:\\\/\\\/static.pingcap.com\\\/files\\\/2022\\\/10\\\/17234942\\\/avatar.jpg\",\"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\":\"SVP of Product &amp; Engineering\",\"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":"2026-08-16T01:09:10+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":{"\uae00\uc4f4\uc774":"Siddon Tang","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"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":"2026-08-16T01:09:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/ten-years-on-we-set-off-again-my-journey-with-tidb\/"},"wordCount":5049,"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":"2026-08-16T01:09:10+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:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","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":"SVP of Product &amp; Engineering","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":21,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/27383\/revisions"}],"predecessor-version":[{"id":34628,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/27383\/revisions\/34628"}],"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}]}}