Oracle Databaseはクラウドネイティブの時代にどう対応しようとしているのか? 米オラクルのプロダクトマネージャに聞いた

2019年12月13日

リレーショナルデータベースを取り巻く環境は、いま大きく変化しています。例えば、クラウドとそれを基盤としたさまざまな分散アプリケーションの登場により、データベース自体も分散処理への対応を求められています。ビッグデータへの注目とその扱いに適したNoSQLデータベースの普及は、これまでのリレーショナルデータベースでは扱えないような大容量の非構造化データの処理要求の高まりを示しています。

リレーショナルデータベースの代表的な商用製品であるOracle Databaseはこの変化にどう対応しようとしているのでしょうか。米オラクルのDatabase Server Technology マスター・プロダクト・マネージャーであるマリア・コルガン氏に話を聞きました。

fig

プラガブルデータベース機能はクラウドサービス構築に適している

コルガン氏はまず、Oracle Database 19cに搭載されているプラガブルデータベース機能が、クラウド上でサービスを提供する実際に有利に働くことを説明しました。

「新たなソフトウェアのアーキテクチャにSaaSがあります。SaaSでは、サービスを利用する多数のお客様のデータがデータベースに格納されています。

これを同一データベースの同一テーブルに格納する場合、それらのデータをお客様ごとに分離してセキュアに扱うためのアプリケーションコードは非常に複雑になります。

Oracle Databaseのマルチテナント機能を活用することで、これをシンプルなアーキテクチャで実現できます。具体的にはプラガブルデータベースを利用し、テナント(顧客)ごとにプラガブルデータベースを用意することで、テナントごとのデータベース分離が可能です。

これはアプリケーションからは透過的ですが、一方で、プラガブルデータベースのクローンやリロケーションといった、これまではできなかったことが可能になります。また、運用管理の面ではプラガブルデータベース全体をまとめて1つのデータベースとして扱えるので、運用の手間は従来と変わりません」

fig2

プラガブルデータベースは開発のアジリティー向上にも役立つとコルガン氏は説明。

「本番データベースのクローンを作成して開発環境用のデータベースに持ってくることも簡単にできます。データを含めたフルコピーはもちろん、メタデータだけ、スキーマだけ、ということもできます」

マイクロサービスアーキテクチャにもプラガブルデータベースは便利

分散アプリケーションで採用されるマイクロサービスアーキテクチャでは、サービスごとにデータベースを持つケースがよくありますが、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がインテグレータとなるので、さまざまなデータをまとめるためのアプリケーションの複雑なコーディングが不要になり、アプリケーションをシンプルな形に維持できるのです」

fig3

次のOracle Databaseにはブロックチェーン技術が搭載される

Oracle Databaseは2018年から西暦の下二桁をバージョン番号に採用しています。コルガン氏は来年登場する予定のOracle Database 20cにどのような新機能が入るのか、少しだけ明かしてくれました。

「Oracle Database 20cでは、ブロックチェーンテーブルと呼ばれる新しいタイプのテーブルを導入します。

データがこのテーブルにインサートされると、その時点でテーブルの背後に暗号化されたチェーンが作られます。これはブロックチェーンの技術を利用しているため、なんらかの不正な操作がこのテーブルに行われた場合、それを検知できるのです。

これにより、テーブルのデータが本当に妥当なものであるか、セキュリティが担保されているかが検証できます。

このテーブルは、アプリケーションからは標準的なテーブルと同じに見え、トランザクション処理も、分析処理も行えます。このテーブルを活用することでデベロッパーは複雑なコーディングを必要とせず、よりセキュアで、不正を簡単に検知できる機能を得られるのです。

この機能は多くの金融系企業などが求めていたものです。改ざん不能な通帳のようなものをデータベース内に作れるのですから」

クラウドにおける可用性ゾーン間、リージョン間での高可用性も実現

Oracle Databaseがマイクロサービスのバックエンドとして用いられる場合、分散アプリケーションが持つ高い可用性をスポイルしないためにも極めて高い可用性が要求されます。これをどう実現するのか、コルガン氏の答えは次のようなものでした。

「Oracle Cloudで提供しているAutonomous Databaseはクラスタ化されており、高い可用性を実現しています。さらにOracle Cloudでは『可用性ドメイン』(新野注:AWSの「アベイラビリティゾーン」のようなもの)を導入しています。ある可用性ドメインにプライマリデータベースを置き、別の可用性ドメインにスタンバイデータベースを置くことができます。

さらにクロスリージョンによる高可用性も提供し始めています。プライマリデータベースとは異なるリージョンにスタンバイデータベースを設置できるのです。これを実現するにはリージョン間での高速通信が要件となりますが、すでに米国内の米国東部リージョンと米国西部リージョン間では利用可能です。

今後これをグローバルに展開していきます」

あわせて読みたい

Oracle Database RDB データベース Oracle Oracle Cloud




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本