データ・レプリケーション

Oracle Globally Distributed Databaseは、可用性のためにレプリケーションに依存します。Oracle Globally Distributed Databaseは、ニーズに応じて様々なレプリケーション手段を提供します。

レプリケーションによって高可用性、障害回復、および読取りのスケーラビリティ向上が実現します。レプリケーションの単位にはシャード、シャードの一部またはシャードのグループがあります。

分散データベースのレプリケーション・トポロジは、GDSCTLコマンド構文を使用して宣言的に指定します。Oracle Data GuardまたはRaftレプリケーションを選択して、データをレプリケートできます。Oracle Globally Distributed Databaseは、指定されたレプリケーション・トポロジを調達されたシステムに自動的にデプロイし、データ・レプリケーションを有効にします。

シャード・レベルのレプリケーション

Oracle Globally Distributed Databaseでは、シャードはデータベースです。シャードの可用性は、1つ以上のシャードが停止したり、処理速度が低下しても影響されません。Oracle Data Guardのレプリケーションは、個別のシャードレベルの高可用性を提供するために使用できます。レプリケーションは分散データベースが作成されると自動的に構成およびデプロイされます。

Oracle Data Guardは、Oracle Globally Distributed Databaseと密接に統合されており、厳格なデータの一貫性とデータ損失ゼロで高可用性と障害時リカバリを提供します。Oracle Data Guardのレプリケーションは、高可用性およびデータ保護のために、シャード(プライマリ)の1つ以上の同期されたコピー(スタンバイ)を維持します。スタンバイはローカルまたはリモートにデプロイでき、Oracle Active Data Guardを使用する場合は、読取り専用アクセスでオープンすることもできます。

詳細は、「Oracle Data Guardを使用したシャード・レベルのレプリケーション」を参照してください。

オプションで、シャードレベルの高可用性のために、レプリケーションによって補完されるOracle RACを使用すると、クラスタが停止した場合にシャードレベルのデータの可用性を維持できます。各シャードは、Oracle RACクラスタにデプロイすることで、すぐにノード障害からの保護が可能です。たとえば、各シャードを2ノードのOracle RACクラスタにすることができます。Oracle Globally Distributed Databaseは、計画外の停止が発生したときに、データベース接続をシャードからレプリカに自動的にフェイルオーバーします。

Raftレプリケーション

シャード・レベルでのレプリケーションではなく、Oracle Globally Distributed DatabaseのRaftレプリケーション機能では、より小さなレプリケーション・ユニットが作成され、チャンク割当て、チャンク移動、ワークロードの分散、およびスケーリング時のバランス(シャードの追加または削除)に対応するためにシャード間に自動的に分散されます(計画的または計画外のシャード可用性変更を含む)。

RaftレプリケーションはOracle Globally Distributed Databaseに組み込まれており、コンセンサスベースの高パフォーマンスで低オーバーヘッドの可用性ソリューションを提供し、分散レプリカとデータ損失ゼロの高速フェイルオーバーを実現すると同時に、シャードが失敗した場合にはレプリケーション・ファクタを自動的に維持します。Raftレプリケーション管理のオーバーヘッドは、シャードの数で増加しません。NoSQLデータベースに慣れており、レプリケーションの仕組みについて知ろうとしていなくても、Oracle Globally Distributed Databaseのネイティブ・レプリケーションは機能します。

Data Guardレプリケーションとは異なり、シャードの追加または削除時にRaftレプリケーションを再構成する必要はなく、レプリカをアクティブに管理する必要はありません。

詳細は、「Raftレプリケーションの構成および管理」を参照してください。