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

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

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

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

- Regionに障害が発生した場合

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

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

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