Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

マルチテナントに未来はあるか

edited by DB Online   2014/06/30 12:00

 「ユーザーにとってマルチテントのどこにメリットがあるんだ!」―SAP SAPPHIRE NOW 2014の基調講演後のプレス向けセッションで、記者からのSAP HANAのマルチテナント対応について質問された、SAPの共同創業者で会長のハッソ・プラットナー氏。彼は興奮気味にマルチテナントなんて必要ないとまくし立てた。マルチテナントは「ベンダー側の都合」であり、ユーザーにとってはなんらメリットはないというのが以前からのプラットナー氏の主張だ。

データベースのマルチテナントなんてベンダーの都合に過ぎない

プラットナー氏
「ユーザーにとってマルチテナントのどこにメリットがあるんだ!」
とまくしたてるプラットナー氏

 SAP HANAはデータベースとして進化し、いまや基幹系システムのSAP ERPも動かせるようになった。また、今後サービス化されるSAPの新しい「シンプルERP」のエンジンもHANAだ。このシンプルERPはクラウドでのサービスとなるが、それでもHANAにはマルチテナントは必要ないとプラットナー氏は断言する。

 世の中に「マルチテナント」という言葉を定着させたのは、セールスフォース・ドットコムのCEO マーク・ベニオフ氏だろう。彼は何年間にもわたり、同社のクラウドサービスが「マルチテナントであることこそが大きな特長の1つ」と主張し続けてきた。莫大なリソースを複数のユーザーで共有する。そうすることで安く早くアプリケーションを提供できる。たんなるメリットというよりもクラウドの必要条件の1つが、マルチテナントという印象を市場に植え付けたと言っても過言ではない。

世の中に「マルチテナント」という言葉を定着させた、マーク・ベニオフ氏
世の中に「マルチテナント」という
言葉を定着させたマーク・ベニオフ氏

 そのマルチテナントをどのレベルで実現するべきかでベニオフ氏に喧嘩を仕掛けたのが、彼の師匠でもあるオラクルCEO ラリー・エリソン氏だ。アプリケーションレベルでマルチテナントを実現しているSalesforceのクラウドサービスは不完全で伸縮性に乏しいと指摘した。実際Salesforceのサービスにはアプリケーションレベルでマルチテナントを実現しているがために、「ガバナー制限」と呼ばれる厳しい制約がある。これをうまく回避するのが、Salesforceで仕事をするエンジニアのテクニックの1つにもなっている。

 喧嘩を仕掛けたオラクルは、マルチテナントをデータベースのレベルで実現してみせた。それがOracle Database 12cの最大の特長となる「マルチテナント・アーキテクチャ」だ。コンテナデータベースとプラガブルデータベースを使い、1つのデータベースの中に「完全に分離されたデータベース」をいくつも動かせるようにした。

 後にベニオフ氏とエリソン氏はあっさりと和解し、セールスフォース・ドットコムとオラクルは2013年6月戦略的な提携を発表する。今後セールスフォース・ドットコムはオラクルのオペレーティングシステム「Oracle Linux」、エンジニアドシステムズの「Exadata」、そして「Oracle Database」および「Java Middleware Platform」をベースに、同社サービスの標準化を図っていくと表明している。

どのレベルでマルチテナント性を確保するべきか

 ここで整理しておきたいが、データベースにマルチテナント機能があることと、クラウドのサービスがマルチテナントで提供していることは違う。クラウドのサービスを利用するユーザーにとっては、マルチテナントがどのレベルで実装されていても関係ない。結果的に自分たちが利用するクラウドが安全で柔軟な伸縮性を持っていればいい。なのでマルチテナントがアプリケーションのレベルでもデータベースのレベルでも、はたまた仮想化ハイパーバイザーのレベルでもあまり気にしないかもしれない。そう考えれば、プラットナー氏が言うようにデータベースにマルチテナントの機能は必須ではないだろう。

 SAPの主力であるERPの世界は、アプリケーションやデータベースのレベルで仮想化し分離するよりも、クラウド上であってもいっそ自分専用のリソースを確保したい。他人の利用がいっさい自分たちのシステムに影響を与えないで欲しいと考える企業も珍しくないだろう。これにはIBMのSoftLayerのように、いっそベアメタル型のクラウドサービスの上でERPを動かしたいと考えるかもしれない。

 一方でとにかくなんらかのアプリケーションをクラウドで安く使いたい、素早くグローバル展開したい企業であれば、結果的にデータベースのレベルでマルチテナントを実現しているクラウドサービスや、Salesforceのようにアプリケーションレベルでマルチテナントを実現しているサービスを選ぶほうがコスト効率はよくなる。サービスベンダー側の管理コストやリソースの有効利用を考えれば、なるべく上位レイヤーでマルチテナントを実現しているに越したことはないからだ。

喧嘩を仕掛けたラリー・エリソン氏
マルチテナントの件でベニオフ氏に
喧嘩を仕掛けたラリー・エリソン氏

Salesforceの場合は冗長構成は別として、基本的に1つのデータベースを複数のユーザーで共有する。世界中の大勢のユーザーが、1つのアプリケーションを利用するアーキテクチャだ。アップデートもパッチ当ても1つのシステムに対して行えば、その恩恵はそれを使っているすべてのユーザーが享受できる。実際はそんなに単純な話ではないかもしれないが、考え方はそうなっている。

 Oracle Database 12cのマルチテナント・アーキテクチャも管理単位は1つのコンテナデータベースだけでいい。その上で動くプラガブルデータベースがいくつあっても、管理の基本は1つのコンテナ単位で済んでしまうのだ。

 一方でSAP HANAの場合は、ユーザー企業ごとにデータベースが動くことになる。ユーザーが増えればそれだけ管理対象のデータベースは増える。数千、数万と契約が増えていけば、それだけ管理手間は増えるだろう。そうなれば、最終的にはその手間の分のコストがクラウドサービスの費用にも影響するはずだ。

 とはいえSAP HANA Enterprise Cloudのように、管理を行うのがSAP自身であれば運用管理の作業をなるべく集約し効率化する工夫はできる。むしろ、ハイパーバイザーのレベルで完全に分離できているメリットがアピールポイントになるかもしれない。

 プラットナー氏の言うように、データベースにマルチテナント機能がいるかどうかはベンダーの都合と言うのは、たしかにその通りの面もある。ユーザーはマルチテナント機能が欲しいのではなく、マルチテナントで実現されたサービスを使いたいだけだからだ。とはいえ、自分たちがどのようなアプリケーションをクラウドで活用したいのか、さらにはハイブリッドクラウドのようなものも将来的には視野に入っているかなどによっては、どのレベルでマルチテナント性が確保されているかをユーザーも意識する必要がある。

 SAPとオラクルのマルチテナントに対する考え方の違いは、アプリケーション屋とデータベース屋の発想の違いかなと思う。どちらの主張が正しいではない。自分たちが利用しようとしているものでは、マルチテナントをどう捉えておけばいいかを考えておく必要がありそうだ。



著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジ...

バックナンバー

連載:週刊DBオンライン 谷川耕一

もっと読む

All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5