## 概要

<!-- markdownlint-disable MD032 -->
> [!NOTE]
> この演習は Chrome ブラウザのみ対応しています。

この演習は、提供された[ドキュメント](https://docs.pingcap.com/ja/tidb/v8.1/two-data-centers-in-one-city-deployment/)に基づいて、2つのデータセンターにまたがる分散型TiDBシステムを展開するための実践的なスキルを学ぶことができます。

金融業界では、デュアルデータセンターアーキテクチャは特にコアビジネスシステムにおいて一般的な展開モデルです。銀行や金融機関は、データの可用性と災害復旧機能に高い価値を置いています。TiDBのDRオートシンクソリューションは、そのような環境のために特別に設計されており、デュアルデータセンターインフラストラクチャ上での強力なデータ保護を提供しつつ、RPO（回復時点目標）を0、RTO（回復時間目標）を分単位で保証します。具体的には、このソリューションは次の機能を提供します：

+ RPO = 0：データセンターの障害が発生した場合でもデータ損失を防ぎます。
+ 分単位のRTO：障害後、数分以内にサービスの復旧を可能にします。
+ アクティブ・アクティブサービス：両方のデータセンターが同時に高可用性データサービスを提供します。

この演習では、DRオートシンクのデュアルデータセンターシナリオでの展開をシミュレートし、1つのデータセンターが利用できない場合やネットワーク遅延が発生した場合にデータの一貫性と高可用性をどのように達成するかを示します。

### DR オートシンクソリューションの紹介

デフォルト展開の課題

+ デフォルトでは、すべてのデータベースレプリカ（3つのレプリカ）がRaftグループを形成し、任意の2つのレプリカがデータベースの可用性とデータの永続性を保証します。各データ書き込みは、Raftグループ内の任意の2つのTiKVでコミットされる限り、クライアントは成功レスポンスを受け取ります。しかし、データセンター1が最新の2つのデータレプリカを保持し、完全に停止した場合、これらの2つのレプリカは失われ、Raftグループはデータセンター2への最新データのレプリケーションを保証できません。

  ![60%](https://lab-static.pingcap.com/quick-demo/demo-303-1-en.png)

DR オートシンクソリューション

+ このソリューションでは、Raftアルゴリズムにコミットグループの概念を導入します。データをコミットするには、過半数ルールを満たすだけでなく、少なくとも2つのコミットグループに存在する必要があります。これにより、両方のデータセンターが最新のデータコピーを保持し、データの安全性を確保します。

  ![60%](https://lab-static.pingcap.com/quick-demo/demo-303-2-en.png)

また、このソリューションにはDC2にエクストララーナーノードが含まれており、投票には参加せず、DC2が唯一の生存データセンターである場合にのみTiDBクラスタを復元するために使用されます。

DR オートシンクによる高可用性シナリオ

+ DRオートシンクソリューションは、TiKVデータ同期モードを識別するために3つの異なる状態を使用します。クラスタのレプリケーションモードは、自動的かつ適応的に3つのステータス間を切り替えることができます。

  ![60%](https://lab-static.pingcap.com/quick-demo/demo-303-3-en.png)

  + 同期モード：TiDBはデフォルトで同期レプリケーションモードで動作します。このモードでは、災害復旧データセンターの少なくとも1つのレプリカがプライマリデータセンターと同期します。Raftアルゴリズムは、すべてのデータが災害復旧データセンターにレプリケートされることを保証します。この状態では、どのデータセンターの全体的な障害も、TiDBクラスタがRPO=0を達成することを保証します。

  + 非同期モード：1つのデータセンター全体で障害が発生した場合、TiDBは非同期レプリケーションモードに切り替えます。このモードでは、2つのデータセンターのデータは完全に同期されません。Raftアルゴリズムは、過半数クオーラムプロトコルのみに従って劣化し、生存データセンター内でデータレプリケーションを完了します。障害がすでに発生しているため、2回目の障害が発生する場合、TiDBクラスタはRPO=0を保証できません。クラスタは、初期障害が解決された後にのみ、RPO=0の高可用性機能を再び得ることができます。

  + 同期復旧モード：データセンターの障害が解決され、2つのデータセンター間のデータ同期が進行中です。TiDBは同期復旧モードに切り替わります。このモードでは、2つのデータセンターは完全に同期されていません。データ同期が完了すると、TiDBは再び同期モードに戻ります。その後、TiDBクラスタはRPO=0 HA機能を再び得ます。

### タスク

+ モジュール 1: TiDBクラスタをセットアップし、DR Auto-syncデプロイメントを構成して、高可用性モードの正しい設定を確認します。
+ モジュール 2: 災害復旧データセンターの障害またはネットワーク分離をシミュレートし、クラスタの自動切替と復旧メカニズムを観察します。
+ モジュール 3: プライマリデータセンターの障害をシミュレートし、クラスタのフェイルオーバー動作と迅速な復旧能力を確認します。

### 目的

2つのデータセンターシナリオをシミュレートすることにより、この演習はTiDBのDR Auto-Syncソリューションがデータセンター間でどのように高可用性と強い整合性を実現するかを示します。このソリューションは、従来の2つのデータセンターアーキテクチャにおける潜在的な障害やデータ喪失の問題を解決するだけでなく、動的同期モード切り替えによりTiDBの柔軟性と災害復旧能力を向上させます。

DR Auto-Syncは、高い信頼性とデータ喪失ゼロを要求する支払いシステム、クリアリングシステム、アカウント管理システムなどの金融業界の主要なビジネスシナリオに特に適しています。この演習は、二重データセンターアーキテクチャにおけるTiDBのユニークな利点と実用的な能力を直感的に理解する機会を提供します。

> [!TIP]
> 演習環境を起動するには、**開始**をクリックしてください。
> 環境の準備が完了すると、ハンズオンセッションに割り当てられたリソースに実際の値が設定されるため、演習ガイドに従って段階的に演習を完了できます。
