{"id":9632,"date":"2022-10-19T20:55:17","date_gmt":"2022-10-20T03:55:17","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=9632"},"modified":"2025-11-14T01:42:37","modified_gmt":"2025-11-14T09:42:37","slug":"disaster-recovery-for-databases-how-it-evolves-over-years","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/","title":{"rendered":"Disaster Recovery for Databases: How It Evolves over the Years"},"content":{"rendered":"<p>Disaster recovery (DR) is a core feature of enterprise-level databases. Database vendors are constantly looking to improve DR, and in the last 10 years they\u2019ve made major innovations.<\/p>\n\n\n\n<p>This article is a brief history of database DR, with an emphasis on DR and high availability (HA) innovations in cloud-based <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/self-managed\/\">distributed databases<\/a>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center has-vivid-cyan-blue-color has-text-color\">&gt;&gt; <span style=\"text-decoration: underline\"><strong><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/4466002\/81dcfa9c-f7f6-41fb-9e12-071702b8b582\">Download the IDC InfoBrief: Competing in the Digital-First Economy<\/a><\/strong> <\/span>&lt;&lt;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Measuring_HA_and_DR\"><\/span><strong>Measuring HA and DR<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The goal of HA and DR is to keep a system up and running at an operational level. They both try to eliminate single points of failure in the system and automate the failover or recovery process.&nbsp;<\/p>\n\n\n\n<p>High availability is usually measured by the percentage of time the system is up per year. Disaster recovery focuses on returning a system to service after a disaster with minimal data loss. This is measured by two metrics: <strong>the time it takes to recover or Recovery Time Objective (RTO), and the loss of data volume, or Recovery Point Objective (RPO). <\/strong>RPO and RTO should be reduced as much as possible.<\/p>\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=\"256\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200754\/image-114-1024x256.png\" alt=\"\" class=\"wp-image-11673\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200754\/image-114-1024x256.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200754\/image-114-300x75.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200754\/image-114-768x192.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200754\/image-114.png 1254w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>HA\/DR and their measurements&nbsp;<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Each disaster is unique, so Fault Tolerance Target (FTT) describes the maximum scope of disasters that the system can survive. A commonly-used FTT is the region level, which indicates that a disaster has impacted a geographic area like a state or city.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"A_brief_history_of_DR\"><\/span><strong>A brief history of DR<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Database DR technologies have gone through three stages: <strong>backup and restore, active-passive, and multi-active.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Backup and restore&nbsp;<\/strong><\/h3>\n\n\n\n<p>In the earliest stage of disaster recovery, databases leveraged data blocks and transaction logs to create a backup for full and incremental data. If a disaster occured, the database was restored from the backup and application transaction logs.&nbsp;<\/p>\n\n\n\n<p>In recent years, public cloud database services have combined storage replication with traditional database backup technologies and offered cross-region auto-recovery backup based on snapshots. This approach regularly generates snapshots from the database in the source region and replicates the snapshot files to the destination region. If the source region crashes, the database is recovered from the destination region, and the services will continue. <strong>The RTO and RPO of this solution can be as long as a few hours, so it is most appropriate for applications that don\u2019t have strict availability requirements.<\/strong><\/p>\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=\"588\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115-1024x588.png\" alt=\"\" class=\"wp-image-11674\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115-1024x588.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115-300x172.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115-768x441.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115-1536x882.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115-1440x827.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200807\/image-115.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>The backup and restore DR approach&nbsp;<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Active-passive DR<\/strong><\/h3>\n\n\n\n<p>Database clusters mark the second phase of development. In a cluster, a master node reads and writes data.&nbsp; One or more backup nodes receive the transaction logs and apply them, providing read capabilities with some delay.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"735\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116-1024x735.png\" alt=\"\" class=\"wp-image-11675\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116-1024x735.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116-300x215.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116-768x552.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116-1536x1103.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116-1440x1034.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200823\/image-116.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Active-passive DR<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Although this solution involves the concept of a cluster,&nbsp; it is still based on a monolithic database. The scalability is limited to read operations; it can\u2019t scale writes. <strong>Of course, compared with its predecessor, the RTO is reduced to a few minutes and the RPO a few seconds.&nbsp;<\/strong><\/p>\n\n\n\n<p>Amazon Aurora, which uses logical replication with cross-region read replicas, is one of the early cloud database services built on this technology.<\/p>\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=\"455\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117-1024x455.png\" alt=\"\" class=\"wp-image-11677\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117-1024x455.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117-300x133.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117-768x341.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117-1536x683.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117-1440x640.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/04\/17200834\/image-117.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Aurora logical replication with cross-region read replicas<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>In recent years, Aurora has built on this design and offered Global Database service. This service uses storage replication technology to asynchronously replicate data from a source region to a destination region. If the source region goes down, the service can immediately failover to the backup cluster. <strong>RTO can be reduced to a few minutes, and RPO is less than 1 second.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Multi-active disaster recovery<\/strong><\/h3>\n\n\n\n<p>In multi-active disaster recovery, a database provides at least three read and write service nodes for the same copy of the data, and the database can scale out or scale in based on the workload. The requirements behind this capability are from the widespread internet-scale applications, which requires higher performance, lower latency, higher availability, elastic scalability, and elasticity from a database.&nbsp;<\/p>\n\n\n\n<p>Multi-activeness took shape with traditional sharding databases, which shared data based on one or multiple columns. The sharding solution achieves DR through transaction logs replication. For example, Google once maintained an extremely large MySQL sharding system. This solution offers some level of scalability, but cannot improve the disaster recovery capability as shards increase. The performance will degrade significantly and the maintenance cost will soar. Therefore, sharding is a transitional solution for multi-activeness.<\/p>\n\n\n\n<p>In recent years, shared-nothing databases based on the Raft or Paxos consensus protocol developed quickly. They solved the scalability and availability challenges mentioned above. Key players in the multi-active era include <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/\">\ud2f0DB<\/a> and CockRoachDB. Their databases, along with their DR technologies, make most of the legacy databases and relational database services (RDS) obsolete.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"trackable-btns\">\n  <a href=\"https:\/\/share.hsforms.com\/1e2W03wLJQQKPd1d9rCbj_Q2npzm\" onclick=\"trackViews('Disaster Recovery for Databases: How it Evolves Over Years', 'subscribe-blog-btn-middle')\"><button>Subscribe to Blog<\/button><\/a>\n  <a href=\"\/ko\/contact-us\/\" onclick=\"trackViews('Disaster Recovery for Databases: How it Evolves Over Years', 'contact-us-middle')\"><button>Request a Demo<\/button><\/a>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Multi-active_DR_with_a_distributed_database\"><\/span><strong>Multi-active DR with a distributed database&nbsp;<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Let\u2019s look at multi-active DR as it applies to distributed databases. For example, <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/\">\ud2f0DB<\/a> is an open source and highly available <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/self-managed\/\">distributed database<\/a>. It divides each table or partition into smaller TiDB regions and stores multiple copies of the data in those TiDB regions on different TiKV nodes. This is called data redundancy. TiDB adopts the Raft consensus protocol, so when the data changes, the transaction commit is only returned when the transaction log is synchronized to the majority of the data copies. This greatly improves database RPO. In fact, in most cases the RPO is 0. This ensures data consistency. In addition, TiDB\u2019s architecture separates its storage and computing engines. This allows users to scale TiDB nodes and TiKV storage nodes in or out as their workloads change.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"457\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17201033\/image-118-1024x457.png\" alt=\"\" class=\"wp-image-11678\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17201033\/image-118-1024x457.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201033\/image-118-300x134.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201033\/image-118-768x343.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201033\/image-118.png 1294w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>TiDB\u2019s storage architecture&nbsp;<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>A typical multi-Region DR solution<\/strong><\/h3>\n\n\n\n<p>The following diagram shows how TiDB delivers a typical multi-Region disaster recovery solution.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"419\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17201049\/image-119-1024x419.png\" alt=\"\" class=\"wp-image-11679\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17201049\/image-119-1024x419.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201049\/image-119-300x123.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201049\/image-119-768x314.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201049\/image-119-1440x589.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201049\/image-119.png 1452w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>TiDB\u2019s multi-region disaster recovery solution&nbsp;<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>These are key terms for the TiDB DR architecture:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TiDB region<\/strong>: TiDB\u2019s scheduling and storage unit.&nbsp;<\/li>\n\n\n\n<li><strong>Region<\/strong>: two sites or cities.&nbsp;<\/li>\n\n\n\n<li><strong>Availability zone (AZ)<\/strong>: an independent HA zone. In most cases, an AZ is two data centers or cities that are closer to each other in a Region.<\/li>\n\n\n\n<li><strong>L<\/strong>: the Leader replica in a Raft group&nbsp;<\/li>\n\n\n\n<li><strong>F<\/strong>: the Follower replica in a Raft group&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>In the figure above, each Region contains two replicas of the data. They are located in different AZs, and the entire cluster spans three Regions. Region 1 usually processes read and write requests. Region 2 is used for failover after a disaster occurs in Region 1, and it can also process some read loads that are not sensitive to latency. Region 3 is the replica that guarantees consensus can be still reached even when Region 1 is down. This typical configuration is referred to as an \u201c2-2-1\u201d architecture. This architecture not only ensures disaster recovery, but gives the business multi-active capability. In this architecture:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The largest fault tolerance target can be at the Region level.<\/li>\n\n\n\n<li>The writing capability can be expanded.<\/li>\n\n\n\n<li>The RPO is 0.<\/li>\n\n\n\n<li>The RTO can be set to one minute or even less.<\/li>\n<\/ul>\n\n\n\n<p>This architecture has been frequently recommended by many distributed database vendors to their users as a disaster recovery solution. For example, CockroachDB recommends their 3-3-3 configuration to achieve Region-level disaster recovery; Spanner provides a 2-2-1 configuration for multi-Region deployment. However, this solution won\u2019t guarantee high availability when Regions 1 and 2 are unavailable at the same time. Once Region 1 is completely down, if any storage node on Region 2 has a problem, the system might suffer performance degradation and even data loss. If you require a multi-Region level of FTT, or strict system response time, it is still necessary to combine this solution with transaction log replication technology.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enhanced multi-Region DR with change data capture<\/strong><\/h3>\n\n\n\n<p>TiCDC is an incremental data replication tool for TiDB. It fetches data changes on TiKV nodes and synchronizes them with downstream systems. TiCDC has a similar architecture to transaction log replication systems, but it is more scalable and works well with TiDB in disaster recovery scenarios.&nbsp;<\/p>\n\n\n\n<p>The following configuration contains two TiDB clusters. Region 1 and Region 2 together form Cluster 1, which is a 5-replica cluster. Region 1 contains two replicas for serving read and write operations, and Region 2 contains two replicas for quick failover in case of a disaster in Region 1. Region 3 contains one replica for reaching the quorum among the Raft group. Cluster 2 in Region 3 functions as the disaster recovery cluster. It contains three replicas to provide quick failover in the event of a disaster in both Region 1 and Region 2. TiCDC handles the synchronization of data changes between the two clusters. This enhanced architecture can be referred to as 2-2-1:1.&nbsp;<\/p>\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=\"581\" src=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17201109\/image-120-1024x581.png\" alt=\"\" class=\"wp-image-11680\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/04\/17201109\/image-120-1024x581.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201109\/image-120-300x170.png 300w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201109\/image-120-768x436.png 768w, https:\/\/static.pingcap.com\/files\/2023\/04\/17201109\/image-120.png 1414w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>TiDB multi-region DR with TiCDC&nbsp;<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>This seemingly complex configuration actually has higher availability. It can achieve a maximum fault tolerance target at a multi-region level, with RPO in seconds and RTO in minutes. For a single Region, the RPO is 0 in the event of complete unavailability. This solution combines the advantages of distributed databases with the experience of traditional database disaster recovery. And it is more pragmatic Compared with the multiple-replica-based disaster recovery solutions by CockroahDB or Spanner, this solution is more practical.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comparing the DR solutions<\/strong><\/h3>\n\n\n\n<p>In the following table, we have compared the DR solutions mentioned in this article:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><\/td><td>TCO<\/td><td>FTT<\/td><td>RPO<\/td><td>RTO<\/td><\/tr><tr><td>Snapshot-based cross-region data backup and restore by Aurora&nbsp;<\/td><td>Low<\/td><td>Region<\/td><td>Hours&nbsp;&nbsp;<\/td><td>Hours<\/td><\/tr><tr><td>Aurora logical replication with cross-region read replicas<\/td><td>Medium<\/td><td>Region<\/td><td>Seconds<\/td><td>Minutes<\/td><\/tr><tr><td>Aurora Global Database<\/td><td>Medium<\/td><td>Region<\/td><td>Less than a second&nbsp;<\/td><td>Minutes<\/td><\/tr><tr><td>TiDB (2-2-1)<\/td><td>High<\/td><td>Region<\/td><td>Less than a second<\/td><td>Minutes<\/td><\/tr><tr><td>TiDB (2-2-1:1)<\/td><td>High<\/td><td>Multi-Region<\/td><td>Seconds<\/td><td>Minutes<\/td><\/tr><tr><td>Cockroach DB (3-3-3)<\/td><td>Higher&nbsp;<\/td><td>Region<\/td><td>Less than a second<\/td><td>Minutes<\/td><\/tr><tr><td>Cockroach DB (3-3-3-3-3)<\/td><td>Very high&nbsp;<\/td><td>Multi-Region<\/td><td>Less than a second<\/td><td>Minutes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span><strong>Summary<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>After more than 30 years and several distinct stages of development, DR technologies have entered the multi-active phase.<\/p>\n\n\n\n<p>Using a shared-nothing architecture, <a href=\"https:\/\/www.pingcap.com\/ko\/tidb\/self-managed\/\">distributed databases<\/a> like TiDB combine multiple-replica technology and log replication tools, and move database DR into the multi-region age.\u00a0<\/p>\n\n\n\n<p>If you\u2019d like to explore database disaster recovery in more detail, we\u2019d enjoy hearing from you. Feel free to contact us through <a href=\"https:\/\/twitter.com\/PingCAP\">Twitter<\/a> or our <a href=\"https:\/\/slack.tidb.io\/invite?team=tidb-community&amp;channel=everyone&amp;ref=pingcap-blog\">Slack channel<\/a>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Keep reading:<\/strong>&nbsp;<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><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Edited by<\/strong>: <a href=\"http:\/\/github.com\/dcalvin\">Calvin Weng<\/a>, <a href=\"http:\/\/github.com\/septemberfd\">Fendy Feng<\/a>, <a href=\"http:\/\/github.com\/xu98248\">Lijia Xu<\/a>, Tom Dewan<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations. <\/p>","protected":false},"author":211,"featured_media":9661,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[145],"tags":[63,55,111],"class_list":["post-9632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-thought-leadership","tag-disaster-recovery","tag-high-availability","tag-tidb"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-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>Disaster Recovery for Databases: How It Evolves over the Years | TiDB<\/title>\n<meta name=\"description\" content=\"In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations.\" \/>\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-databases-how-it-evolves-over-years\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Disaster Recovery for Databases: How It Evolves over the Years | TiDB\" \/>\n<meta property=\"og:description\" content=\"In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\" \/>\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=\"2022-10-20T03:55:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T09:42:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2022\/10\/19232827\/20221020-142748-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\/10\/19232827\/20221020-142748-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=\"8\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-databases-how-it-evolves-over-years\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\"},\"author\":{\"name\":\"Allen Gao\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/b837db1474852bdf1cfb75c76d221e18\"},\"headline\":\"Disaster Recovery for Databases: How It Evolves over the Years\",\"datePublished\":\"2022-10-20T03:55:17+00:00\",\"dateModified\":\"2025-11-14T09:42:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\"},\"wordCount\":1708,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg\",\"keywords\":[\"Disaster Recovery\",\"High Availability\",\"TiDB\"],\"articleSection\":[\"Thought Leadership\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\",\"name\":\"Disaster Recovery for Databases: How It Evolves over the Years | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg\",\"datePublished\":\"2022-10-20T03:55:17+00:00\",\"dateModified\":\"2025-11-14T09:42:37+00:00\",\"description\":\"In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg\",\"width\":2560,\"height\":853},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Disaster Recovery for Databases: How It Evolves over the Years\"}]},{\"@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":"Disaster Recovery for Databases: How It Evolves over the Years | TiDB","description":"In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations.","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-databases-how-it-evolves-over-years\/","og_locale":"ko_KR","og_type":"article","og_title":"Disaster Recovery for Databases: How It Evolves over the Years | TiDB","og_description":"In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2022-10-20T03:55:17+00:00","article_modified_time":"2025-11-14T09:42:37+00:00","og_image":[{"width":2560,"height":1340,"url":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232827\/20221020-142748-scaled.jpeg","type":"image\/jpeg"}],"author":"Allen Gao","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232827\/20221020-142748-scaled.jpeg","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Allen Gao","Est. reading time":"8\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/"},"author":{"name":"Allen Gao","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/b837db1474852bdf1cfb75c76d221e18"},"headline":"Disaster Recovery for Databases: How It Evolves over the Years","datePublished":"2022-10-20T03:55:17+00:00","dateModified":"2025-11-14T09:42:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/"},"wordCount":1708,"commentCount":0,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg","keywords":["Disaster Recovery","High Availability","TiDB"],"articleSection":["Thought Leadership"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/","url":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/","name":"Disaster Recovery for Databases: How It Evolves over the Years | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg","datePublished":"2022-10-20T03:55:17+00:00","dateModified":"2025-11-14T09:42:37+00:00","description":"In this post, you\u2019ll learn the development of disaster recovery technologies and the databases that adopt those innovations.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg","contentUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-scaled.jpeg","width":2560,"height":853},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/disaster-recovery-for-databases-how-it-evolves-over-years\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Disaster Recovery for Databases: How It Evolves over the Years"}]},{"@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-databases-how-it-evolves-over-years\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"DR without logo\" src=\"https:\/\/static.pingcap.com\/files\/2022\/10\/19232841\/20221020-142742-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\">Thought Leadership<\/div><\/div><h5 class=\"card-resource__title\">Disaster Recovery for Databases: How It Evolves over the Years<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/9632","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=9632"}],"version-history":[{"count":13,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/9632\/revisions"}],"predecessor-version":[{"id":30475,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/9632\/revisions\/30475"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/9661"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=9632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=9632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=9632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}