最新のオラクルのデータベース製品として登場したOracle Database 12c。12というバージョンの隣に付された「c」とは「cloud」の頭文字にほかならない。
オラクルがこうしたかたちで、バージョン番号にアルファベットを付与するようになったのは、1998年にリリースされたOracle8iから。Oracle8iがリリースされた当時は、従来のクライアント・サーバー型のアーキテクチャに代わる3階層型アーキテクチャが登場し、企業のシステムにも採用され始めた時期だった。
Oracle8iの開発にあたりオラクルは、企業のコンピューティング環境がインターネットの普及によって大きな影響を受け、取り扱うデータ量が劇的に増大する時代を想定。そうした時代に求められる、大容量データをハンドリングできる仕組みをOracle8iに実装。Oracle8iの「i」とは「internet」を意味していた。
続くOracle9i Databaseでは、インターネットの普及を考慮し、より大量のトランザクション、データの処理を、ミッションクリティカルな領域でもおこなえる製品へと進化させた。
2004年リリースのOracle Database 10gで、アルファベットは「i」から「g」へ。これは、データベースを単なるSQLの実行エンジンとしてではなく、ビジネスに欠かせないインフラ、プラットフォームのエンジンとして捉えるという、ポジショニングの変革を意識したものだ。
この「g」は「grid computing」を意味している。Oracle Database 10gはサーバー、ストレージ、ネットワークなど別々のリソースを、1つのサービスとして提供するグリッド・コンピューティングを実現するためのプラットフォームとして設計され、それに必要な仕組みを実装した。
2007年にリリースされたOracle Database 11gでは、そうしたグリッド・コンピューティングのための機能をさらに強化。ほぼ時を同じくして、オラクルはデータベースやOS、仮想環境やグリッドの仕組み、さらにはサーバー、ストレージといったハードウェアを一体化し、性能だけでなく、可用性、管理性、セキュリティまでを最適な形で統合する「エンジニアド・システムズ」というコンセプトを提唱。それを具現化したOracle Exadata Database Machineを市場に投入した。
「i」「g」といったアルファベットに象徴されるように、オラクルは、その時代時代におけるコンピューティングのニーズを先取りするように、データベースを進化させてきた。
この考え方は、Oracle Database 12cでも継承されている。クラウド時代を迎えるなか、Oracle Database 12cは、オラクルがデータベース、およびエンタープライズ・システムがどうあるべきかを検討し、これから主流となるであろう“データベース・クラウド”の実現に向けた最適な選択肢として発表された。
これまでクラウドへの統合による高い集約密度とリソース効率の追求は、パフォーマンスや運用管理性、セキュリティ、可用性の確保といった、クリアすべき要件に直面することも意味していた。こうしたメリットとデメリットのトレードオフを解消し、データベース層でのマルチテナントを実現するために採用されたのが、マルチテナント・アーキテクチャだ。
この新しいアーキテクチャの採用により、Oracle Database 12cでは、従来のデータベース構成に加え、マルチテナント・コンテナ・データベースという新しいデータベースの形式がサポートされた。従来のオラクルのデータベースを含む一般的なリレーショナル・データベース・システムでは、CPUやメモリ空間といったハードウェアリソースは、統合後の環境であっても、データベースごとに独立していた。また、データベースのバックグラウンド・プロセスや、それらプロセスが用いる制御用ファイル、ログファイルなども、基本的にデータベースごとに存在していた。
これに対しOracle Database 12cでは、マルチテナント・コンテナ・データベースの上に、プラガブル・データベースと呼ばれる複数の仮想的なデータベースを構築できるようになっている。メモリ空間などのハードウェアリソースやバックグラウンド・プロセスは、そのコントロールを受けもつマルチテナント・コンテナ・データベースごとに共有され、管理やプラガブル・データベースへの割当てが適宜処理される。プラガブル・データベースは個別のメモリ空間やプロセスはもたず、マルチテナント・コンテナ・データベースから、いわばサービスとして提供されることになる。
こうした仕組みによって個々のデータベースが必要とするリソースは少なくなり、より多くのデータベースを集約できる。その結果、データベース・クラウドを構成するハードウェア関連のコストも低減できる。
Oracle Database 12cのマルチテナント・アーキテクチャが提供するもう1つの大きなメリットが、運用管理性の向上だ。
プラガブル・データベースの実体は、ユーザーデータを格納するスキーマや表領域などの集合体だ。そのため、従来のような運用管理を個々のプラガブル・データベースに対しておこなう必要はなく、複数のプラガブル・データベースが稼動するマルチテナント・コンテナ・データベースに対してのみ作業をおこなう。
たとえばデータベースの運用管理では、アップグレードやパッチの適用といった作業がかならず発生するが、複数のデータベース・システムを稼動させている場合、従来の運用管理ではすべてのシステムに対して作業を実施する必要があった。昨今企業では、多数のデータベースが稼動しているケースも珍しくない。仮に100のデータベースがあれば、同様の作業を100回おこなわなければならない。いうまでもなく、これは膨大な作業負荷となる。
これに対しOracle Database 12cのマルチテナント・アーキテクチャでは、稼動しているプラガブル・データベースの数にかかわらず、マルチテナント・コンテナ・データベースに対して1回作業をおこなうだけで、すべてのプラガブル・データベースにその作業内容が反映される。
データベースのバックアップも同様だ。Oracle Database 12cであれば、マルチテナント・コンテナ・データベースに対してバックアップの処理を1度おこなうだけで、すべてのプラガブル・データベースのバックアップがおこなえる。バックアップしたプラガブル・データベースのリカバリを、プラガブル・データベース単位でおこなうことも可能だ。
データベースの運用では、新たな開発環境やテスト環境が必要となるケースや、パッチ適用に際しての検証環境を構築するケースなど、クローニングやプロビジョニングといった作業も発生する。そうした作業は、これまでデータのコピーやリストア、各種構成ファイルの変更など、煩雑かつ多くの時間を要する複数の手順が必要だった。これに対しOracle Database 12cでは、コマンド1つで任意のシステムと同じ環境を速やかに立ち上げることができるようになった。
データベースの移動についても、シンプルかつスピーディな運用が可能になった。物理的な移動であっても論理的な移動であっても、複数のステップを踏む必要はない。マルチテナント・コンテナ・データベースからプラガブル・データベースを切り離す「unplug」と、関連づける「plug」というコマンドを順に実行するだけで、対象となるデータベースを任意の場所へと、容易に移動させることができるためだ。
Oracle Database 12cでは、マルチテナント・アーキテクチャの採用、クラウド環境への移行によって、複雑化する運用管理作業の効率化、運用負荷の軽減、コスト削減に大きく貢献する。また、マルチテナント・コンテナ・データベースとプラガブル・データベースという新しい要素によって、プラットフォーム部分と個々のデータベースとでの運用管理作業の切り分けを実現。管理性向上におけるメリットも提供する。
マルチテナント・アーキテクチャの導入後は、バックアップやアップグレードなどの運用管理はマルチテナント・コンテナ・データベースレベルでおこなわれ、それぞれのアプリケーション開発はプラガブル・データベースごとにおこなわれる。そのため、データベース管理者とアプリケーション開発者の役割を、明確に区別できるようになる。高い専門性を必要とするデータベース管理の作業は、マルチテナント・コンテナ・データベースにのみ集中できるため、より少ない人数でのデータベース管理が可能になる。
また個々のアプリケーション開発は、データベース管理者によって管理、提供されるセキュリティや運用管理、サービスレベルなどが標準化された標準開発環境でおこなわれるようになるため、開発そのものに専念できるようになる。
さらに、データベース管理者は、可用性や用途、ロケーション、バックアップやアップグレードなどの運用サイクル、ミッションクリティカルか否かなど、さまざまな要件に応じて、マルチテナント・コンテナ・データベースを複数用意することも可能だ。たとえば、あるシステムを安価なシングルサーバーのマルチテナント・コンテナ・データベースに構築し、週次のバックアップを同じマルチテナント・コンテナ・データベースで取得する構成で運用を開始したとしよう。運用が進み、より多くのリソースや高い可用性が必要になった場合でも、マルチテナント・アーキテクチャでは、プラガブル・データベースを「unplug」して、よりサービスレベルの高いマルチテナント・コンテナ・データベースに「plug」するだけで、運用レベルを変えるための移行が完了する。
マルチテナント・アーキテクチャは、データベース管理とアプリケーション開発を分離し、システムを“プラガブル”な状態にすることで、これからのシステム基盤の設計の考え方をも変えうるアーキテクチャなのだ。
Oracle Database 12cでは、これから主流となるデータベース・クラウド環境の効率的な構築、運用を可能にするマルチテナント・アーキテクチャへと大きな転換を図った。今後オラクルがリリースしていくデータベース製品も、すべてこの新たなアーキテクチャに基づいたものになる。
アーキテクチャこそ大きく変わったが、Oracle Database 11gからデータベースのエンジンそのものに大きな変更はないため、既存のアプリケーションを含め、データベース環境の新たなアーキテクチャへの移行もスムーズにおこなえる。
より多くのお客様にOracle Database 12cのメリットをお届けするため、オラクルはOracle Data PumpやOracle GoldenGateといったデータ移行用のツールを提供し、新しい環境への移行をサポートしている。
“クラウド”をキーワードに大きく進化を遂げたOracle Database 12c。この新しいデータベースを基盤としたトータルなソリューションによって、オラクルは今後もクラウド・コンピューティングの世界を強力に牽引していく。