Lakehouse ランタイム カタログをリージョン間で複製すると、カタログ メタデータをバックアップし、リージョンの停止からワークロードを保護できます。ボーダーレスな Lakehouse の一部として、障害復旧を使用して、Apache Iceberg REST カタログ エンドポイントを使用するテーブルをフェイルオーバーできます。
フェイルオーバーを管理する際は、計画的なテスト用のソフト フェイルオーバーか、サービスを復元するためのハード フェイルオーバーを選択できます。
仕組み
レイクハウス ランタイム カタログは、カタログ メタデータのプライマリ リージョンとセカンダリ リージョンを自動的に選択します。プライマリ リージョンは、すべてのテーブル commit メタデータを処理し、バックアップのためにセカンダリ リージョンに複製します。
特に障害発生時には、フェイルオーバー オペレーションを使用して、カタログのプライマリ リージョンとセカンダリ リージョンを切り替えることができます。この操作により、カタログと、含まれるすべての名前空間とテーブルのプライマリが切り替わります。
クロスリージョン レプリケーション
クロスリージョン レプリケーションには、データ レプリケーションと metastore レプリケーションの 2 つの主要コンポーネントがあります。障害復旧機能は、クロスリージョン レプリケーションを基盤としてフェイルオーバーを可能にします。
データ レプリケーション: デュアルリージョン バケットまたはマルチリージョン バケットを使用すると、Cloud Storage は複数のリージョンにカタログデータを自動的に複製します。リージョンが停止した場合でも、ストレージ パスを変更せずにデータにアクセスできます。
metastore レプリケーション: Iceberg REST カタログ エンドポイントの場合、デュアルリージョン(またはカスタム デュアルリージョン)バケットを使用すると、Lakehouse ランタイム カタログは metastore を自動的に複製します。メタストアのレプリケーションは、カタログの作成時に開始されます。Lakehouse ランタイム カタログは、Cloud Storage 構成で定義されたリージョンからプライマリ リージョンとセカンダリ リージョンを選択します。プライマリ リージョンは、すべてのテーブル commit メタデータを提供し、バックアップのためにセカンダリ リージョンに複製します。
フェイルオーバーによる障害復旧
障害復旧機能を使用すると、カタログのプライマリ リージョンとセカンダリ リージョンを切り替えることができます。フェイルオーバー オペレーションにより、カタログとそのすべての名前空間とテーブルのプライマリ リージョンが切り替わります。フェイルオーバーには、ソフト フェイルオーバーとハード フェイルオーバーの 2 つのモードがあります。
ソフト フェイルオーバー: ソフト フェイルオーバーにより、データの損失を防ぎます。このモードでは、以前のプライマリ リージョンからすべての以前のデータが同期された後にのみ、新しいプライマリ リージョンが書き込みの受け入れを開始します。災害復旧テストやその他の計画されたシナリオには、ソフト フェイルオーバーを使用します。
ハード フェイルオーバー: ハード フェイルオーバーは、データの整合性よりも可用性を優先し、サービスを復元するように設計されています。このモードでは、プライマリ リージョンの現在の状態に関係なく、プライマリ リージョンが常に引き継ぎ、書き込みトラフィックを受け入れます。たとえば、ハード フェイルオーバーを使用すると、以前のプライマリに到達できない場合でも、新しいプライマリ リージョンが引き継ぐことができます。
制限事項
この機能はプレビュー版であるため、REPLICATION_TIMESTAMP は Cloud Storage ファイルではなく、カタログ メタデータのみを追跡します。データ損失を最小限に抑えるには、Cloud Storage のデータの可用性と耐久性のドキュメントをご覧ください。
次のステップ
- Lakehouse ランタイム カタログ エンドポイントでクロスリージョン レプリケーションと障害復旧を使用します。