1 Oracle Database Global Data Servicesの概要
この章では、Oracle Database Global Data Services (GDS)の概要について説明します。Oracle GDSは、Oracle Databaseの包括的な自動ワークロード管理機能です。
1.1 分散データベース、レプリケートされたデータベースおよびグローバルにデプロイされたデータベースの管理における課題
Oracle Global Data Services (GDS)は、分散データベース、レプリケートされたデータベースおよびグローバルにデプロイされたデータベースを管理する際に企業が直面する重要な課題に対処するように設計されています。これらの課題は、データ・センター内および地域間のミッションクリティカルなアプリケーションをサポートする最新のデータベース環境の複雑さ、規模、およびパフォーマンスの需要の高まりに関連しています。
現代の企業は、高可用性、スケーラビリティおよびフォルト・トレランスを実現するために、レプリケートされたデータベースおよび分散データベースのアーキテクチャにますます依存しています。ただし、これらの利点には、次のような一連の固有の課題があります:
- 分散データベースとレプリケートされたデータベースの複雑性:
プライマリ、スタンバイ、レプリカ、キャッシュなどの複数のデータベースを様々な地域で管理すると、運用が大幅に複雑になります。
これらのデータベースが同期され、利用可能で、アプリケーションの要求に反応し続けるようにするには、高度な調整と管理が必要です。
- 統合サービス管理の欠如:
従来のデータベース・システムでは、アプリケーションが基礎となるデータベース・トポロジを認識している必要があります。これにより、開発者はフェイルオーバー、ロード・バランシングおよび接続管理ロジックをアプリケーションに埋め込むことが必要になるため、開発オーバーヘッドが増大します。
サービスのプロビジョニングと管理が一元化されていないと、サイロ化が生じ、構成ミスや非効率性のリスクが高まります。
- 高可用性の実現における課題:
計画済メンテナンスやハードウェア障害などの計画外の停止中に、中断のない継続的なデータベース可用性を確保することは困難です。
フェイルオーバー、スイッチオーバーおよび障害時リカバリを処理するには、多くの場合、手動の介入が必要であり、リスクと潜在的な停止時間およびデータ損失につながります。
- ロード・バランシングおよびパフォーマンスの最適化:
分散システムでは、リソース使用率が不均一になることがよくあります。一部のデータベース・ノードは過負荷になり、他のノードは十分に利用されないため、パフォーマンスのボトルネックが発生します。
アプリケーションが最適ではないデータベース・インスタンスに接続し、待機時間が増加し、ユーザー・エクスペリエンスが低下する可能性があります。
- グローバル・スケールおよびコンプライアンス要件:
複数の地域にまたがって事業を展開する企業は、特定のデータを特定の地域内に保持する必要があるローカル・データ主権規制に準拠する必要があります。
待機時間を最小限に抑え、コンプライアンスを確保しながらリージョン間のトラフィックを調整すると、複雑さがさらに増します。
- 運用上の非効率性と高コスト:
自動化されたメカニズムがない企業では、分散データベースを手動で管理および最適化するために専門の担当者が必要なため、運用コストが高くなります。
インテリジェントなワークロード管理がなければ、リソースの浪費やインフラストラクチャの利用不足につながります。
1.2 Oracle GDSによるこれらの課題への対処方法
Oracle GDSは、一元的なサービス管理、動的なロード・バランシング、自動化されたフェイルオーバー機能を導入することで、前述の課題に対して統合されたインテリジェントなソリューションを提供するように設計されています。レプリケートされたデータベースと分散データベースの管理の複雑さが抽象化されるため、企業は運用上のオーバーヘッドではなくビジネス目標に集中できるようになります。
Oracle Global Data Servicesのコア機能と特徴:
-
一元的なサービス管理:
Oracle GDSは、レプリケートされた環境と分散環境でデータベース・サービスを管理するための単一の統合インタフェースを提供します。アプリケーションは単一のグローバル・サービス・マネージャ(GSM)に接続し、フェイルオーバー、ロード・バランシング、ルーティングなど、基礎となるすべての複雑な処理に対応します。
- 自動化された高可用性:
Oracle GDSは、サービス配置およびフェイルオーバー・プロセスを自動化することで、継続的な可用性を保証します。計画済または計画外のイベント中、接続は正常で最適なデータベース・インスタンスに透過的にリダイレクトされ、停止時間を最小限に抑え、データの可用性を維持します。
- 動的ワークロード管理:
Oracle GDSは、ポリシー、ノード・ヘルス、ワークロードの性質およびパフォーマンス・メトリックに基づいて、ワークロードを最適なデータベース・インスタンスにインテリジェントにルーティングします。これにより、均一なリソース使用率が保証され、待機時間が削減され、ユーザー・エクスペリエンスが向上します。
-
コンプライアンスによるグローバルなスケーラビリティ:
Oracle GDSは、データベース・サービスのグローバルなデプロイメントを可能にし、リージョン対応のルーティングを通じてデータ主権規制に準拠しながら、地理的に分散したユーザーの短い待機時間のアクセスを確保します。
- 操作の簡素化:
Oracle GDSは、レプリケートされたシステムと分散システムの複雑さをインテリジェントに抽象化し、Oracle GDSは手動介入の必要性を軽減します。一元的な制御、およびポリシーに応じたデータ・サービス管理により、運用コストが大幅に削減され、人的エラーのリスクが軽減されます。
- マルチクラウドとハイブリッドの互換性:
Oracle GDSは、オンプレミス環境、Oracle Cloud Infrastructure (OCI)、およびAWS、GCP、Azureなどのサードパーティ・クラウド・プロバイダへのデプロイメントをサポートしているため、ハイブリッドまたはマルチクラウド戦略を持つ企業に最適です。
1.3 Oracle Global Data Servicesの利点
グローバル・データ・サービス(GDS)を使用すると、フォルトトレラントなデータベース・サービスをデプロイでき、レプリケートされた一連のデータベースを集中管理できます。GDSフレームワークでは、これらのデータベース間でのワークロード・バランシングが提供されます。具体的に述べると、GDSは、次のメリットをもたらすOracle統合ソリューションです:
-
より高い可用性とグローバルなスケーラビリティ: どのデータ・センターでも、レプリケートされたデータベース間でのシームレスなデータベース間サービス・フェイルオーバーがサポートされ、アプリケーションの可用性が向上します。
-
GDSで提供されるオンデマンドでのアプリケーションのスケーラビリティ: データベースを動的に追加できるようになります。それにより、レプリケートされたデータベースをGDSインフラストラクチャに動的かつ透過的に追加して、アプリケーション・ワークロードをスケーリングするためのリソース機能をさらに取得できます。GDSでは、アプリケーション構成やクライアント接続を変更せずにこれができます。
-
パフォーマンスと拡張性の向上: GDSでは、複数のデータベースにわたる統合されたロード・バランシングにより、リージョン間のリソース断片化に対処しています。あるリージョン内の十分に利用されていないリソースで別のリージョンの過剰利用されているリソースのワークロードを処理できるため、最適なリソース使用率が実現されます。GDSにより、様々なプロセッサ世代および様々なリソース(CPU、メモリー、I/O)のデータベース・サーバーで実行されているレプリケートされたデータベースを含むGDSプール内の、より性能の低いデータベースに作業リクエストが送信されます。その目標は、より性能の高いデータベースが過負荷の場合に、レスポンス時間を均等にすることです。
- 分析処理の高速化: すべてのシャードが単一の論理データベースとしてアプリケーションに提示され、非常に大きなデータ・セットの問合せレスポンス時間が短縮されます。
- データ量とトランザクション処理の増加に対応する将来を見据えたスケーラビリティ: 直線的にスケーリングされたデータベース・パフォーマンスを実現しながら、パフォーマンスのボトルネックを排除します。
- RAFTレプリケーション: ノードまたはデータ・センターの停止中に数秒以内の高速フェイルオーバーとデータ損失ゼロを実現し、可用性を向上させ、管理を簡素化し、リソース使用率をグローバルに最適化するアクティブ-アクティブ-アクティブ対称分散データベース・アーキテクチャを実現します。
- データ・コンプライアンスおよびレジデンシの需要への対応: データが特定の地理的な場所にとどまるようにします。複数のリージョンにデータが分散された単一のグローバル・データベースを実現します。
- クラウドまたはデータ・センターへのデプロイ: Oracle Base Database Service、グローバルに分散された自律型データベース、またはMicrosoft AzureとAmazon Web Servicesにわたるマルチクラウド・アーキテクチャ。
Oracle GDSを使用すると、マルチポイント・ソリューションや自社開発製品と統合する必要なく、これらの利点を得ることができます。GDSにより、ハードウェア使用率とソフトウェア使用率が最適化されます。また、レプリケートされたデータベースで実行されているアプリケーション・ワークロードのパフォーマンス、スケーラビリティおよび可用性が向上します。
1.4 Oracle GDSとネットワーク・ロード・バランサの比較
要件 | ネットワーク・ロード・バランサ | Oracle GDS |
---|---|---|
地域ベース・ルーティング | はい | はい |
接続時データベース・ロード・バランシング | はい | はい |
クライアントへのルーティングおよびフェイルオーバー・インテリジェンスの公開 | いいえ | はい |
レプリケーション・ラグベースのデータベース・ワークロードのルーティング | いいえ | はい |
データベース間グローバル・サービス・フェイルオーバー | いいえ | はい |
自動ロールベース・グローバル・サービス | いいえ | はい |
すべてのレプリカにわたるデータベース・サービスの集中管理 | いいえ | はい |
Oracle Active Data Guardのネイティブ統合 | いいえ | はい |
コスト効率 | 追加支出が必要 | Oracle Active Data GuardまたはOracle GoldenGateライセンスに含まれている |
1.5 Global Data Servicesの機能
Oracle Global Data Services (GDS)テクノロジでは、次の主要機能が提供されます:
- 動的ロード・バランシングにより、使用可能なデータベース・インスタンス間でのワークロードの最適な分散が保証されます。
-
接続時ロード・バランシング: グローバル・サービス・マネージャでは、GDSプール内のすべてのデータベースからのロード統計、リージョン間ネットワーク待機時間および構成された接続時ロード・バランシング目標を使用して、GDSプール内の最適なデータベースに受信接続がルーティングされます。これにより、単一のデータベースがボトルネックになるのを防ぎます。
-
実行時ロード・バランシング: GDSでは、接続プールベースのクライアント(OCI、JDBC、ODP.NET、WebLogicなど)についてリアルタイム・ロード・バランシング・アドバイザを公開することで、レプリケートされた複数のデータベースにわたる実行時ロード・バランシングが可能になります。接続プールベースのクライアントでは、このロードバランシング・アドバイザがサブスクライブされており、すでに確立されている接続間でデータベース・リクエストがリアルタイムでルーティングされます。
GDSの実行時接続ロード・バランシング機能を使用すると、アプリケーション・クライアントの作業リクエストが、最良のパフォーマンスを提供するデータベースに動的にルーティングされます。グラビテーションと呼ばれるプロセスを通じて、GDSは負荷状況の変化に応じてデータベース間の接続を動的に調整し、需要の変動に応じてワークロードの分散を確保します。
-
- インテリジェントなワークロード・ルーティングは、設定した基準に基づいて受信ワークロードをルーティングします。
-
リージョンベースのワークロード・ルーティング: クライアント接続を、ローカル・リージョン内のレプリケートされた一連のデータベースの間でルーティングされるように構成できます。この機能により、リモート領域内のデータベースへのアクセスによるネットワーク待機時間のオーバーヘッドが回避されて、アプリケーションのパフォーマンスを最大限に高めることができます。
-
ラグベースのワークロード・ルーティング: Oracle Active Data Guardでは、スタンバイがプライマリ・データベースより遅れる場合があります。グローバル・サービスでは、指定したアプリケーションについてラグ許容範囲を選択できます。GDSにより、リクエストが、ラグが制限を下回っているスタンバイ・データベースにルーティングされます。ラグがラグ制限を上回ると、そのサービスが、ラグがしきい値を下回っている使用可能な別のスタンバイ・データベースに再配置されます。新しいリクエストは、ラグ制限を満たしているスタンバイ・データベースにルーティングされます。使用可能なデータベースがない場合、グローバル・サービスは停止されます。ラグが解決されるか制限の範囲内になると、GDSにより、自動的にそのサービスが起動されます。
-
- データベース間サービス・フェイルオーバーは、中断のない可用性を提供します。
- データベース障害が発生した場合、GDSはサービスを正常なレプリカに自動的かつ透過的にフェイルオーバーします。この自動化された透過的な応答機能により、人的エラーと遅延アクションが排除されます。
- 接続プールは即座に通知されるため、アプリケーションとエンドユーザーの中断を最小限に抑えることができます。これにより、停止時間が大幅に短縮され、ビジネスの継続性が保証されます。
- ロールベースのグローバル・サービスは、ビジネス・ニーズに基づいてカスタマイズされたサービス配置を提供します。
- GDSを使用すると、プライマリ・ロール、フィジカル・スタンバイ・ロール、ロジカル・スタンバイ・ロール、スナップショット・スタンバイ・ロールなどのデータベース・ロールに基づいてサービスを構成できます。
- これにより、特定のサービス配置ポリシーを適用し、リソース使用率を最適化できます。
- GDSでは、RAFTレプリケーション、Oracle Distributed DatabaseおよびOracle True Cacheがサポートされています。
- GDSが提供する一元的なサービス管理により、単一の統合フレームワークで、レプリケートされたデータベースのリソースを、任意の場所に配置して、より簡単に構成および管理できます。
- GDSCTLコマンドライン・ユーティリティまたはOracle Enterprise Managerが提供するグラフィカル・インタフェースを使用して、単一のインタフェースから複数のデータベースにわたるサービスを作成、構成および管理します。
- これらのGDSツールは、管理を簡素化し、個々のデータベースに対する手動介入の必要性を排除し、サービスのプロビジョニングと調整を加速します。