マルチテナント・アーキテクチャでDBAとアプリケーション管理者の役割が明確に分離できる
これまでは、データベース導入時には、どのサーバーマシンを選び、それにどれくらいのメモリー、ストレージを搭載するか、さらにインスタンスをいくつ上げるか考慮し構成を設計した。そういったサーバーが、複数あるのが企業ユースでは普通だ。これからは、それらに加え、そのサーバーの中にいくつのマルチテナント・コンテナ・データベースを作るのか、さらにどのコンテナで、どのプラガブル・データベースを動かすのかを考える必要があるのだ。
これは、具体的にどういうことだろうか。
たとえば、仮想サーバーを使ってデータベースを統合するのは、企業においてもすでに導入されている。ところが、せっかく統合しても、まとめてバックアップを取りバックアップ作業を効率化することはなかなかできない。これは技術的に難しいというよりも、たとえば統合したAのデータベースとBのデータベースでは利用する部門が異なり、バックアップを同じタイミングでは取りたくないといった理由が管理作業の効率化を邪魔するのだ。そうなると、仮想化で統合はしたけれども、結局はデータベース単位で個別にバックアップを取ることに。これは、パッチあてやバージョンアップなど、他の管理作業でも同様なのだ。仮想化の管理レイヤーが増える分だけ、管理作業はむしろ複雑化しかねない。
これがマルチテナント・コンテナ・データベースを利用すると大きく変わる。たとえば、日次バックアップ用、週次バックアップ用のコンテナを別々に作っておき、要件に応じプラガブル・データベースをそれぞれに刺し動かす方法がある。または、パッチあてなどのメンテナンスを目的とする待避用コンテナを作っておき、必要時にだけプラグして作業することも可能だ。もちろん、ピーク時にだけ高性能なサーバー上のコンテナに刺し直し、必要な性能を確保する使い方もあるだろう。このように、今後のデータベースの管理者は、コンテナをどう構成すると、効率的で管理性が向上するのか、それを考えることになる。
これは、データベース管理者とアプリケーション管理者を明確に分けることにつながる。データベース管理者は、マルチテナント・コンテナ・データベース以下のレイヤーの管理だけに集中すればいい。個々のプラガブル・データベースやその上で動くアプリケーションの管理は、アプリケーションサイドの管理者が担う。こうすることで、とくに日本にはあまり数多くいない「専任のデータベース管理者」という存在を明確化、育成できることにもなる。
このアプリケーションとデータベースの管理者を分けるメリットは、作業を効率化するだけでなくセキュリティ対策、コンプライアンス確保の面でもメリットが大きい。
「それぞれの管理者の役割が明確になり、その分野のプロフェッショナルになれます。さらに、データベース管理者は、プラガブル・データベースに触る必要がないので、たとえばそこで管理されている個人情報などにアクセスする権限はなくていい。まさに役割と権限を、マルチテナント・アーキテクチャで分離できるわけです」(田村氏)
ライセンス費用の面でもメリットは大
このマルチテナント・アーキテクチャを利用するには、Oracle Database Enterprise EditionのオプションであるOracle Multitenant Optionを購入する必要がある。これだけ見ると、オプション分だけ費用が増えるのかと思うところ。しかし、場合によってはこの追加オプションの導入だけでライセンス費用の圧縮となる可能性もある。Multitenant Optionは、親となるサーバー単位のNamed User PlusかProcessorライセンスとなる。コンテナやプラガブル・データベース単位でのライセンスは必要ない。1つのコンテナで252個のプラガブル・データベースが作れるが、仮にそこまでデータベースを増やしても追加ライセンス費用は発生しないのだ。
また、コスト面から数多くのStandard Editionのデータベースを仕方がなく利用しているユーザーも多いだろう。Enterprise Editionのあの機能を使いたくても、諦めていた。そんなユーザーが、そのデータベースをプラガブル・データベース化しマルチテナント・コンテナ・データベースに移行すれば、そのデータベースは自動的にEnterprise Editionとして利用できるのだ。このように運用管理性向上のために統合するだけでなく、ライセンス費用の面からも12cのマルチテナント・アーキテクチャへの移行は、大きなメリットを生み出す可能性がある。
この他にもデータベースのレベルで情報のライフサイクル管理を実現するHeat Map機能、アクセスするユーザーやアプリケーションに応じデータを隠すことができるData Redaction機能など、12cにはさまざまな新機能がある。「じつは、新機能の多くが、マルチテナント環境を効率的に利用できるようにするためのものとなっています」と田村氏。個別に使っても効果はあるが、マルチテナントで利用することで、その効果が最大化するのだ。もちろん新機能だけでなく、Real Application Clustersなどの既存機能もマルチテナントに対応している。新たなマルチテナントという環境の中で、データベースがいったいどのような動きになるのか。興味のあるエンジニアは、是非Oracle Technology Networkのサイトから12cをダウンロードして試してみてほしい。
***
さて、今回は目玉である、マルチテナント・アーキテクチャの話をメインにお届けした。今後DB Onlineでは、さらにマルチテナント・アーキテクチャを掘り下げるほか、その他の新機能にもフォーカスを当てて、Oracle Database 12cの真の姿を明らかにしていきたいと考えている。実際に検証作業に携わったエンジニアからその印象を聴き、利用した際に感じた本音の部分も引き出して、皆さんにお伝えする予定だ。
【Oracle Technology Network 特別企画】
Oracle Database 12c トライアル・キャンペーン!
Oracle Database 12cは、もうお試しになりましたか?
Oracle Technology Networkでは、Oracle Database 12cのリリースを記念して、トライアル・キャンペーンを実施中です。 Oracle Database 12c 試用版ソフトウエアをお試しいただき、アンケートに回答していただいた方の中から抽選で、合計1,212名様にOracle Database 12cロゴ入りのスペシャルグッズをプレゼントします。Oracle Databaseを使用しているデータベースエンジニアの皆様、ぜひ挑戦してみてください!