オラクル、シャーディングを利用したグローバルな分散DBの新サービス「Oracle Globally Distributed Autonomous Database」正式サービス開始
今回は「オラクル、シャーディングを利用したグローバルな分散DBの新サービス「Oracle Globally Distributed Autonomous Database」正式サービス開始」についてご紹介します。
関連ワード (処理、展開、追加等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
オラクルはデータベースを複数のシャードに分割し、それぞれをグローバルに分散させつつ全体を1つの論理的なデータベースとして扱えるOracle Cloudの新サービス「Oracle Globally Distributed Autonomous Database」を正式サービスとして提供開始しました。
Find out how you can more easily address data sovereignty requirements and achieve the highest possible scale and availability with @Oracle Globally Distributed #AutonomousDatabase in #OCI. Read the press release. https://t.co/kaDLyMqj9n pic.twitter.com/tlAZEnYGrl
— Oracle Database (@OracleDatabase) March 4, 2024
オラクルは以前からOracle Cloud上のデータベースサービスとしてOracle Autonomous Databaseを提供しています。今回提供が開始されたOracle Globally Distributed Autonomous Databaseは、このAutonomous Databaseにシャードによるグローバルな自動分散機能を追加したものといえます。
複数のシャードにより1つの論理データベースを構築
Oracle Globally Distributed Autonomous Databaseでは、データベースを複数のシャードに分割し、それぞれをグローバルに分散させつつ全体を1つの論理的なデータベースとして扱うことができます。すなわちアプリケーションからは1つのデータベースに見えます。
シャードとは、データベースやテーブルを分割したものです。例えば、あるテーブルのプライマリキーが偶数の行はサーバAに、奇数の行はサーバBにシャードとして分割することで1つのテーブルを2つのサーバに分散して配置できます。
あるいは、今年のデータはサーバAに、昨年のデータはサーバBに、1昨年のデータはサーバCになど、シャードの分割にはさまざまな方法があります。
Autonomous Database以上のスケーラビリティと高可用性を実現
一般にシャードを用いたデータベースの分割手法をシャーディングと呼びます。
シャーディングの利点は複数あります。
1つ目はクエリを複数のサーバで分散処理することで高速な実行が可能かつサーバを追加することで分散処理を拡大できるスケーラビリティを備えていることです。
そもそもOracle Globally Distributed Autonomous Databaseの基盤となっているAutonomous DatabaseはOracle Exadataの上で稼働する高速なデータベースですが、データベースをシャードで分割し、複数のデータベースサーバにまたがって分散処理を拡大することでより高いスケーラビリティを実現し、高速な処理を実現できます。
Oracle Globally Distributed Autonomous DatabaseではOLTPもOLAPもいずれの処理も高速に実行でき、しかも高度なスケーラビリティを備えるとされています。
2つ目は、分散アーキテクチャを活用することで特定のサーバに障害が発生してもシステム全体としては稼働を続けられる高可用性を実現できることです。
Globally Distributed Autonomous Databaseは、単一の論理データベースを、複数のアベイラビリティドメイン、複数のデータセンター、そして複数のリージョンに分散してシャードを展開できます。
シャードは自動的にレプリケーションされるため、そのなかの1つのシャードに障害が発生してもシステム全体としては稼働を継続できるため、高い可用性が実現可能です。
特定のデータを特定の国の中に配置できる
3つ目は、特定のデータを特定のシャードに置くようにユーザーが設定することで、データの保存位置をユーザーが指定できること、などがあります。
Globally Distributed Autonomous Databaseはシャードによる分散を自動で行う機能が備わっていますが、ユーザーが管理することも可能です。例えばグローバルに展開する企業の顧客データベースの場合、日本の顧客データは日本のデータセンターに、米国の顧客のデータは米国のデータベースに配置することで、それぞれの国の規制などを守りつつ、全体としては1つの論理的なデータベースとして運用保守することが可能になります。
シャーディングはリレーショナルデータベースのスケーラビリティや可用性を大幅に向上させる技術としてこのところ注目度が高まっています。
Oracle Globally Distributed Autonomous Databaseはより高度なデータベースサービス実現のために、その技術をグローバルのレベルで組み込んだものと言えます。