インフラになったRAC
谷川:話を元に戻すと、最初マルチテナントでRACにするとCDBやPDBはどうなるか不明でした。でもRACはCDBよりも下の話だからPDBはRACを意識する必要はないんだね。
新久保:RACはインフラになったということですね。経緯を振り返ると、かつてはノード間のネットワーク通信が遅く、その対策として「InfiniBandにすればいいじゃん」となりました。しかしそれで解決するのか。レイテンシーが小さくなり数がさばけるようになったとしても、PDBを最大限252個も積めばメッセージの数はとんでもないことになります。するとRACのLMSがCPUをぐりぐり回してプロセスがさちります(頭打ちになる)。
そうなると高速のバスとか関係なくて、データベース内部がどれだけ賢くなれるか。次はそういう方向性にならざるをえない。ハードウェアをドーピング(強化)する時代は(いったん)終わり。
谷川:確かにPDBをたくさん積んだらその負荷が高まるよね。
近藤:クラアスタウェアの部分はFlex Clusterという新しい構成ができるようになりましたし、インターコネクトは…
谷川:なにか言いたげ?
新久保:えー。知りたーい。
近藤:いやいやいやいや(苦笑)。インターコネクトの所は常に改良やパフォーマンス・チューニングをしてきてるんです。
谷川:パフォーマンスは気になるところ。例えば3ノードのRACを組んでいたところ、それを12cのCDBにするとどれだけ早くなるのか。条件にもよるだろうけど、ぜひ検証してもらいたいな。
新久保:海外の研究機関が検証した資料を見ました。11gと12cのパフォーマンス比較とは少し違い、SQLの統計情報の比較でした。それによるとSQL的にはほぼ同じ。レイテンシーとかは違うんですよ。
谷川:一見すると、CDBではない従来型と、CDBにしたマルチテナントだとCDBが入る分、遅くなりそうなイメージがある。
近藤:確かに言われます。1つレイヤが増えるからどうなのと。しかし先に言ったとおり、レイヤというよりはスキーマに近いのでパフォーマンスには影響はありません。
新久保:CDBは普通のデータベースとして機能しています。普通にユーザー追加とかできるんですよ。最初は「できちゃうんだー」と驚きました。
谷川:そのCDBを含む、最初というのかな、親となるもの。サーバーで最初に動くデータベースはあるんだよね。
新久保:それがCDB。
谷川:そうか!そこも誤解していました。親となるものがあり、そこにCDBやPDBを作るものかと。
新久保:親がCDBです。別の言い方をしたら親はOS。
谷川:なるほどね。CDBはサーバーにいくつも作れますよね。
新久保:いつもの「create database」でCDBと指定します。
近藤:今までのデータベースに相当するのがCDBです。これからはデータベースのタイプは2つ。CDBかPDBか。作成するときにいずれかを選べます。
谷川:「CDBを作る」というよりは、データベースを「CDBとして作る」のか。
―次回に続きます。
≪気になったら今すぐトライアル!≫
Oracle Database 12c トライアル・キャンペーン!
Oracle Database 12cは、もうお試しになりましたか?
Oracle Technology Networkでは、Oracle Database 12cのリリースを記念して、トライアル・キャンペーンを実施中です。 Oracle Database 12c 試用版ソフトウエアをお試しいただき、アンケートに回答していただいた方の中から、合計1,212名様にOracle Database 12cロゴ入りのスペシャルグッズをプレゼントします。Oracle Databaseを使用しているデータベースエンジニアの皆様、ぜひ挑戦してみてください!