OceanBaseデータベースは、シェアードナッシング (Shared-Nothing) をベースとするマルチレプリカアーキテクチャを採用しています。システム全体で単一障害点の存在を排除することで、システムの継続性と可用性を保証します。OceanBaseは、単一のデータセンター(IDC)でのクラスタ展開に加え、同一リージョン内の複数データセンターや、複数リージョンにまたがるクラスタ展開もサポートしており、データセンターレベルおよびリージョンレベルでの高可用性とディザスタリカバリを実現しています。具体的には、単一データセンター、デュアルデータセンター、2リージョン3センター、3リージョン5センターなど、多様な展開方式が可能です。さらに、アービトレーションサービスのデプロイによるコスト削減もサポートされています。
デプロイプラン
プラン1:同一リージョン内の3データセンター・3レプリカ構成
特長:
- 同一リージョン内の3データセンターで1クラスタ (1データセンターが1ゾーン) を構成します。データセンター間のネットワーク遅延は、通常0.5~2msです。
- データセンターレベルの障害が発生した場合、残りの2つのレプリカで過半数を維持するため、RedoLogの同期を続行し、RPO=0を保証します。
- リージョンレベルの障害には対応することができません。
配置図:

プラン2:3リージョン・5データセンター・5レプリカ構成
特長:
- 3リージョンで5レプリカのクラスタを構成します。
- いずれかのIDCまたはリージョンで障害が発生しても、過半数が維持され、RPO=0を保証します。
- 過半数を維持するには3つ以上のレプリカが必要とされますが、各リージョンに最大でも2つのレプリカしか配置することができません。遅延を減らすため、リージョン1とリージョン2を近距離に配置することで、RedoLogの同期遅延を抑えることができます。
配置図:

プラン3:同一リージョン内の2データセンター「プライマリ-スタンバイ」構成
特長:
- 1データセンターに1OceanBaseクラスタをデプロイします。1つのデータセンターをプライマリデータベース、もう1つのデータセンターをスタンバイデータベースとします。各クラスタには独立したPaxosグループがあり、マルチレプリカによる一貫性を備えます。
- 「クラスタ間」のデータ同期はRedoLogを介して行われますが、形式的には従来型データベースの「プライマリ・レプリカ・レプリケーション」モードと類似します。プライマリデータベースからスタンバイデータベースへの「非同期または同期」処理は、Oracle Data Guardの「最大パフォーマンス」モードに類似します。
配置図:

プラン4:2リージョン・3データセンターの「プライマリ-スタンバイ」構成
特長:
- プライマリリージョンとスタンバイリージョンで5レプリカのクラスタを構成します。いずれかのプライマリリージョンのIDCで障害が発生すると、最大で2つのレプリカを損失しますが、残りの3レプリカで過半数を維持することができます。
- スタンバイリージョンに独立した3レプリカクラスタを構築することで、スタンバイデータベースとして、プライマリデータベースから「非同期または同期」処理を行います。
- プライマリリージョンで障害が発生すると、スタンバイリージョンがビジネスを引き継ぎます。
配置図:

プラン5:同一リージョン内の3データセンター・アービトレーションサービス構成
特長:
- 同一リージョン内の3データセンターで1クラスタを構成します。データセンター間のネットワーク遅延は通常0.5~2msです。そのうち2つのデータセンターにフル機能レプリカが配置され、それぞれが1ゾーンとなります。コスト削減のため、3つ目のデータセンターにアービトレーションサービスをデプロイします (ログの同期は不要)。
- データセンターレベルの障害が発生すると、残りの2つのデータセンターからリーダーレプリカが選択されます。アービトレーションを実行しダウングレードすることで (フル機能レプリカが配置されたデータセンターに障害が発生した場合)、RPO=0を保証します。
- リージョンレベルの障害には対応することができません。
アービトレーションサービスの詳細については、アービトレーションサービスの概要を参照してください。
配置図:

プラン6:3リージョン・5データセンター・アービトレーションサービス構成
特長:
- 3リージョン5データセンターアーキテクチャでは、地理的に近接するリージョン1とリージョン2にフル機能レプリカを配置し、リージョン3にアービトレーションサービスをデプロイすることでコストを削減します (ログの同期は不要)。
- いずれかのIDCで障害が発生した場合も、残りのフル機能レプリカで引き続き過半数 (3/4) が維持され、RPO=0を保証します。
- 任意の2つのデータセンターまたはリージョンレベルの障害発生時に、障害が発生した場所がすべてフル機能レプリカの配置されたデータセンターである場合、残りの2つのフル機能レプリカでは過半数 (2/4) を維持できないため、アービトレーションを実行しダウングレードすることでサービスを復旧し (障害が発生した2つのレプリカをLearnerにダウングレードする)、RPO=0を保証します。
- 過半数を維持するには3つ以上のレプリカが必要とされますが、各リージョンに最大でも2つのレプリカしか配置することができません。遅延を減らすため、リージョン1とリージョン2を近距離に配置することで、RedoLogの同期遅延を抑えることができます。
配置図:

プラン7:2リージョン・3データセンター・アービトレーションサービス構成
特長:
- プライマリリージョンに2つのデータセンターを設置します。各データセンターには2つのゾーンが含まれ、フル機能レプリカをデプロイします。
- スタンバイリージョンに1つのデータセンターを設置し、アービトレーションサービスをデプロイすることで、デプロイコストとリージョン間帯域幅コストを削減することができます。
- プライマリリージョンのいずれかのIDCに障害が発生すると、最大で2つのレプリカを損失し、過半数 (2/4) を維持することができない可能性がありますが、アービトレーションサービスを実行しダウングレードによるリカバリをトリガーすることで、RPO=0を保証します。
- プライマリリージョンの障害には対応することができません。スタンバイリージョンの障害には影響ありません。
配置図:
