{"id":9964,"date":"2023-03-06T02:37:04","date_gmt":"2023-03-06T10:37:04","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=9964"},"modified":"2024-04-28T05:24:36","modified_gmt":"2024-04-28T12:24:36","slug":"disaster-recovery-for-distributed-databases-tidb-as-an-example","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/","title":{"rendered":"How Disaster Recovery (DR) Works in TiDB"},"content":{"rendered":"<p>In my previous post, we introduced <a href=\"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\">the evolution of disaster recovery (DR) technologies for databases<\/a>. In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TiDBs_storage_architecture\"><\/span>TiDB\u2019s storage architecture&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Before we deep dive into TiDB\u2019s DR solutions, let\u2019s explore what TiDB is and how it processes and stores data.&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/\">\ud2f0DB<\/a> is an open source, distributed SQL database with horizontal scalability, online transactional and analytical processing, and built-in high availability. It\u2019s also fully MySQL compatible and features strong consistency.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/pingcap\/tidb\">\ud2f0DB<\/a> is made up of the following key components:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Placement Driver (PD)<\/strong>: the brain of the whole TiDB system, which stores and manages the metadata, and sends data scheduling commands to TiKV.&nbsp;<\/li>\n\n\n\n<li><strong>TiDB server<\/strong>: a stateless SQL layer used for computing, SQL analysis, and transmitting requests to TiKV or TiFlash.&nbsp;<\/li>\n\n\n\n<li><strong>TiKV server:<\/strong> the row store.<\/li>\n\n\n\n<li><strong>TiFlash server<\/strong>: the columnar store.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"546\" src=\"https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9-1024x546.png\" alt=\"\" class=\"wp-image-11316\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9-1024x546.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9-300x160.png 300w, https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9-768x409.png 768w, https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9-1536x819.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9-1440x768.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/03\/22012029\/image-9.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Fig 1. TiDB\u2019s architecture<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>TiDB adopts the Raft consensus protocol. It distributes and stores multiple copies of the data (three copies by default) equally on different TiKV nodes. The smallest segment of the data stored on TiKV nodes is called a TiDB region.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TiDBs_DR_solutions\"><\/span>TiDB\u2019s DR solutions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To meet different customer needs, TiDB offers the following DR solutions:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TiCDC DR with a 1:1 architecture<\/li>\n\n\n\n<li>Multi-replica DR with a 2-2-1 architecture<\/li>\n\n\n\n<li>TiCDC DR with a 2-2-1:1 architecture<\/li>\n<\/ul>\n\n\n\n<p>What are these solutions? How do they achieve database failover? What scenarios are they most suitable for? We\u2019ll explore each one in the following sections.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">TiCDC DR with a 1:1 architecture&nbsp;<\/h3>\n\n\n\n<p><a href=\"https:\/\/docs.pingcap.com\/tidb\/dev\/ticdc-overview\">TiCDC<\/a> is TiDB\u2019s change data capture tool. It replicates TiDB\u2019s incremental data. In this architecture, there are two TiDB clusters deployed in two separate Regions. (Note: A \u201cRegion\u201d represents a geographical area.)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cluster 1<\/strong>, deployed in Region 1, has three data replicas and serves reads and writes.&nbsp;<\/li>\n\n\n\n<li><strong>Cluster 2<\/strong> is deployed in Region 2 and also has three data replicas. It serves as a DR cluster and can also handle read-only services with a slight delay. <a href=\"https:\/\/docs.pingcap.com\/tidb\/dev\/ticdc-overview\">TiCDC<\/a> synchronizes the data changes between the two clusters.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TiFlash server<\/strong>: the columnar store.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>synchronizes the data changes between the two clusters.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"936\" height=\"320\" src=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28052317\/TiCDC-DR-with-a-1-1-architecture-.jpg\" alt=\"\" class=\"wp-image-16516\" srcset=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28052317\/TiCDC-DR-with-a-1-1-architecture-.jpg 936w, https:\/\/static.pingcap.com\/files\/2024\/04\/28052317\/TiCDC-DR-with-a-1-1-architecture--300x103.jpg 300w, https:\/\/static.pingcap.com\/files\/2024\/04\/28052317\/TiCDC-DR-with-a-1-1-architecture--768x263.jpg 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Fig 2. TiCDC DR with a 1:1 architecture\u00a0<\/em><\/p>\n\n\n\n<p>This is TiDB\u2019s most recommended DR solution. It is available and reliable. It can realize single-region fault tolerance with second-level recovery point objective (RPO) and minute-level\u2014or even lower\u2014recovery time objective (RTO). If customers\u2019 requirements are single-region fault tolerance and none-zero RPO, this architecture is definitely more cost-effective. It also realizes read and write scalability on top of disaster recovery.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Multi-replica DR with a 2-2-1 architecture&nbsp;<\/h3>\n\n\n\n<p>The diagram below illustrates the 2-2-1 architecture. In it, the entire TiDB cluster spans three regions. Region 1 and 2 both contain two copies of data, and Region 3 has one. These data replicas are stored separately in different availability zones (AZs). In general, the network between AZs is fast and steady.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"936\" height=\"364\" src=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28052356\/Multi-replica-DR-with-a-2-2-1-architecture.jpg\" alt=\"\" class=\"wp-image-16517\" srcset=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28052356\/Multi-replica-DR-with-a-2-2-1-architecture.jpg 936w, https:\/\/static.pingcap.com\/files\/2024\/04\/28052356\/Multi-replica-DR-with-a-2-2-1-architecture-300x117.jpg 300w, https:\/\/static.pingcap.com\/files\/2024\/04\/28052356\/Multi-replica-DR-with-a-2-2-1-architecture-768x299.jpg 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Fig 3. Multi-replica DR with a 2-2-1 architecture<\/em><\/p>\n\n\n\n<p>In this architecture:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Region 1<\/strong> handles read and write requests.<\/li>\n\n\n\n<li><strong>Region 2<\/strong> is used for failover after a disaster occurs in Region 1. It can also cover some read loads that are not sensitive to latency.<\/li>\n\n\n\n<li><strong>Region 3<\/strong> is similar to a quorum replica that guarantees the Raft-based consensus protocol can be reached even when Region 1 is down.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>This architecture can target Region level fault tolerance, with zero RPO, and minute-level or even shorter RTO. If you need RPO=0, we recommend this DR solution.<\/p>\n\n\n\n<p>The biggest disadvantage of this solution is that the database response time will be impacted by the network latency between Region 1 and Region 2. This is because a transaction can not be returned after its data change is acknowledged by a TiKV node in Region 2.&nbsp;&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">TiCDC DR with a 2-2-1:1 architecture&nbsp;<\/h3>\n\n\n\n<p>In this architecture, there are two TiDB clusters. Cluster 1 includes five data replicas and spans three regions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Region 1<\/strong> contains two data replicas, which serve writing workloads.<\/li>\n\n\n\n<li><strong>Region 2<\/strong> has two replicas for DR in case Region 1 goes down. It can also serve some latency-insensitive reading requests.<\/li>\n\n\n\n<li><strong>Region 3<\/strong> stores the last data replica, which is used for voting.&nbsp;<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"936\" height=\"528\" src=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28052411\/TiCDC-DR-with-a-2-2-1-1-architecture.jpg\" alt=\"\" class=\"wp-image-16519\" srcset=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28052411\/TiCDC-DR-with-a-2-2-1-1-architecture.jpg 936w, https:\/\/static.pingcap.com\/files\/2024\/04\/28052411\/TiCDC-DR-with-a-2-2-1-1-architecture-300x169.jpg 300w, https:\/\/static.pingcap.com\/files\/2024\/04\/28052411\/TiCDC-DR-with-a-2-2-1-1-architecture-768x433.jpg 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>Fig 4. TiCDC DR with a 2-2-1:1 architecture\u00a0<\/em><\/p>\n\n\n\n<p>Cluster 2 is the DR cluster for Region 1 and 2. It contains three data replicas and runs in Region 3. Data changes are synchronized between the two clusters through <a href=\"https:\/\/docs.pingcap.com\/tidb\/dev\/ticdc-overview\">TiCDC<\/a>.<\/p>\n\n\n\n<p>This deployment looks complex. However, it can raise the fault tolerance target to multiple regions, with second-level RPO and minute-level RTO. <strong>If you want your system to achieve multi-region fault tolerance and do not require zero RPO, this solution is a perfect fit.&nbsp;<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summary of TiDB\u2019s key DR solutions<\/h3>\n\n\n\n<p>The below table summarizes the advantages and disadvantages of each solution.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>TiDB\u2019s DR solution<\/strong><\/td><td><strong>Advantages&nbsp;<\/strong><\/td><td><strong>Disadvantages<\/strong><\/td><\/tr><tr><td>TiCDC DR with a 1:1 architecture<\/td><td>Single-region fault tolerance<br>Second-level RPO<br>Minute-level or even lower RTO<br>More resilient than the 2-2-1 architecture&nbsp;<br>Read and write scalability<br>Cost-effective<\/td><td><br>Cannot survive multi-Region disasters<\/td><\/tr><tr><td>Multi-replica DR with a 2-2-1 architecture<\/td><td>Single-region fault tolerance<br>Zero RPO<br>Minute-level or even lower RTO<br>Cost-effective<\/td><td>Database response time regression<br>Cannot survive multi-region disasters<\/td><\/tr><tr><td>TiCDC DR with a 2-2-1:1 architecture<\/td><td>Multi-region fault tolerance<br>Second-level RPO<br>Minute-level RTO<\/td><td>Complex architecture<br>Costly&nbsp;&nbsp;&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Table 1. The advantages and limitations of TiDB\u2019s DR solutions&nbsp;<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>In addition to these DR solutions, TiDB provides a dual-site DR solution called DR Auto-sync.<strong> <\/strong>It is based on the Learner replica of Raft log and the <a href=\"https:\/\/docs.pingcap.com\/tidb\/dev\/backup-and-restore-overview\">Backup &amp; Restore (BR)<\/a>-based, dual-domain backup redundancy<strong> <\/strong>solution on TiDB Cloud. For more information about these two DR solutions and their disaster scenarios, refer to their <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/two-data-centers-in-one-city-deployment\">online documentation<\/a>.<\/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>In future articles, we\u2019ll compare TiDB\u2019s DR solutions with other distributed SQL databases. We\u2019ll also discuss what distributed SQL databases have brought to DR from a consensus protocol perspective, TiDB\u2019s unique approach, and TiDB\u2019s future plans for DR development. Stay tuned!&nbsp;<\/p>\n\n\n\n<p>If you have any questions or feedback about TiDB or its DR solutions, feel free to contact us through <a href=\"https:\/\/twitter.com\/PingCAP\">Twitter<\/a>, <a href=\"https:\/\/www.linkedin.com\/company\/pingcap\/mycompany\/\">LinkedIn<\/a>, or our <a href=\"https:\/\/slack.tidb.io\/invite?team=tidb-community&amp;channel=everyone&amp;ref=pingcap\">Slack Channel<\/a>. If you\u2019re interested in our products and services, you\u2019re welcome to <a href=\"https:\/\/www.pingcap.com\/ko\/demo\/\">request a demo<\/a> from one of our experts or start a <a href=\"https:\/\/tidbcloud.com\/free-trial?__hstc=86493575.113c97cd2b173d7e6a2403038a9e5de4.1675835806282.1675839294920.1676275112223.3&amp;__hssc=86493575.6.1676275112223&amp;__hsfp=2345601248\">free trial<\/a>.&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Keep reading:<\/strong><br><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/technical-paths-to-htap-greenplum-and-tidb-as-examples\/\">Technical Paths to HTAP: GreenPlum and TiDB as Examples<\/a><br><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/how-good-is-tidb-as-an-htap-system-a-hattrick-benchmark\/\">How Good is TiDB as an HTAP System? A HATtrick Benchmark<\/a><br><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/simplify-database-geo-redundancy-backup-with-cloud-storage-services\/\">Simplify Database Geo-redundancy Backup with Cloud Storage Services<\/a><br><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\">Disaster Recovery for Databases: How it Evolves Over Years<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0<\/p>","protected":false},"author":211,"featured_media":9998,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[13],"tags":[63,55,111],"class_list":["post-9964","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-product","tag-disaster-recovery","tag-high-availability","tag-tidb"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg","author_info":{"display_name":"Allen Gao","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/allen-gao\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Disaster Recovery (DR) Works in TiDB | TiDB<\/title>\n<meta name=\"description\" content=\"In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0\" \/>\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\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Disaster Recovery (DR) Works in TiDB | TiDB\" \/>\n<meta property=\"og:description\" content=\"In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\" \/>\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=\"2023-03-06T10:37:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T12:24:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023205\/20221110-183133-scaled.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1340\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Allen Gao\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023205\/20221110-183133-scaled.jpeg\" \/>\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=\"Allen Gao\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\"},\"author\":{\"name\":\"Allen Gao\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/b837db1474852bdf1cfb75c76d221e18\"},\"headline\":\"How Disaster Recovery (DR) Works in TiDB\",\"datePublished\":\"2023-03-06T10:37:04+00:00\",\"dateModified\":\"2024-04-28T12:24:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\"},\"wordCount\":1090,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg\",\"keywords\":[\"Disaster Recovery\",\"High Availability\",\"TiDB\"],\"articleSection\":[\"Product\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\",\"name\":\"How Disaster Recovery (DR) Works in TiDB | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg\",\"datePublished\":\"2023-03-06T10:37:04+00:00\",\"dateModified\":\"2024-04-28T12:24:36+00:00\",\"description\":\"In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg\",\"width\":2560,\"height\":853},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Disaster Recovery (DR) Works in 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\/b837db1474852bdf1cfb75c76d221e18\",\"name\":\"Allen Gao\",\"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\":\"Allen Gao\"},\"description\":\"TiDB Product Manager\",\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/allen-gao\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Disaster Recovery (DR) Works in TiDB | TiDB","description":"In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0","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\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/","og_locale":"ko_KR","og_type":"article","og_title":"How Disaster Recovery (DR) Works in TiDB | TiDB","og_description":"In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2023-03-06T10:37:04+00:00","article_modified_time":"2024-04-28T12:24:36+00:00","og_image":[{"width":2560,"height":1340,"url":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023205\/20221110-183133-scaled.jpeg","type":"image\/jpeg"}],"author":"Allen Gao","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023205\/20221110-183133-scaled.jpeg","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Allen Gao","Est. reading time":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/"},"author":{"name":"Allen Gao","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/b837db1474852bdf1cfb75c76d221e18"},"headline":"How Disaster Recovery (DR) Works in TiDB","datePublished":"2023-03-06T10:37:04+00:00","dateModified":"2024-04-28T12:24:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/"},"wordCount":1090,"commentCount":0,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg","keywords":["Disaster Recovery","High Availability","TiDB"],"articleSection":["Product"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/","url":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/","name":"How Disaster Recovery (DR) Works in TiDB | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg","datePublished":"2023-03-06T10:37:04+00:00","dateModified":"2024-04-28T12:24:36+00:00","description":"In this post, we\u2019ll focus on TiDB\u2019s DR solutions. We\u2019ll also analyze the pros and cons of these solutions as well as the most suitable deployment options.\u00a0","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg","contentUrl":"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg","width":2560,"height":853},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"How Disaster Recovery (DR) Works in 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\/b837db1474852bdf1cfb75c76d221e18","name":"Allen Gao","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":"Allen Gao"},"description":"TiDB Product Manager","url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/allen-gao\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-distributed-databases-tidb-as-an-example\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"20221110-183129\" src=\"https:\/\/static.pingcap.com\/files\/2022\/11\/10023154\/20221110-183129-scaled.jpeg\" loading=\"lazy\" width=2560 height=853 \/><\/div><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\">How Disaster Recovery (DR) Works in TiDB<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/9964","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\/211"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=9964"}],"version-history":[{"count":19,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/9964\/revisions"}],"predecessor-version":[{"id":16520,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/9964\/revisions\/16520"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/9998"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=9964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=9964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=9964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}