📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB災害復旧ソリューションの概要



このドキュメントでは、TiDBが提供するディザスタリカバリ(DR)ソリューションについて説明します。このドキュメントの構成は以下のとおりです。

  • DR(遠隔医療)の基本概念について説明します。
  • TiDB、TiCDC、およびバックアップ&リストア( BR )のアーキテクチャを紹介します。
  • TiDBが提供する災害復旧ソリューションについて説明します。
  • これらの災害復旧ソリューションを比較します。

基本概念

  • RTO(復旧目標時間):システムが災害から復旧するのに必要な時間。
  • RPO(復旧目標時点):企業が災害時に許容できる最大データ損失量。

次の図は、これら2つの概念を示しています。

RTO and RPO

  • 許容誤差目標:災害は様々な地域に影響を与える可能性があるため、本ドキュメントでは、システムが許容できる災害の最大範囲を表す用語として「許容誤差目標」を使用します。
  • リージョン:この文書は地域的な災害復旧に焦点を当てており、ここで言及されている「地域」とは地理的な区域または都市を指します。

コンポーネントアーキテクチャ

具体的なDRソリューションを紹介する前に、このセクションではTiDB、TiCDC、 BRを含むTiDBコンポーネントのアーキテクチャをDRの観点から紹介します。

TiDB

TiDB architecture

TiDBは、コンピューティングとstorageを分離したアーキテクチャで設計されています。

  • TiDBは、システムのSQLコンピューティングレイヤーです。
  • TiKVはシステムのstorageレイヤーであり、行ベースのstorageエンジンです。リージョンTiKVにおけるデータスケジューリングの基本単位です。リージョンは、ソートされたデータ行の集合です。リージョン内のデータは少なくとも3つのレプリカに保存され、データの変更はRaftプロトコルを介してログレイヤーに複製されます。
  • オプションコンポーネントTiFlashは、分析クエリの高速化に使用できるカラム型storageエンジンです。データは、 Raftグループの学習者ロールを介してTiKVからTiFlashに複製されます。

TiDBは3つの完全なデータレプリカを保存します。そのため、複数のレプリカに基づく災害復旧(DR)を自然に実現できます。同時に、TiDBはRaftログを使用してトランザクションログを複製するため、トランザクションログの複製に基づくDRも提供できます。

TiCDC

TiCDC architecture

TiDBの増分データレプリケーションツールとして、TiCDCはPDのetcdを介して高い可用性を実現します。TiCDCは複数のキャプチャプロセスを通じてTiKVノードからデータ変更を取得し、内部でデータ変更をソートおよびマージします。その後、TiCDCは複数のレプリケーションタスクを使用して、データを複数のダウンストリームシステムにレプリケートします。上記のアーキテクチャ図では、次のようになります。

  • TiKVサーバー:アップストリームのデータ変更をTiCDCノードに送信します。TiCDCノードは、変更ログが継続的でないことを検出すると、TiKVサーバーに変更ログの提供を積極的に要求します。
  • TiCDC:複数のキャプチャプロセスを実行します。各キャプチャプロセスは、KV変更ログの一部を取得し、取得したデータをソートしてから、変更内容をさまざまな下流システムに複製します。

前述のアーキテクチャ図からわかるように、TiCDCのアーキテクチャはトランザクションログレプリケーションシステムに似ていますが、より優れたスケーラビリティと論理データレプリケーションの利点を備えています。したがって、TiCDCは災害復旧シナリオにおいてTiDBを補完する優れたソリューションとなります。

BR

BR architecture

TiDBのバックアップおよび復元ツールとして、 BRは特定の時点に基づいた完全なスナップショットバックアップと、TiDBクラスタの継続的なログバックアップを実行できます。TiDBクラスタが完全に利用不能になった場合でも、バックアップファイルを新しいクラスタに復元できます。BRは通常、データセキュリティにおける最終手段とみなされます。

ソリューションの紹介

プライマリおよびセカンダリクラスタに基づくDRソリューション

Primary-secondary cluster DR

前述のアーキテクチャは、2つのTiDBクラスタで構成されています。クラスタ1はリージョン1で動作し、読み取りおよび書き込み要求を処理します。クラスタ2はリージョン2で動作し、セカンダリクラスタとして機能します。クラスタ1で障害が発生した場合、クラスタ2がサービスを引き継ぎます。データ変更は、TiCDCを使用して2つのクラスタ間で複製されます。このアーキテクチャは、「1対1」の災害復旧ソリューションとも呼ばれます。

このアーキテクチャはシンプルで可用性が高く、領域レベルのエラー許容目標、スケーラブルな書き込み機能、第 2 レベルの RPO、分単位以下の RTO を備えています。本番システムで RPO をゼロにする必要がない場合は、この DR ソリューションをお勧めします。このソリューションの詳細については、プライマリおよびセカンダリクラスタに基づくDRソリューション参照してください。

単一クラスター内の複数のレプリカに基づく災害復旧ソリューション

Multi-replica cluster DR

前述のアーキテクチャでは、各リージョンに、異なるアベイラブルゾーン(AZ)に配置された2つの完全なデータレプリカがあります。クラスタ全体は3つのリージョンにまたがっています。リージョン1は、読み取りおよび書き込み要求を処理するプライマリリージョンです。リージョン1が災害により完全に利用不能になった場合、リージョン2をDRリージョンとして使用できます。リージョン3は、多数決プロトコルを満たすために使用されるレプリカです。このアーキテクチャは「2-2-1」ソリューションとも呼ばれます。

このソリューションは、領域レベルのエラー耐性、スケーラブルな書き込み機能、ゼロ RPO、分単位以下の RTO を提供します。本番システムでゼロ RPO が必要な場合は、この DR ソリューションを使用することをお勧めします。このソリューションの詳細については、単一クラスター内の複数のレプリカに基づく災害復旧ソリューションを参照してください。

TiCDCと複数のレプリカに基づくDRソリューション

前述の2つのソリューションは地域ごとの災害復旧(DR)を提供しますが、複数の地域が同時に利用不能になった場合には機能しません。システムが非常に重要で、複数の地域をカバーする耐障害性目標が必要な場合は、これら2つのソリューションを組み合わせる必要があります。

TiCDC-based multi-replica cluster DR

前述のアーキテクチャでは、TiDBクラスタは2つ存在します。クラスタ1は、3つのリージョンにまたがる5つのレプリカで構成されています。リージョン1には、プライマリリージョンとして機能し、書き込みリクエストを処理する2つのレプリカがあります。リージョン2には、リージョン1のDRリージョンとして機能する2つのレプリカがあります。このリージョンは、レイテンシーの影響を受けにくい読み取りサービスを提供します。リージョン3にある最後のレプリカは、投票に使用されます。

リージョン1とリージョン2のDRクラスタとして、クラスタ2はリージョン3で稼働し、3つのレプリカを含みます。TiCDCはクラスタ1からデータを複製します。このアーキテクチャは複雑に見えますが、複数のリージョンに対するエラー許容目標を高めることができます。複数のリージョンが同時に利用不能になった場合にRPOがゼロである必要がない場合は、このアーキテクチャは良い選択肢です。このアーキテクチャは「2-2-1:1」ソリューションとも呼ばれます。

もちろん、エラー許容範囲が複数のリージョンに及び、RPOがゼロでなければならない場合は、5つのリージョンにまたがる少なくとも9つのレプリカを持つクラスターを作成することも検討できます。このアーキテクチャは「2-2-2-2-1」ソリューションとも呼ばれます。

BRに基づくDRソリューション

BR-based cluster DR

このアーキテクチャでは、TiDBクラスタ1がリージョン1にデプロイされます。BRはクラスタ1のデータを定期的にリージョン2にバックアップし、さらにこのクラスタのデータ変更ログも継続的にリージョン2にバックアップします。リージョン1で災害が発生し、クラスタ1が復旧できない場合、バックアップデータとデータ変更ログを使用して、リージョン2に新しいクラスタ(クラスタ2)を復元し、サービスを提供できます。

BRに基づく DR ソリューションは、5 分未満の RPO と、復元するデータのサイズに応じて変化する RTO を提供します。 BR v6.5.0 の場合、復元速度についてはスナップショット復元のパフォーマンスと影響パフォーマンスPITRのパフォーマンスと影響を参照してください。通常、リージョン間のバックアップ機能はデータ セキュリティの最後の手段とみなされ、ほとんどのシステムにとって必須のソリューションでもあります。このソリューションの詳細については、 BRに基づくDRソリューションを参照してください。

一方、 BR はv6.5.0 以降、 EBSボリュームのスナップショットからTiDBクラスタを復元するサポートします。クラスターが Kubernetes 上で実行されており、クラスターに影響を与えずにできるだけ早くクラスターを復元したい場合は、この機能を使用してシステムの RTO を短縮できます。

その他の災害復旧ソリューション

前述の DR ソリューションに加えて、同じ都市のデュアルセンター シナリオでゼロ RPO が必須の場合は、DR-AUTO 同期ソリューションを使用することもできます。詳細については、1 つの地域に展開された 2 つのデータ センターをご覧ください。

解決策の比較

このセクションでは、本書で紹介されている災害復旧(DR)ソリューションを比較します。これに基づいて、お客様のビジネスニーズを満たす適切なDRソリューションを選択できます。

DRソリューションTCOエラー許容目標RPORTOネットワークレイテンシー要件対象システム
単一クラスター内の複数レプリカに基づく災害復旧ソリューション(2-2-1)高い単一地域0分単位領域間の距離は30ミリ秒未満災害復旧(DR)と応答(RPO = 0)に関して特定の要件を持つ本番システム
プライマリークラスターとセカンダリークラスター(1:1)に基づくDRソリューション中くらい単一地域10秒未満5分以内領域間の距離は100ミリ秒未満災害復旧(DR)と応答(RPO > 0)に関して特定の要件を持つ本番システム
TiCDCと複数のレプリカ(2-2-1:1)に基づくDRソリューション高い複数の地域10秒未満5分以内DRに複数のレプリカを使用するリージョンでは30ミリ秒未満。3番目のリージョンおよびその他のリージョンでは100ミリ秒未満。災害復旧と対応に関して厳しい要件を持つ本番システム
BRに基づくDRソリューション低い単一地域5分以内時間レベル特別な要件はありませんRPOが5分未満、RTOが最大1時間まで許容される生産システム

このページは役に立ちましたか?