OceanBase Cloudは、複数のクラウドサービスプロバイダーのインフラをサポートするだけでなく、クロスクラウドのプライマリ/スタンバイデータベース機能を新たに追加し、お客様のクロスクラウドディザスタリカバリに関するビジネスニーズに対応しています。
クロスクラウドのプライマリ/スタンバイデータベースには、以下の特長があります:
より強力なディザスタリカバリ能力:プライマリデータベースとスタンバイデータベースを地理的に分離されたエリアに配置することで、エリア的な災害(自然災害やデータセンター障害など)に効果的に対抗できます。一つのクラウドサービスプロバイダー上のプライマリデータベースに問題が発生した場合でも、別のクラウドサービスプロバイダーに配置されたスタンバイデータベースへ迅速にディザスタリカバリすることで、業務の中断を最小限に抑えることができます。
サービス可用性の向上:クロスクラウドデプロイメントにより、単一のクラウドサービスプロバイダー内部の問題によるサービス中断リスクを低減できます。いずれかのクラウドプラットフォームで障害が発生した場合でも、別のクラウド上のスタンバイデータベースへ迅速に切り替えることで、事業継続性を確保できます。
コスト効率:クロスクラウドデプロイメントは、管理の複雑さやデータ同期コストが増加する可能性がありますが、異なるクラウドサービスプロバイダー間でリソースを柔軟に調整することで、企業はコストとサービス品質の間でより良いバランスを見出すことができます。
概念の紹介
グローバルアドレス
プライマリ/スタンバイデータベースのグローバルアドレスとは、プライマリデータベースとスタンバイデータベースにアクセスするために使用できる単一の接続アドレスを指します。この設定方法により、システムはプライマリデータベースに障害が発生した場合、業務アプリケーションの接続アドレスを変更することなく、リクエストをスタンバイデータベースにルーティング転送し、業務アプリケーションのアドレス管理への影響を抑えながら、ビジネスの高可用性を確保できます。
プライマリデータベースが正常に稼働している場合、グローバルアドレスはプライマリデータベースを指します。
プライマリデータベースに障害が発生した場合、ディザスタリカバリスイッチオーバー をクリックすると、リクエストはスタンバイデータベース(新しいプライマリデータベース)に切り替えられ、同時にプライマリデータベースは分離動作をトリガーします。
データ同期方式
OceanBase Cloudのクロスクラウドプライマリ/スタンバイデータベース間のデータ同期は、ネットワーク直連とログアーカイブの2種類のデータ同期方式をサポートしています。
ネットワーク直接接続
プライマリデータベースとスタンバイデータベースがそれぞれ配置されているVPC間のネットワーク接続を確立し、トランザクションログをログ転送サービス(Log Transport Service)を通じて各スタンバイデータベースにリアルタイムで転送します。スタンバイデータベースはログ再生サービス(Log Replay Service)を通じてログをメモリMemStoreに適用し、プライマリ/スタンバイデータの同期を実現します。ネットワーク直接接続方式は、低遅延、高信頼性、高セキュリティを特徴とします。
動作原理:プライマリデータベースが読み書きサービスを提供し、スタンバイデータベースがRedoログをリアルタイムで同期してデータの整合性を維持します。プライマリデータベースはVPCネットワーク、専用線ネットワーク、またはパブリックネットワークを通じてスタンバイデータベースに直接接続し、プライマリ/スタンバイデータの同期を実現します。
ログアーカイブ
プライマリデータベースはトランザクションログを定期的にオブジェクトストレージサービス(OSS)にアーカイブし、各スタンバイデータベースはOSSからアーカイブされたログを読み取り、ローカルに適用してプライマリ/スタンバイデータの同期を実現し、データの整合性を維持します。
適用シナリオ:データ同期遅延に一定の許容度があり、コストを抑えたいビジネスシナリオに適しています。例えば、データバックアップ、レポート分析、読み書き分離など、リアルタイム性の要求が高くないシナリオです。
2つの方式の比較
項目 |
ネットワーク直接接続 |
ログアーカイブ |
|---|---|---|
| プライマリ/スタンバイ同期遅延 | ミリ秒単位 | 秒単位 |
| スタンバイデータベースの読み書き分離機能 | サポート | サポートなし |
| コスト | 高め(クロスクラウドVPCチャネル) | 低め(クロスクラウドオブジェクトストレージアクセス) |
アーキテクチャパターン
クロスクラウドのプライマリ/スタンバイデータベースは、プライマリ/スタンバイとプライマリ/マルチスタンバイの2種類のアーキテクチャパターンをサポートしています。1プライマリ1スタンバイアーキテクチャは標準的なディザスタリカバリに適しており、プライマリ/マルチスタンバイアーキテクチャはより高いディザスタリカバリの冗長性と可用性を提供します。
プライマリ/スタンバイアーキテクチャ
プライマリ/スタンバイアーキテクチャは、デュアルクラウドのプライマリ/スタンバイ構成を採用し、プライマリクラウド(Cloud A Master)とスタンバイクラウド(Cloud B Standby)で構成され、高可用性とディザスタリカバリの保証を実現します。
デプロイ方法:クラウドAにデータベースのプライマリデータベースを、クラウドBにデータベースのスタンバイデータベースをデプロイし、クロスクラウドのプライマリ/スタンバイ関係を形成します。
アプリケーション接続方法:業務インスタンスはVPCネットワークを介して各クラウド事業者のOceanBaseインスタンスにアクセスする、またはグローバルアドレスから一元的にアクセスすることで、切り替え時のトラフィックの自動ルーティングを確保します。

プライマリ/マルチスタンバイアーキテクチャ
プライマリ/マルチスタンバイアーキテクチャでは、1つのプライマリデータベースに対して複数のスタンバイデータベースを構成でき、より高いディザスタリカバリの冗長性と可用性を提供します。
デプロイ方法:プライマリデータベースと複数のスタンバイデータベースを異なるクラウド事業者またはリージョンにそれぞれデプロイし、クロスクラウドネットワーク接続を介してデータ同期を実現することで、クロスクラウドのプライマリ/マルチスタンバイのディザスタリカバリアーキテクチャを構築します。プライマリデータベースとスタンバイデータベースは複数のクラウド事業者に柔軟に分散配置でき、より高いディザスタリカバリの冗長性を提供します。業務アプリケーションはグローバルアドレスから統一的にアクセスでき、システムはプライマリ/スタンバイの状態に応じて自動的にリクエストをルーティングするため、接続アドレスを変更することなくディザスタリカバリスイッチオーバーが可能です。
アプリケーション接続方法:複数の業務インスタンスはVPCネットワークを介して各自のクラウド事業者のOceanBaseインスタンスに接続し、グローバルアドレスから統一的にアクセスすることで、スイッチオーバー時のトラフィックの自動ルーティングを保証します。プライマリデータベースに障害が発生した場合、システムは複数のスタンバイデータベースのうち1つを新しいプライマリデータベースとして選択し、グローバルアドレスを自動的に新しいプライマリデータベースにスイッチオーバーすることで、業務への影響を最小限に抑えた切り替えを実現します。
スタンバイデータベース選択ポリシー:ディザスタリカバリスイッチオーバー機能は、すべての候補スタンバイデータベースのデータ同期状態と可用性状態を自動的に保証します。どのスタンバイデータベースを新しいプライマリデータベースとして選択する場合でも、システムはそのデータをすべてのスタンバイデータベースの中で最大の同期ポイントまで同期し、かつこれらのスタンバイデータベースが正常に稼働していることを保証します。
ディザスタリカバリスイッチオーバーを開始する際、ユーザーは以下の要素に基づいて適切な新しいプライマリデータベースを選択する必要があります:
- 地理的位置:ネットワーク遅延と業務の近接性の原則を考慮し、業務アプリケーションに最も近いスタンバイデータベースを優先的に選択します。

ディザスタリカバリ機能
クラウドをまたいだプライマリ/スタンバイデータベースでは、ディザスタリカバリスイッチオーバーとフェイルオーバーの2種類のディザスタリカバリ機能を提供し、プライマリデータベースに障害が発生した場合でも業務を迅速に復旧できるようにします。
ディザスタリカバリスイッチオーバー
ディザスタリカバリスイッチオーバーとは、プライマリデータベースに障害が発生した際、システムが自動的に業務トラフィックをスタンバイデータベースに切り替えるプロセスを指します。通常のプライマリ/スタンバイモードでは、プライマリデータベースが主に業務を担い、スタンバイデータベースはプライマリデータベースのデータを同期しますが、業務トラフィックは処理せず、ディザスタリカバリの準備のみに使用されます。グローバルアドレスはディザスタリカバリスイッチオーバーと連携し、グローバルアドレス解決を通じて高可用性とディザスタリカバリ機能を実現すると同時に、業務の中断を防ぎます。
プライマリ/スタンバイアーキテクチャにおけるディザスタリカバリスイッチオーバー

プロセス |
説明 |
|---|---|
| 正常運用フェーズ | プライマリデータベースが業務トラフィックを処理します。
|
| 正常運用フェーズ | スタンバイデータベースはディザスタリカバリ環境として機能します。
|
| ディザスタリカバリスイッチオーバーフェーズ | プライマリデータベース障害
|
| ディザスタリカバリスイッチオーバーフェーズ | スタンバイデータベースがプライマリデータベースとなる
|
| ディザスタリカバリスイッチオーバーフェーズ | スタンバイデータベースが単独で業務の読み書きを担当する
|
| ディザスタリカバリスイッチオーバー後の効果 | 顧客の業務は引き続き稼働可能で、高可用性を備えています。 |
プライマリ/マルチスタンバイアーキテクチャにおけるディザスタリカバリスイッチオーバー
- クラウドプロバイダーに障害が発生した場合

- リージョンに障害が発生した場合

プロセス |
説明 |
|---|---|
| 正常運用フェーズ | お客様の業務システムは複数の業務VPCで稼働します。
|
| 正常運用フェーズ | データベースアーキテクチャと動作
|
| ディザスタリカバリスイッチオーバーフェーズ | プライマリデータベースに障害が発生した場合
|
| ディザスタリカバリスイッチオーバーフェーズ | 複数のスタンバイデータベースから最適なスタンバイデータベースを選択して本番トラフィックを引き継ぐ
|
| ディザスタリカバリスイッチオーバーフェーズ | 新しいプライマリデータベースが単独で業務の読み書きを担当する
|
| ディザスタリカバリスイッチオーバー後の効果 | 顧客の業務は引き続き運用可能で、高可用性を備えます。 |
###フェイルオーバー
フェイルオーバーとは、プライマリデータベースに障害が発生した際に、自動的に切り替えを行い、スタンバイデータベースが迅速に業務を引き継いで新しいプライマリとなるシナリオを指します。お客様は違和感なく業務を復旧できます。プライマリ/スタンバイデータベース間ではリアルタイムでデータが同期され、スタンバイデータベースがプライマリに昇格することで業務の中断を防ぎます。グローバルアドレスとフェイルオーバーを組み合わせることで、グローバルアドレス解決によるトラフィックの自動ルーティングを実現します。単一障害点(プライマリデータベースの障害)が発生した場合でも、ディザスタリカバリスイッチオーバーにより事業継続性を維持し、高可用性とディザスタリカバリ機能を実現します。
プライマリ/スタンバイアーキテクチャにおけるフェイルオーバー

プロセス |
説明 |
|---|---|
| 通常運用フェーズ | お客様の業務システムは、2つの業務VPCで稼働します。
|
| 通常運用フェーズ | データベースアーキテクチャと動作
|
| 通常運用フェーズ | グローバルアドレス解決
|
| 通常運用フェーズ | プライマリデータベースは、定期的にログバックアップをバックアップ環境にアーカイブします。 |
| フェイルオーバー・フェーズ | プライマリデータベース障害発生
|
| フェイルオーバー・フェーズ | スタンバイデータベースが本番トラフィックを引き継ぐ
|
| フェイルオーバー・フェーズ | 新しいバックアップが確立され、フェイルオーバーが完了した後、新しいスタンバイ環境を再デプロイして、プライマリ/スタンバイアーキテクチャを正常な状態に戻すことができます。 |
| フェイルオーバー後の効果 | お客様の業務は引き続き稼働可能で、高可用性を有します。 |
プライマリ/マルチスタンバイアーキテクチャにおけるフェイルオーバー

プロセス |
説明 |
|---|---|
| 正常運用フェーズ | 顧客の業務システムは複数の業務VPCで稼働します。
|
| 正常運用フェーズ | データベースアーキテクチャと運用
|
| 正常運用フェーズ | グローバルアドレス解決
|
| 正常運用フェーズ | プライマリデータベースは定期的にログバックアップをバックアップ環境にアーカイブします。複数のスタンバイデータベースが異なるクラウドベンダーおよびアベイラビリティゾーンに分散して配置され、より高い冗長性を提供します。 |
| フェイルオーバーフェーズ | プライマリデータベース障害発生
|
| フェイルオーバーフェーズ | 複数のスタンバイデータベースから最適なスタンバイデータベースを選択して本番トラフィックを引き継ぐ
|
| フェイルオーバーフェーズ | 新しいバックアップが確立され、フェイルオーバーが完了すると、今後新しいスタンバイ環境を再デプロイして、プライマリ/スタンバイアーキテクチャを正常な状態にリストアさせることがあります。 |
| フェイルオーバー後の効果 | 顧客の業務は引き続き運用可能で、高可用性を備えています。 |