OceanBaseデータベースの共有ストレージモードは、ログサービスによるデータの永続性とマルチレプリカのコンピューティングノードによるデータの高可用性を依存しています。このドキュメントでは、OceanBase SSがサポートする災害復旧デプロイメントについて説明します。
OceanBase SSは、オブジェクトストレージによってデータの完全性を、ログサービスによってログの完全性を保証し、以下の高可用性ソリューションを提供します:
- Paxos一貫性プロトコルに基づくマルチレプリカ高可用性ログサービス(LogService)ソリューション このソリューションは、Paxos一貫性プロトコルに基づき、マルチレプリカの高可用性災害復旧機能を提供します。読み書きノード(RW)はPaxosプロトコルを介して直接ログサービスのマルチレプリカに書き込み、永続化を実現します。読み取り専用ノード(RO)は、最新のログサービスレプリカからログを読み取り、ホットデータをローカルで再放出します。少数派レプリカが利用不能な場合(3レプリカクラスタでは1つのレプリカの利用不能を許容)、コンピューティングノードの読み書きは影響を受けず、引き続きサービスを正常に提供できます。
- マルチレプリカコンピューティングノードに基づく高可用性読み書きノード(RW)ソリューション: このソリューションは、マルチレプリカの読み取り専用ノードに災害復旧機能を依存させることができます。読み書きノードが利用不能な場合、データベースは自動的に災害復旧切り替えを実行し、サービスを復旧してデータ損失を防ぎます(RPO = 0)、障害回復時間は8秒以内です(RTO < 8s)。
- 単一レプリカ起動に基づく高可用性ソリューション: このソリューションは、コンピューティングノードがない場合でも災害復旧機能を提供できます。読み取り専用ノードが存在しない場合でも、OceanBase SSデータベースはデータをオブジェクトストレージに完全に保存し、ログサービスが増分データの完全性を保証するため、新しいコンピューティングノード1台で完全なサービス機能を起動できます。具体的な方法は、オブジェクトストレージからデータとメタデータをローカルに復元し、ログサービスから増分データを復元することです。これにより、同様にデータ損失を防ぎます(RPO = 0)、障害回復時間は数分レベルです(RTOは分単位)。 OceanBase SSは以下のデプロイメントモードを推奨します。ユーザーはデータセンターの構成およびパフォーマンスと可用性の要件に応じて柔軟に選択できます。 | デプロイメントソリューション | 災害復旧機能 | RTO | RPO | |---------|---------|-----|-----| | 同一都市内の単一データセンター(コンピューティングノードはマルチレプリカ) | マシンレベルの無損失災害復旧 | 8秒以内 | 0 | | 同一都市内の単一データセンター(コンピューティングノードは単一レプリカ) | 単一レプリカ起動による災害復旧 | 数分レベル | 0 | | 同一都市内の複数データセンター(コンピューティングノードはマルチレプリカ) | データセンターレベルの無損失災害復旧 | 8秒以内 | 0 | | 同一都市内の3データセンター(ログサービスは3レプリカ) | ログサービスデータセンターレベルの無損失災害復旧 | 8秒以内 | 0 |
同一都市内の単一データセンターデプロイメント(コンピューティングノードはマルチレプリカ)
データセンターが1つしかない場合、同一データセンター内に読み書きノードと複数の読み取り専用ノードをデプロイすることで、マシンレベルの無損失災害復旧を実現できます。読み書きノードが配置されているServerがダウンした場合、システムは自動的に災害復旧切り替えを実行し、読み取り専用ノードを読み書きノードに昇格させてサービスを継続します。これにより、データ損失は発生せず(RPO = 0)、障害回復時間は8秒以内です(RTO < 8s)。
同一都市内の単一データセンターデプロイメント(コンピューティングノードは単一レプリカ)
データセンターが1つしかなく、かつコンピューティングノードを1つだけデプロイする場合、単一レプリカ起動メカニズムを利用して災害復旧機能を提供できます。コンピューティングノードが利用不能な場合、新しいコンピューティングノード1台で、オブジェクトストレージからデータとメタデータを復元し、ログサービスから増分データを復元することで、完全なサービス機能を起動できます。このソリューションはデータ損失を防ぎます(RPO = 0)、障害回復時間は数分レベルです(RTOは分単位)。
同一都市内の複数データセンターデプロイメント(コンピューティングノードはマルチレプリカ)
同一都市内に複数のデータセンターがある場合、コンピューティングノード(RWとRO)をデータセンター間にデプロイすることで、データセンターレベルの無損失災害復旧機能を実現できます。読み書きノードが配置されているデータセンターが利用不能な場合、システムは自動的に他のデータセンターの読み取り専用ノードへの災害復旧切り替えを実行し、サービスを継続します。これにより、データ損失は発生せず(RPO = 0)、障害回復時間は8秒以内です(RTO < 8s)。
同一都市内の3データセンターデプロイメント(ログサービスは3レプリカ)
ログサービスは3データセンター3レプリカのデプロイメントをサポートし、データセンター全体の災害復旧機能を保証します。ログサービスの3つのレプリカをそれぞれ異なる3つのデータセンターにデプロイすることで、いずれかのデータセンターが利用不能になっても、ログサービスは引き続きサービスを正常に提供し、ログの永続性と完全性を保証します。
説明
- コンピューティングノード(RWとRO)およびログサービス(LogService)は、現在同一都市内のデプロイメントのみをサポートしています。
- コンピューティングノードは単一データセンターおよび複数データセンターデプロイメントをサポートしていますが、ログサービスは3データセンター3レプリカデプロイメントのみをサポートしています。