{"id":19122,"date":"2024-08-26T22:11:33","date_gmt":"2024-08-27T05:11:33","guid":{"rendered":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/"},"modified":"2024-11-13T18:51:45","modified_gmt":"2024-11-14T02:51:45","slug":"mastering-data-sharding-in-distributed-systems-with-tidb","status":"publish","type":"article","link":"https:\/\/www.pingcap.com\/ko\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/","title":{"rendered":"Mastering Data Sharding in Distributed Systems with TiDB"},"content":{"rendered":"<h2><span class=\"ez-toc-section\" id=\"Importance_of_Data_Sharding_in_Large-Scale_Distributed_Systems\"><\/span>Importance of Data Sharding in Large-Scale Distributed Systems<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Overview of Data Sharding<\/h3>\n<p>Data sharding is a fundamental concept within large-scale distributed systems. At its core, sharding is the practice of partitioning a single logical dataset into smaller, more manageable pieces\u2014known as shards\u2014which are distributed across multiple database nodes. This method ensures that no single node becomes a bottleneck, thus facilitating improved performance, scalability, and reliability of the system.<\/p>\n<img decoding=\"async\" src=\"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg\" alt=\"A visual representation of data sharding, showing a dataset being divided into multiple shards spread across different nodes.\" \/>\n<p>A significant benefit of data sharding is its ability to horizontally scale databases. Unlike vertical scaling, which involves adding more resources to a single database server, horizontal scaling spreads the load across multiple servers. This approach allows systems to handle increased loads without hitting performance constraints.<\/p>\n<p>Furthermore, sharding enhances the fault tolerance of distributed systems. When data is divided among various nodes, the failure of a single node doesn&#8217;t lead to data loss or significant downtime. The system can seamlessly redirect queries to other operational nodes, maintaining service availability.<\/p>\n<h3>Challenges Without Data Sharding<\/h3>\n<p>Operating without data sharding in large-scale systems presents numerous challenges. As user traffic and data volume grow, scalability becomes a critical issue. Traditional database architectures that store all data on a single node struggle to handle high loads, leading to performance bottlenecks.<\/p>\n<p>These bottlenecks manifest in various ways, including slower query response times, increased latency, and diminished user experience. High throughput might overwhelm the database server, causing it to crash or become unresponsive, thus leading to potential data loss and extended downtime.<\/p>\n<p>Moreover, the absence of data sharding complicates maintenance and operations. Tasks such as backups, data migrations, and schema modifications become cumbersome and carry higher risks in a monolithic environment. Additionally, the lack of redundancy and fault tolerance can lead to complete service outages if the central database node fails.<\/p>\n<h3>Use Cases Demonstrating Sharding Needs<\/h3>\n<ol>\n<li><strong>E-commerce:<\/strong><br \/>\nE-commerce platforms face peak loads during sales events like Black Friday or Cyber Monday. Using data sharding, these platforms distribute user data, orders, and inventory across multiple nodes, ensuring that no single server becomes a choke point, thus delivering a seamless shopping experience.<\/li>\n<li><strong>Social Media:<\/strong><br \/>\nSocial media applications generate enormous amounts of data from user interactions, posts, comments, and media uploads. Sharding allows these applications to partition user data into more manageable chunks. This not only enhances performance but also ensures the responsiveness of the platform under high traffic conditions.<\/li>\n<li><strong>IoT Data Management:<\/strong><br \/>\nIoT devices produce massive streams of data from sensors and smart devices. Effective data sharding helps in managing and storing this data efficiently. By distributing data across multiple nodes, systems can process and analyze data in real-time, supporting use cases like smart cities, industrial automation, and healthcare monitoring.<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Leveraging_TiDB_for_Efficient_Data_Sharding\"><\/span>Leveraging TiDB for Efficient Data Sharding<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Architectural Advantages of TiDB<\/h3>\n<p>TiDB stands out in the landscape of distributed databases with its NewSQL model, which merges the relational characteristics of traditional SQL databases with the scalability of NoSQL systems.<\/p>\n<ol>\n<li><strong>Horizontal Scalability:<\/strong><br \/>\nTiDB&#8217;s architecture is inherently designed to grow with your needs. It allows seamless addition of new nodes to the cluster, efficiently balancing the load and redistributing data across the expanded infrastructure. This capability ensures that your application can handle increasing workloads without significant changes to the underlying architecture.<\/li>\n<li><strong>Strong Consistency:<\/strong><br \/>\nUnlike many NoSQL databases that sacrifice consistency for availability, TiDB achieves strong consistency through the use of the Raft consensus algorithm. This guarantees that every transaction either commits fully or rolls back entirely, ensuring data integrity and reliability.<\/li>\n<\/ol>\n<h3>Key Features Facilitating Sharding<\/h3>\n<ol>\n<li><strong>Automatic Data Distribution:<\/strong><br \/>\nTiDB automatically manages data sharding across its storage nodes (TiKV). When a TiKV node exceeds its data capacity, the system automatically splits regions and redistributes them to maintain balance. This mechanism simplifies the management of large datasets and reduces the manual overhead involved in balancing shards.<\/li>\n<li><strong>Global Transactions:<\/strong><br \/>\nTiDB supports ACID transactions across all nodes within the cluster. This is critical for applications requiring complex transactional operations, as it ensures consistency and integrity across distributed shards, even under concurrent workloads.<\/li>\n<li><strong>Online Scaling:<\/strong><br \/>\nOne of TiDB\u2019s most compelling features is online scaling. It facilitates the dynamic addition or removal of nodes without downtime, ensuring continuous service availability. This capability is invaluable for businesses experiencing growth or fluctuating traffic patterns.<\/li>\n<\/ol>\n<h3>Comparison with Other Sharding Solutions<\/h3>\n<ol>\n<li><strong>Traditional Databases:<\/strong><br \/>\nTraditional databases, particularly those dependent on vertical scaling, struggle with the limitations of single-node architectures. Sharding in such systems is often a manual and labor-intensive process, requiring extensive adjustments to applications and operational procedures.<\/li>\n<li><strong>Other Distributed SQL Databases:<\/strong><br \/>\nCompared to other distributed SQL databases, TiDB offers a more straightforward and robust solution for sharding and scaling. Its automatic data distribution, built-in global transactions, and online scaling mechanisms provide a smoother and more reliable experience. Furthermore, TiDB&#8217;s SQL compatibility ensures ease of integration and minimizes the learning curve for users familiar with traditional relational databases.<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Implementing_Data_Sharding_with_TiDB\"><\/span>Implementing Data Sharding with TiDB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Step-by-Step Guide to Setting Up Sharded Environment in TiDB<\/h3>\n<p>Implementing data sharding with TiDB involves several steps, each designed to prepare the infrastructure and optimize performance.<\/p>\n<h4>Pre-requisites<\/h4>\n<ol>\n<li><strong>Cluster Nodes:<\/strong><br \/>\nEnsure you have the necessary hardware or cloud instances ready to host TiDB&#8217;s components, including PD, TiKV, and TiDB itself.<\/li>\n<li><strong>Network Configuration:<\/strong><br \/>\nSecure and configure network settings to allow seamless communication between nodes.<\/li>\n<\/ol>\n<h4>Configuration<\/h4>\n<ol>\n<li><strong>Deploy TiDB Cluster:<\/strong><br \/>\nUsing TiUP, deploy the TiDB cluster with configuration settings that define the initial shard setup.<\/p>\n<div class=\"codehilite\">\n<pre><code>tiup cluster deploy tidb-cluster v4.0.0 topology.yaml --user tidb\n<\/code><\/pre>\n<\/div>\n<\/li>\n<li><strong>Schema Design:<\/strong><br \/>\nStart with an optimal schema designed for sharding. Define tables and choose appropriate primary keys or shard keys.<\/p>\n<div class=\"codehilite\">\n<pre><code><span class=\"k\">CREATE<\/span> <span class=\"k\">TABLE<\/span> <span class=\"n\">users<\/span> <span class=\"p\">(<\/span>\n  <span class=\"n\">user_id<\/span> <span class=\"nb\">BIGINT<\/span> <span class=\"n\">AUTO_INCREMENT<\/span><span class=\"p\">,<\/span>\n  <span class=\"n\">username<\/span> <span class=\"nb\">VARCHAR<\/span><span class=\"p\">(<\/span><span class=\"mi\">255<\/span><span class=\"p\">)<\/span> <span class=\"k\">NOT<\/span> <span class=\"k\">NULL<\/span><span class=\"p\">,<\/span>\n  <span class=\"k\">PRIMARY<\/span> <span class=\"k\">KEY<\/span> <span class=\"p\">(<\/span><span class=\"n\">user_id<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">);<\/span>\n<\/code><\/pre>\n<\/div>\n<\/li>\n<li><strong>Data Migration:<\/strong><br \/>\nUse tools like TiDB Data Migration (DM) to import existing data into the new sharded environment.<\/p>\n<div class=\"codehilite\">\n<pre><code><span class=\"nt\">task-mode<\/span><span class=\"p\">:<\/span> <span class=\"l l-Scalar l-Scalar-Plain\">all<\/span>\n<span class=\"nt\">mysql-instances<\/span><span class=\"p\">:<\/span>\n  <span class=\"p p-Indicator\">-<\/span> <span class=\"nt\">source-id<\/span><span class=\"p\">:<\/span> <span class=\"s\">\"mysql-01\"<\/span>\n    <span class=\"nt\">schema-pattern<\/span><span class=\"p\">:<\/span> <span class=\"s\">\"user*\"<\/span>\n    <span class=\"nt\">target-schema<\/span><span class=\"p\">:<\/span> <span class=\"s\">\"tidb_user\"<\/span>\n<\/code><\/pre>\n<\/div>\n<\/li>\n<\/ol>\n<h4>Deployment<\/h4>\n<ol>\n<li><strong>Monitor Deployment:<\/strong><br \/>\nEnsure deployment is successful by checking the status of the TiDB cluster and all its nodes.<\/p>\n<div class=\"codehilite\">\n<pre><code>tiup cluster display tidb-cluster\n<\/code><\/pre>\n<\/div>\n<\/li>\n<li><strong>Test Queries:<\/strong><br \/>\nRun initial queries to test data distribution and validate the sharding logic.<\/p>\n<div class=\"codehilite\">\n<pre><code><span class=\"k\">SELECT<\/span> <span class=\"o\">*<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">users<\/span> <span class=\"k\">WHERE<\/span> <span class=\"n\">user_id<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">12345<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<\/div>\n<\/li>\n<\/ol>\n<h3>Best Practices for Sharding Strategy<\/h3>\n<h4>Shard Key Design<\/h4>\n<ol>\n<li><strong>Uniform Distribution:<\/strong><br \/>\nChoose a shard key that ensures uniform distribution of data across nodes, preventing hotspots.<\/li>\n<li><strong>High Cardinality:<\/strong><br \/>\nPrefer shard keys with high cardinality (unique values) to maximize distribution efficiency.<\/li>\n<li><strong>Business Logic:<\/strong><br \/>\nConsider business-specific requirements. For example, in an e-commerce platform, shard by <code>order_id<\/code> to distribute transactions evenly.<\/li>\n<\/ol>\n<h4>Performance Optimization<\/h4>\n<ol>\n<li><strong>Optimize Queries:<\/strong><br \/>\nDesign queries to leverage shards effectively, avoiding operations that require coordination across multiple shards.<\/p>\n<div class=\"codehilite\">\n<pre><code><span class=\"k\">SELECT<\/span> <span class=\"k\">COUNT<\/span><span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"p\">)<\/span> <span class=\"k\">FROM<\/span> <span class=\"n\">orders<\/span> <span class=\"k\">WHERE<\/span> <span class=\"n\">order_id<\/span> <span class=\"k\">BETWEEN<\/span> <span class=\"mi\">1000<\/span> <span class=\"k\">AND<\/span> <span class=\"mi\">2000<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<\/div>\n<\/li>\n<li><strong>Indexing:<\/strong><br \/>\nCreate appropriate indexes on shard keys to speed up query performance.<\/p>\n<div class=\"codehilite\">\n<pre><code><span class=\"k\">CREATE<\/span> <span class=\"k\">INDEX<\/span> <span class=\"n\">idx_user_id<\/span> <span class=\"k\">ON<\/span> <span class=\"n\">orders<\/span><span class=\"p\">(<\/span><span class=\"n\">user_id<\/span><span class=\"p\">);<\/span>\n<\/code><\/pre>\n<\/div>\n<\/li>\n<li><strong>Monitor and Tweak:<\/strong><br \/>\nContinuously monitor system performance and adjust configurations as necessary based on workload changes.<\/li>\n<\/ol>\n<h4>Monitoring Tools<\/h4>\n<ol>\n<li><strong>Prometheus and Grafana:<\/strong><br \/>\nUse these tools to monitor cluster performance metrics, such as latency, throughput, and node health.<\/li>\n<li><strong>TiDB Dashboard:<\/strong><br \/>\nLeverage TiDB Dashboard for a comprehensive view of the system\u2019s operational metrics and health.<\/li>\n<\/ol>\n<h3>Case Studies Highlighting Successful Sharding Projects with TiDB<\/h3>\n<h4>Real-World Examples<\/h4>\n<ol>\n<li><strong>Lazada:<\/strong><br \/>\nLazada implemented TiDB to handle its massive e-commerce transactions, achieving improved performance and high availability.<\/li>\n<li><strong>BookMyShow:<\/strong><br \/>\nBy leveraging TiDB&#8217;s sharding capabilities, BookMyShow efficiently managed its large scale ticket booking data, leading to faster query responses and better user experience.<\/li>\n<\/ol>\n<h4>Measured Benefits<\/h4>\n<ol>\n<li><strong>Scalability:<\/strong><br \/>\nBoth Lazada and BookMyShow experienced significant scalability improvements, effortlessly handling peak loads.<\/li>\n<li><strong>Performance:<\/strong><br \/>\nQuery performance saw marked enhancements due to uniform data distribution and optimized query execution across shards.<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Data sharding is pivotal for scaling and managing large datasets in distributed systems. TiDB&#8217;s architecture, with its automatic data distribution, strong consistency, and seamless scalability, provides an effective platform for implementing sharding. By following best practices in shard key design, performance optimization, and leveraging robust monitoring tools, businesses can harness the full potential of TiDB for their data-intensive applications. Case studies from industry leaders underscore the practical benefits and transformative impact of TiDB&#8217;s data sharding capabilities, making it a compelling choice for modern database needs.<\/p>","protected":false},"excerpt":{"rendered":"<p>Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.<\/p>","protected":false},"author":8,"featured_media":0,"template":"","class_list":["post-19122","article","type-article","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>Mastering Data Sharding in Distributed Systems with TiDB | TiDB<\/title>\n<meta name=\"description\" content=\"Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.\" \/>\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\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mastering Data Sharding in Distributed Systems with TiDB | TiDB\" \/>\n<meta property=\"og:description\" content=\"Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/\" \/>\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-11-14T02:51:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg\" \/>\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=\"7\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/\",\"url\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/\",\"name\":\"Mastering Data Sharding in Distributed Systems with TiDB | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg\",\"datePublished\":\"2024-08-27T05:11:33+00:00\",\"dateModified\":\"2024-11-14T02:51:45+00:00\",\"description\":\"Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/www.pingcap.com\/article\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mastering Data Sharding in Distributed Systems 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\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mastering Data Sharding in Distributed Systems with TiDB | TiDB","description":"Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.","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\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/","og_locale":"ko_KR","og_type":"article","og_title":"Mastering Data Sharding in Distributed Systems with TiDB | TiDB","og_description":"Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.","og_url":"https:\/\/www.pingcap.com\/ko\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_modified_time":"2024-11-14T02:51:45+00:00","og_image":[{"url":"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@PingCAP","twitter_misc":{"Est. reading time":"7\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/","url":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/","name":"Mastering Data Sharding in Distributed Systems with TiDB | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg","datePublished":"2024-08-27T05:11:33+00:00","dateModified":"2024-11-14T02:51:45+00:00","description":"Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg","contentUrl":"https:\/\/static.pingcap.com\/files\/2024\/08\/26221045\/picturesimg-T3xEBHrnHNTMZMtgwAdlu4UH.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/www.pingcap.com\/article\/"},{"@type":"ListItem","position":3,"name":"Mastering Data Sharding in Distributed Systems 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"]}]}},"card_markup":"        <a class=\"card-article\" href=\"https:\/\/www.pingcap.com\/ko\/article\/mastering-data-sharding-in-distributed-systems-with-tidb\/\">            <h3>Mastering Data Sharding in Distributed Systems with TiDB<\/h3>            <p>Learn how data sharding enhances performance and scalability in distributed systems using TiDB. Includes use cases and implementation guide.<\/p>        <\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article\/19122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/8"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=19122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}