{"id":80,"date":"2018-12-11T00:00:00","date_gmt":"2018-12-11T00:00:00","guid":{"rendered":"https:\/\/en.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/"},"modified":"2024-05-20T08:29:04","modified_gmt":"2024-05-20T15:29:04","slug":"5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/","title":{"rendered":"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud"},"content":{"rendered":"\n<p>As businesses adopt cloud-native architectures, conversations will naturally lead to what we can do to make the database horizontally scalable. The answer will likely be to take a closer look at <a href=\"\/tidb\/\">TiDB<\/a>.<\/p>\n\n\n\n<p>TiDB is an open source NewSQL database released under the Apache 2.0 License. Because it speaks the MySQL protocol, your existing applications will be able to connect to it using any MySQL connector, and most SQL functionality remains identical (joins, subqueries, transactions, etc.).<\/p>\n\n\n\n<p>Step under the covers, however, and there are differences. If your architecture is based on MySQL with Read Replicas, you&#8217;ll see things work a little bit differently with TiDB. In this post, I&#8217;ll go through the top five key differences I&#8217;ve found between TiDB and MySQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_TiDB_natively_distributes_query_execution_and_storage\"><\/span>1. TiDB natively distributes query execution and storage<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>With MySQL, it is common to scale-out via replication. Typically you will have one MySQL primary with many secondaries, each with a complete copy of the data. Using either application logic or technology like <a href=\"https:\/\/proxysql.com\/\">ProxySQL<\/a>, queries are routed to the appropriate server (offloading queries from the primary to secondaries whenever it is safe to do so).<\/p>\n\n\n\n<p>Scale-out replication works very well for read-heavy workloads, as the query execution can be divided between replication secondaries. However, it becomes a bottleneck for write-heavy workloads, since each replica must have a full copy of the data. Another way to look at this is that MySQL Replication scales out SQL processing, but it does not scale out the storage. (By the way, this is true for traditional replication as well as newer solutions such as Galera Cluster and Group Replication.)<\/p>\n\n\n\n<p>TiDB works a little bit differently:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Query execution is handled via a layer of TiDB servers. Scaling out SQL processing is possible by adding new TiDB servers, which is very easy to do using Kubernetes <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/replicaset\/\">ReplicaSets<\/a>. This is because TiDB servers are <a href=\"https:\/\/en.wikipedia.org\/wiki\/State_(computer_science)\">stateless<\/a>; its <a href=\"https:\/\/github.com\/tikv\/tikv\/wiki\">TiKV<\/a> storage layer is responsible for all of the data persistence.<\/li>\n\n\n\n<li>The data for tables is automatically sharded into small chunks and distributed among TiKV servers. Three copies of each data Region (the TiKV name for a shard) are kept in the TiKV cluster, but no TiKV server requires a full copy of the data. To use MySQL terminology: Each TiKV server is both a primary and a secondary at the same time, since for some data Regions it will contain the primary copy, and for others, it will be secondary.<\/li>\n\n\n\n<li>TiDB supports queries across data Regions or, in MySQL terminology, cross-shard queries. The metadata about where the different Regions are located is maintained by the Placement Driver, the management server component of any TiDB Cluster. All operations are fully <a href=\"https:\/\/en.wikipedia.org\/wiki\/ACID_(computer_science)\">ACID<\/a> compliant, and an operation that modifies data across two Regions uses a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Two-phase_commit_protocol\">two-phase commit<\/a>.<\/li>\n<\/ul>\n\n\n\n<p>For MySQL users learning TiDB, a simpler explanation is the TiDB servers are like an intelligent proxy that translates SQL into batched key-value requests to be sent to TiKV. TiKV servers store your tables with range-based partitioning. The ranges automatically balance to keep each partition at 96MB (by default, but configurable), and each range can be stored on a different TiKV server. The Placement Driver server keeps track of which ranges are located where and automatically rebalances a range if it becomes too large or too hot.<\/p>\n\n\n\n<p>This design has several advantages of scale-out replication:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It independently scales the SQL Processing and Data Storage tiers. For many workloads, you will hit one bottleneck before the other.<\/li>\n\n\n\n<li>It incrementally scales by adding nodes (for both SQL and Data Storage).<\/li>\n\n\n\n<li>It utilizes hardware better. To scale out MySQL to one primary and four replicas, you would have five copies of the data. TiDB would use only three replicas, with hotspots automatically rebalanced via the Placement Driver.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_TiDBs_storage_engine_is_RocksDB\"><\/span>2. TiDB&#8217;s storage engine is RocksDB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MySQL&#8217;s default storage engine has been InnoDB since 2010. Internally, InnoDB uses a <a href=\"https:\/\/en.wikipedia.org\/wiki\/B%2B_tree\">B+tree<\/a> data structure, which is similar to what traditional commercial databases use.<\/p>\n\n\n\n<p>By contrast, TiDB uses RocksDB as the storage engine with TiKV. RocksDB has advantages for large datasets because it can compress data more effectively and insert performance does not degrade when indexes can no longer fit in memory.<\/p>\n\n\n\n<p>Note that both MySQL and TiDB support an API that allows new storage engines to be made available. For example, Percona Server and MariaDB both support RocksDB as an option.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_TiDB_gathers_metrics_in_PrometheusGrafana\"><\/span>3. TiDB gathers metrics in Prometheus\/Grafana<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Tracking key metrics is an important part of maintaining database health. MySQL centralizes these fast-changing metrics in Performance Schema. Performance Schema is a set of in-memory tables that can be queried via regular SQL queries.<\/p>\n\n\n\n<p>With TiDB, rather than retaining the metrics inside the server, a strategic choice was made to ship the information to a best-of-breed service. Prometheus+Grafana is a common technology stack among operations teams today, and the included graphs make it easy to create your own or configure thresholds for alarms.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_TiDB_handles_DDL_significantly_better\"><\/span>4. TiDB handles DDL significantly better<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If we ignore for a second that not all data definition language (DDL) changes in MySQL are online, a larger challenge when running a distributed MySQL system is externalizing schema changes on all nodes at the same time. Think about a scenario where you have 10 shards and add a column, but each shard takes a different length of time to complete the modification. This challenge still exists without sharding, since replicas will process DDL after a primary.<\/p>\n\n\n\n<p>TiDB implements online DDL using the protocol introduced by the Google F1 paper<sup>[1]<\/sup>. In short, DDL changes are broken up into smaller transition stages so they can prevent data corruption scenarios, and the system tolerates an individual node being behind up to one DDL version at a time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_TiDB_is_designed_for_HTAP_workloads\"><\/span>5. TiDB is designed for HTAP workloads<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The MySQL team has traditionally focused its attention on optimizing performance for <a href=\"https:\/\/en.wikipedia.org\/wiki\/Online_transaction_processing\">online transaction processing<\/a> (OLTP) queries. That is, the MySQL team spends more time making simpler queries perform better instead of making all or complex queries perform better. There is nothing wrong with this approach since many applications only use simple queries.<\/p>\n\n\n\n<p>TiDB is designed to perform well across <a href=\"https:\/\/en.wikipedia.org\/wiki\/Hybrid_transactional\/analytical_processing_(HTAP)\">hybrid transaction\/analytical processing<\/a> (HTAP) queries. This is a major selling point for those who want real-time analytics on their data because it eliminates the need for batch loads between their MySQL database and an analytics database.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>These are my top five observations based on 15 years in the MySQL world and coming to TiDB. While many of them refer to internal differences, I recommend checking out the TiDB documentation on <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/mysql-compatibility\">MySQL Compatibility<\/a>. It describes some of the finer points about any differences that may affect your applications.<\/p>\n\n\n\n<p>Note: The original version of this article was published on <a href=\"https:\/\/opensource.com\/article\/18\/11\/key-differences-between-mysql-and-tidb\">opensource.com<\/a><\/p>\n\n\n\n<p>[1] <a href=\"https:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/pubs\/archive\/41344.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">F1: A Distributed SQL Database That Scales<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post introduces the top five key differences between TiDB and MySQL.<\/p>","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[13],"tags":[15,14,9],"class_list":["post-80","post","type-post","status-publish","format-standard","hentry","category-product","tag-cloud","tag-mysql","tag-scalability"],"acf":[],"featured_image_src":null,"author_info":{"display_name":"Morgan Tocker","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/morgan-tocker\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>5 Key Differences Between MySQL and TiDB for Scaling in the Cloud | TiDB<\/title>\n<meta name=\"description\" content=\"This post introduces the top five key differences between TiDB and MySQL. You can check out the TiDB documentation on 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\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud | TiDB\" \/>\n<meta property=\"og:description\" content=\"This post introduces the top five key differences between TiDB and MySQL. You can check out the TiDB documentation on MySQL Compatibility.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\" \/>\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=\"2018-12-11T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-20T15:29:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"714\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Morgan Tocker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Tocker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\"},\"author\":{\"name\":\"Morgan Tocker\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/cdf1db19b20d2a42f9a69e615643517e\"},\"headline\":\"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud\",\"datePublished\":\"2018-12-11T00:00:00+00:00\",\"dateModified\":\"2024-05-20T15:29:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\"},\"wordCount\":1124,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"keywords\":[\"Cloud\",\"MySQL\",\"Scalability\"],\"articleSection\":[\"Product\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\",\"name\":\"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"datePublished\":\"2018-12-11T00:00:00+00:00\",\"dateModified\":\"2024-05-20T15:29:04+00:00\",\"description\":\"This post introduces the top five key differences between TiDB and MySQL. You can check out the TiDB documentation on MySQL Compatibility.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud\"}]},{\"@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\/cdf1db19b20d2a42f9a69e615643517e\",\"name\":\"Morgan Tocker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"caption\":\"Morgan Tocker\"},\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/morgan-tocker\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud | TiDB","description":"This post introduces the top five key differences between TiDB and MySQL. You can check out the TiDB documentation on 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\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/","og_locale":"ko_KR","og_type":"article","og_title":"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud | TiDB","og_description":"This post introduces the top five key differences between TiDB and MySQL. You can check out the TiDB documentation on MySQL Compatibility.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2018-12-11T00:00:00+00:00","article_modified_time":"2024-05-20T15:29:04+00:00","og_image":[{"width":1440,"height":714,"url":"https:\/\/static.pingcap.com\/files\/2024\/09\/11005522\/Homepage-Ad.png","type":"image\/png"}],"author":"Morgan Tocker","twitter_card":"summary_large_image","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Morgan Tocker","Est. reading time":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/"},"author":{"name":"Morgan Tocker","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/cdf1db19b20d2a42f9a69e615643517e"},"headline":"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud","datePublished":"2018-12-11T00:00:00+00:00","dateModified":"2024-05-20T15:29:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/"},"wordCount":1124,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"keywords":["Cloud","MySQL","Scalability"],"articleSection":["Product"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/","url":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/","name":"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"datePublished":"2018-12-11T00:00:00+00:00","dateModified":"2024-05-20T15:29:04+00:00","description":"This post introduces the top five key differences between TiDB and MySQL. You can check out the TiDB documentation on MySQL Compatibility.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"5 Key Differences Between MySQL and TiDB for Scaling in the Cloud"}]},{"@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\/cdf1db19b20d2a42f9a69e615643517e","name":"Morgan Tocker","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","contentUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","caption":"Morgan Tocker"},"url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/morgan-tocker\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/5-key-differences-between-mysql-and-tidb-for-scaling-in-the-cloud\/\"><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">Product<\/div><\/div><h5 class=\"card-resource__title\">5 Key Differences Between MySQL and TiDB for Scaling in the Cloud<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/80","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\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":4,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":16965,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/80\/revisions\/16965"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}