マルチテナントにするとき、RACについてはどう考えれば?
谷川:ブレードって今は主流じゃないのかしれませんが、以前は小さめのサーバーをたくさん集約してたサーバーが集約では重宝されました。それが、Exadataが出てくるころには、ハードウェアのスペックが上がり、1台で強力なマシンが出てきた。そう考えると、マルチテナントは強力なスペックを持ったサーバーがいいのかな。
新久保:もともとオラクルのRAC(Real Application Clusters、以下RAC)の思想としては、「リソースが足りなくなったら横に伸ばせ」でした。中規模のものをたくさん並べれば論理的には大きく見えるということ。
谷川:ちょうどRACの話になったのでRACの話に移ります。マルチテナントにするとき、RACについてはどう考えればいい?
新久保:基本的にマルチテナントと呼ばれるコンテナデータベース(CDB)の上はプラガブルデータベース(PDB)でRACとは全く関係がない世界です。CDBが何で組まれているか。シングルサーバーなのか、RACなのか、HAなのかという違いです。
谷川:PDB単位でRACするのは意味がない?
新久保:そもそもできません。
近藤:CDBでRACを組み、どこかのノードだけにPDBを配置するのはできなくもないですが。
谷川:CDBでRACを組むというイメージなんだ!その上のPDBにアプリケーションを乗せるというイメージ?
新久保:そうそう。
近藤:(図を書き始める)。これがサーバー、CDB、PDB(↓下図参照)。
新久保:だからPDBは論理的なデータベースと理解しています。
谷川:可用性から考えると、サーバーがどこか落ちても平気で、アクセスする方としても関係ない?
近藤・新久保:関係ないです。
谷川:マルチテナントでRACだと、RACはすっきりするね。
新久保:CDBは物理的な親分みたいなもの。CDBは下がRACならRACと意識する必要はあるけれど、CDBの上にいるPDBには(CDBの下が何であろうと)全く関係ない。
谷川:なるほど。だからCDBがあれば、その上のPDBは自由に移動ができるんだね。最初は分からなくて、CDBでRACするなら、こう(↓下図参照)なるのかと思っていた。
新久保:インスタンスと考えればそうです。
谷川:実際にそれぞれのサーバーに個別にCDBがあるけれど、あたかも1つのCDBに見えるようにするのがRACで、ノード間通信などは今まで通り何ら変わらないと。それで「PDBはスキーマ的なもの」と言われると納得がいく。
新久保:ただオラクルのメッセージ的には「PDBはスキーマ統合ではない」となっているので、ここで自分がPDBをスキーマのようだと言いふらすのはよくないかなとためらいが(笑)。
谷川:現実的にいいかは別として、大きなサーバーなら、マルチテントでRACを構成するのにOracle VMを使うというのもあり?
新久保:ありです。ただそれでも管理するものを作らないと。
谷川:CDBで実現できる可用性と、RACで実現できる可用性があるということだね。RACそのものは何か変わったことはありますか?
新久保:自分が使うオペレーション的にはなかったかと。
谷川:使い勝手とか?設定として変えなくてはならないこととかも?
新久保:特にないですね。強いて言えば、サービスという概念が必須となります。今までサービスを使わない人もいました。しかしPDBを作るとなると、サービスでしかアクセスできなくなります。
≪気になったら今すぐトライアル!≫
Oracle Database 12c トライアル・キャンペーン!
Oracle Database 12cは、もうお試しになりましたか?
Oracle Technology Networkでは、Oracle Database 12cのリリースを記念して、トライアル・キャンペーンを実施中です。 Oracle Database 12c 試用版ソフトウエアをお試しいただき、アンケートに回答していただいた方の中から、合計1,212名様にOracle Database 12cロゴ入りのスペシャルグッズをプレゼントします。Oracle Databaseを使用しているデータベースエンジニアの皆様、ぜひ挑戦してみてください!