今回のマルチテナントの発想
新久保:今回のマルチテナントの発想はこうだと思います。これまで10個のインスタンスで運用していたところ、マルチテナントにすると20個まで運用できるようになると。これはなぜか。当初インスタンスは10個稼働していたけれど、全部フル稼働しているわけではなくて空きがあります。だからリソース(の余剰分)を共有すればより多く稼働させることができるということだと思います。
加えてぎゅっと詰め込めるハードウェアが出てきました。メモリの1TB、2TBなんて普通です。これらを合わせた結果、出てきたのがマルチテナントというアーキテクチャだったのではないかと。
谷川:そうすると、やはりハードウェアリソースが潤沢でないとマルチテナントは効果ないのかな。Exadataほどではなくても、サーバーがかなりのハイエンドでないと12cのマルチテナントに急いで移行する意味がないのでは。そんな疑問が出てきてしまう。
近藤:ケースバイケースです。サーバーと要件に合った個数のマルチテナントで設計し、運用するのが基本です。
谷川:ハードウェアリソースを分けるかどうかについては?
近藤:インスタンスで分割するか、マルチテナントで分割するか、どうハードウェアリソースを分割するかの判断は、例えばメモリーを沢山つかう処理があるか、ハードやインスタンスが停止した時の影響範囲をどのくらい許容できるかどうかです。クラスタのときも何ノードでやるかどうかはSLAとの兼ね合いでしたよね。
谷川:今の話は「インスタンスやCDBでいくつ乗せるかは設計が大事になる」ということと、「見積りにはパフォーマンス要件が必要です」ということですね。ユーザーからしたら「これだけ投資したらいくつのデータベースを管理できますか」というのが気になると思います。そのうちノウハウやデータが出てくるのかな。
近藤:VMでもそうですが、見積もりはCPUやメモリの使用状況などで試算します が、実際に稼働させてみると予想と違うこともあります。そのため実機テストが重要です。宣伝になってしまいますが、Oracle Real Application Testingには複数のデータベースの負荷を集約してテストする機能があります。
新久保:CPUやI/Oなどキャップ(制限できる)できるリソースはいいとして、メモリなどキャップできないものはどうしようもありません。メモリにこだわってしまうのはキャップできないリソースだから。
近藤:どのくらい共有するか、分けるかは悩ましいでしょうね。共有すれば効率的に使えて集約率は高くなりますし、キャップして分ければ集約率は下がってしまいます。
新久保:CPUは静的なキャップで、共有しているけど困ったら頭をぐっと押さえるような感覚です。柔軟でいい。しかしそういう概念がメモリにはない。
谷川:データベースに対する負荷が比較的平準化しているものを集約するならいいけど、負荷に差がある、あるいは変動するものを集約するとなるとどうなるだろうか。単純にCDBを分けるだけではなく、インスタンスを分ける、あるいはサーバーごと分けるという設計につながるのだろうか。
近藤:そうですね。CDBを、RAC構成にしてノードを分けるのもその1つです。
新久保:先に出た「SLAで分ける」はその通り。逆にそれしか手はない。SLAが高いもの、緩いもの、ないものでCDBを分けるのが現状のベストかと思います。
谷川:実際会社のシステムはそのくらいおおざっぱに分けられます。なのにSLAがきついサーバーにルーズなデータベースを走らせたりしているのでしょうね。
新久保:例えばでかいコンテナ船があったとします。2万ものコンテナを運んでいます。乗せるときに1つひとつコンテナの中身なんて見ませんよね。実際のデータベースも申請されれば「はいどうぞ」とサーバーに乗せてしまう。しかしCDBに乗せるPDBは事前にきちんと中身を見るようにしなくてはなりません。運用中に突然でかくなってしまうこともありますから。共有すると誰かが占有してしまうことも起こりえます。これはOracle Databaseだからという話ではなくてね。
近藤:監視が大事ですね。監視ができていれば、なにか問題があった時にも、すぐにリソースを制限するなどの対処ができます。
≪気になったら今すぐトライアル!≫
Oracle Database 12c トライアル・キャンペーン!
Oracle Database 12cは、もうお試しになりましたか?
Oracle Technology Networkでは、Oracle Database 12cのリリースを記念して、トライアル・キャンペーンを実施中です。 Oracle Database 12c 試用版ソフトウエアをお試しいただき、アンケートに回答していただいた方の中から、合計1,212名様にOracle Database 12cロゴ入りのスペシャルグッズをプレゼントします。Oracle Databaseを使用しているデータベースエンジニアの皆様、ぜひ挑戦してみてください!