{"id":1103,"date":"2019-01-24T00:00:00","date_gmt":"2019-01-24T00:00:00","guid":{"rendered":"https:\/\/en.pingcap.com\/blog\/tidb-3-0-beta-stability-at-scale\/"},"modified":"2024-07-16T04:51:47","modified_gmt":"2024-07-16T11:51:47","slug":"tidb-3-0-beta-stability-at-scale","status":"publish","type":"press-release","link":"https:\/\/www.pingcap.com\/ko\/press-release\/tidb-3-0-beta-stability-at-scale\/","title":{"rendered":"TiDB 3.0 Beta: Stability at Scale"},"content":{"rendered":"<p>Author: Li Shen, VP of Engineering at PingCAP<\/p>\n<p>Last weekend, PingCAP hosted the second annual TiDB DevCon in Beijing, with a packed crowd of more than <strong>700<\/strong> developers, customers, and contributors. Among the many announcements that were made on TiDB&#8217;s core product, roadmap, and ecosystem was the release of TiDB 3.0 beta. Here&#8217;s a rundown of the highlights.<\/p>\n<h2>TiDB 3.0 Beta: Key New Features<\/h2>\n<p>TiDB is an open-source NewSQL Hybrid Transactional and Analytical Processing (HTAP) database with MySQL compatibility \u2013 one of the most popular and active database products on GitHub. It is designed to provide elastic horizontal scalability, strong consistency, and high availability. In TiDB&#8217;s previous <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-2.1-ga-Battle-tested-to-handle-an-unpredictable-world\/\">2.1 GA release<\/a> in November 2018, we made major improvements in areas like our cost-based optimizer, query plan executor, Raft implementation (including pre-vote, learner and region merge), and concurrent online DDL. You can read about the details of that release in our <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-2.1-ga-Battle-tested-to-handle-an-unpredictable-world\/\">announcement post<\/a>.<\/p>\n<p>As our team brainstormed and roadmapped TiDB&#8217;s future, taking in valuable suggestions from hundreds of companies using TiDB in production, we arrived at a common theme: not only should TiDB deliver &#8220;SQL at scale,&#8221; it should also deliver &#8220;stability at scale.&#8221; To achieve this end, we decided to build the following improvements in TiDB 3.0:<\/p>\n<p><strong>Multi-thread Raftstore:<\/strong> As you may know, the consensus algorithm that underpins TiDB&#8217;s strong consistency and high availability characteristics is Raft. As a distributed database serves more production traffic, concurrency increases and Raft becomes a bottleneck that can impact performance due to limitations in Raft&#8217;s original design. Thus, we built a new implementation where multiple Raft communication threads can be processed concurrently, leading to improved performance. Based on our internal testing, in TiDB with multi-thread raftstore <code>INSERT<\/code> performance increases as concurrency increases. We will release additional benchmark information soon for those interested in reproducing what we see.<\/p>\n<div class=\"trackable-btns\"><a href=\"\/ko\/download\/\"><button>Download TiDB<\/button><\/a><br \/>\n<a href=\"https:\/\/share.hsforms.com\/1e2W03wLJQQKPd1d9rCbj_Q2npzm\"><button>Subscribe to Blog<\/button><\/a><\/div>\n<p><strong>Batch Message in gRPC:<\/strong> We use gRPC extensive inside the TiDB platform to execute communications between its various components, i.e. TiDB server, TiKV, Placement Driver, etc. While gRPC is easy to use and feature rich, it does create performance bottlenecks. To improve performance, we batch gRPC messages that are going to the same destination in a queue, with a timer that detects whether the receiver side is busy. If not, send the message immediately, and only triggers batch message when the receiver is too busy.<\/p>\n<p><strong>Query Tracing:<\/strong> One of our big goals in 3.0 besides bringing stability at scale is improving usability, and one important element of the usability is diagnosing and debugging queries. Even though we improved the readability of EXPLAIN and EXPLAIN ANALYZE in <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/tidb-2.1-ga-Battle-tested-to-handle-an-unpredictable-world\/\">TiDB 2.1<\/a>, there&#8217;s more we can do to make DBAs&#8217;, architects&#8217;, and DevOps&#8217; lives easier. Thus, we implemented Query Tracing, which is a much more clear, visual, and intuitive way to identify which part(s) of a query is slow or causing issues, making diagnosis and debugging a breeze.<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1064\" height=\"670\" class=\"wp-image-1105\" src=\"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png\" alt=\"Query Tracing screenshot\" srcset=\"https:\/\/static.pingcap.com\/files\/2019\/01\/query-tracing-screenshot.png 1064w, https:\/\/static.pingcap.com\/files\/2019\/01\/query-tracing-screenshot-300x189.png 300w, https:\/\/static.pingcap.com\/files\/2019\/01\/query-tracing-screenshot-1024x645.png 1024w, https:\/\/static.pingcap.com\/files\/2019\/01\/query-tracing-screenshot-768x484.png 768w\" sizes=\"auto, (max-width: 1064px) 100vw, 1064px\" \/>\n<div class=\"caption-center\">Query Tracing screenshot<\/div>\n<p>Of course, these aren&#8217;t the only new features. TiDB 3.0 beta also includes the following, which we will write more about in the future:<\/p>\n<ul>\n<li>Window Functions<\/li>\n<li>Views<\/li>\n<li>Table Partitioning (Hash\/Range Partition)<\/li>\n<li>Restore Dropped Table<\/li>\n<li>TitanDB Storage Engine (Experimental)<\/li>\n<li>Distributed Garbage Collection<\/li>\n<\/ul>\n<p>We will write more deep dive blog posts on each of these developments soon. And while we don&#8217;t recommend that users deploy 3.0 beta in production, we are working hard with the help of the TiDB community to bring 3.0 to GA status by mid-2019. For details of the current release, please see our <a href=\"https:\/\/www.pingcap.com\/ko\/docs\/releases\/3.0beta\/\">release notes<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>This post introduces the key new features of TiDB 3.0 Beta.<\/p>","protected":false},"featured_media":0,"template":"","class_list":["post-1103","press-release","type-press-release","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TiDB 3.0 Beta: Stability at Scale | TiDB<\/title>\n<meta name=\"description\" content=\"TiDB 3.0 Beta is here! Experience Stability at Scale with our open-source HTAP database with MySQL compatibility.\" \/>\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\/press-release\/tidb-3-0-beta-stability-at-scale\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TiDB 3.0 Beta: Stability at Scale | TiDB\" \/>\n<meta property=\"og:description\" content=\"TiDB 3.0 Beta is here! Experience Stability at Scale with our open-source HTAP database with MySQL compatibility.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/press-release\/tidb-3-0-beta-stability-at-scale\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-16T11:51:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/\",\"url\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/\",\"name\":\"TiDB 3.0 Beta: Stability at Scale | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png\",\"datePublished\":\"2019-01-24T00:00:00+00:00\",\"dateModified\":\"2024-07-16T11:51:47+00:00\",\"description\":\"TiDB 3.0 Beta is here! Experience Stability at Scale with our open-source HTAP database with MySQL compatibility.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#primaryimage\",\"url\":\"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png\",\"contentUrl\":\"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Press Releases\",\"item\":\"https:\/\/www.pingcap.com\/press-releases-news\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"TiDB 3.0 Beta: Stability at Scale\"}]},{\"@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\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TiDB 3.0 Beta: Stability at Scale | TiDB","description":"TiDB 3.0 Beta is here! Experience Stability at Scale with our open-source HTAP database with MySQL compatibility.","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\/press-release\/tidb-3-0-beta-stability-at-scale\/","og_locale":"ko_KR","og_type":"article","og_title":"TiDB 3.0 Beta: Stability at Scale | TiDB","og_description":"TiDB 3.0 Beta is here! Experience Stability at Scale with our open-source HTAP database with MySQL compatibility.","og_url":"https:\/\/www.pingcap.com\/ko\/press-release\/tidb-3-0-beta-stability-at-scale\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_modified_time":"2024-07-16T11:51:47+00:00","og_image":[{"url":"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@PingCAP","twitter_misc":{"Est. reading time":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/","url":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/","name":"TiDB 3.0 Beta: Stability at Scale | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png","datePublished":"2019-01-24T00:00:00+00:00","dateModified":"2024-07-16T11:51:47+00:00","description":"TiDB 3.0 Beta is here! Experience Stability at Scale with our open-source HTAP database with MySQL compatibility.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#primaryimage","url":"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png","contentUrl":"https:\/\/www.pingcap.com\/core\/uploads\/2019\/01\/query-tracing-screenshot.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/press-release\/tidb-3-0-beta-stability-at-scale\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Press Releases","item":"https:\/\/www.pingcap.com\/press-releases-news\/"},{"@type":"ListItem","position":3,"name":"TiDB 3.0 Beta: Stability at Scale"}]},{"@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"]}]}},"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/press-release\/tidb-3-0-beta-stability-at-scale\/\"><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">2019-01-24<\/div><\/div><h5 class=\"card-resource__title\">TiDB 3.0 Beta: Stability at Scale<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/press-release\/1103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/press-release"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/press-release"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=1103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}