Oracle Databaseはクラウドネイティブの時代にどう対応しようとしているのか? 米オラクルのプロダクトマネージャに聞いた
リレーショナルデータベースを取り巻く環境は、いま大きく変化しています。例えば、クラウドとそれを基盤としたさまざまな分散アプリケーションの登場により、データベース自体も分散処理への対応を求められています。ビッグデータへの注目とその扱いに適したNoSQLデータベースの普及は、これまでのリレーショナルデータベースでは扱えないような大容量の非構造化データの処理要求の高まりを示しています。
リレーショナルデータベースの代表的な商用製品であるOracle Databaseはこの変化にどう対応しようとしているのでしょうか。米オラクルのDatabase Server Technology マスター・プロダクト・マネージャーであるマリア・コルガン氏に話を聞きました。
プラガブルデータベース機能はクラウドサービス構築に適している
コルガン氏はまず、Oracle Database 19cに搭載されているプラガブルデータベース機能が、クラウド上でサービスを提供する実際に有利に働くことを説明しました。
「新たなソフトウェアのアーキテクチャにSaaSがあります。SaaSでは、サービスを利用する多数のお客様のデータがデータベースに格納されています。
これを同一データベースの同一テーブルに格納する場合、それらのデータをお客様ごとに分離してセキュアに扱うためのアプリケーションコードは非常に複雑になります。
Oracle Databaseのマルチテナント機能を活用することで、これをシンプルなアーキテクチャで実現できます。具体的にはプラガブルデータベースを利用し、テナント(顧客)ごとにプラガブルデータベースを用意することで、テナントごとのデータベース分離が可能です。
これはアプリケーションからは透過的ですが、一方で、プラガブルデータベースのクローンやリロケーションといった、これまではできなかったことが可能になります。また、運用管理の面ではプラガブルデータベース全体をまとめて1つのデータベースとして扱えるので、運用の手間は従来と変わりません」
プラガブルデータベースは開発のアジリティー向上にも役立つとコルガン氏は説明。
「本番データベースのクローンを作成して開発環境用のデータベースに持ってくることも簡単にできます。データを含めたフルコピーはもちろん、メタデータだけ、スキーマだけ、ということもできます」
マイクロサービスアーキテクチャにもプラガブルデータベースは便利
分散アプリケーションで採用されるマイクロサービスアーキテクチャでは、サービスごとにデータベースを持つケースがよくありますが、Oracle Databaseのプラガブルデータベースはこのケースにも最適だとコルガン氏は指摘します。
「マイクロサービスアーキテクチャのサービスごとや事業部ごとにプラガブルデータベースを独立したデータベースとして持てます。これにより、サービスごとのスケーラビリティのニーズにも、サービスごとの分離のニーズにも対応できます」
リレーショナルなデータだけでなく、XMLやJSONなどのNoSQLデータベースもOracle Databaseなら統合できるとコルガン氏。さらにオブジェクトデータベースもOracle Databaseを通じてアクセスすることで、統一的な処理が可能だと説明します。
「XMLやJSONなどのドキュメントも最新のOracle Databaseではネイティブにサポートしています。つまりXMLやJSONを標準のSQLで扱えるのです。
構造化データと非構造化データをシングルクエリで扱え、しかもトランザクションによるデータ一貫性や高速な並列処理、インデックスの設定といった最適化も同じようにできます。
また、オブジェクトストアもOracle Databaseの一部のようにアクセスできるようになっています。デベロッパーは単一のクエリでOracle DatabaseだけでなくAWSやAzure、Googleなどのオブジェクトストア内のデータに対してもクエリを実行でき、JSON、CSV、Parquet、Avroなどのデータ型をサポートしています。
これによりOracle Databaseがインテグレータとなるので、さまざまなデータをまとめるためのアプリケーションの複雑なコーディングが不要になり、アプリケーションをシンプルな形に維持できるのです」
次のOracle Databaseにはブロックチェーン技術が搭載される
Oracle Databaseは2018年から西暦の下二桁をバージョン番号に採用しています。コルガン氏は来年登場する予定のOracle Database 20cにどのような新機能が入るのか、少しだけ明かしてくれました。
「Oracle Database 20cでは、ブロックチェーンテーブルと呼ばれる新しいタイプのテーブルを導入します。
データがこのテーブルにインサートされると、その時点でテーブルの背後に暗号化されたチェーンが作られます。これはブロックチェーンの技術を利用しているため、なんらかの不正な操作がこのテーブルに行われた場合、それを検知できるのです。
これにより、テーブルのデータが本当に妥当なものであるか、セキュリティが担保されているかが検証できます。
このテーブルは、アプリケーションからは標準的なテーブルと同じに見え、トランザクション処理も、分析処理も行えます。このテーブルを活用することでデベロッパーは複雑なコーディングを必要とせず、よりセキュアで、不正を簡単に検知できる機能を得られるのです。
この機能は多くの金融系企業などが求めていたものです。改ざん不能な通帳のようなものをデータベース内に作れるのですから」
クラウドにおける可用性ゾーン間、リージョン間での高可用性も実現
Oracle Databaseがマイクロサービスのバックエンドとして用いられる場合、分散アプリケーションが持つ高い可用性をスポイルしないためにも極めて高い可用性が要求されます。これをどう実現するのか、コルガン氏の答えは次のようなものでした。
「Oracle Cloudで提供しているAutonomous Databaseはクラスタ化されており、高い可用性を実現しています。さらにOracle Cloudでは『可用性ドメイン』(新野注:AWSの「アベイラビリティゾーン」のようなもの)を導入しています。ある可用性ドメインにプライマリデータベースを置き、別の可用性ドメインにスタンバイデータベースを置くことができます。
さらにクロスリージョンによる高可用性も提供し始めています。プライマリデータベースとは異なるリージョンにスタンバイデータベースを設置できるのです。これを実現するにはリージョン間での高速通信が要件となりますが、すでに米国内の米国東部リージョンと米国西部リージョン間では利用可能です。
今後これをグローバルに展開していきます」
あわせて読みたい
NGINX、モスクワオフィスへの強制捜査の状況を説明。創業者Igor Sysoev氏への尋問はあったものの、現時点で逮捕者や拘束者はなしと
≪前の記事
2020年のIT投資はオリンピックが理由で増加の勢いに陰り? 総従業員数に対するITスタッフ比率は明確な上昇トレンド。ITR調査結果