マイケル・ストーンブレイカー氏らが執筆しているデータベース技術ブログ「The Database Column」に、クラウド対応DBMSに関するエントリが掲載されていました。
エントリのタイトルは「DBMS innovations that will make analytics in the cloud a
reality」(DBMSのイノベーションがクラウドでの情報分析を実現する)。いまやクラウドが新しいコンピューティングのプラットフォームとして注
目されているけれど、既存のRDBM、OracleやMySQLなどは当然ながらそのままでクラウドでスケーラブルに動作させることはできないので、例えばmixiなどはバックエンドとしてのMySQLを大規模に展開すために大変な工夫と努力を重ねています。
このエントリではまさにこうした現状に対して「クラウド対応のDBMSのアーキテクチャ」としての以下の要件を提示しています。
1.シェアドナッシングで大規模分散(MPP)アーキテクチャ
2.クラウド内のノードの追加や故障に対する自動構成
3.ウルトラ-ハイパフォーマンス
4.データの高圧縮機能
5.SQLやJDBCなどの標準対応
著者はどちらかというと既存のOLAP/BIのイノベーションとしてのクラウド対応DBMSを想定しているようなのですが、mixiや楽天やその他の大規模なWebサイトのバックエンドのデータベース基盤としてもクラウド対応のDBMSは求められていますし、その場合にはOLAP/BIと同様に、トランザク
ション性能よりも大規模な参照性能の方が求められているわけで、ここにあげられた各要件はまさにクラウド時代のDBMSの要件となりうるでしょう。
これまでDBMSはコッドの12ルールに代表されるようなリレーショナルとトランザクションの要件を満たすことを中心に進化してきたので、その実装を困難にするような分散した環境での処理は非常に苦手でした。
ですから、上記のクラウドのような分散コンピューティングに対応する要件を満たすためには、もしかしたら現在のDBMSの延長線上とは違うイノベーションが必要なのかもしれません(おそらく、RedBrickとかSybaseIQのようなOLAPエンジンのほうがずっとクラウド対応しやすいかも)。
このDBMSのイノベーションはオラクルやIBM、それにMySQLといった既存のDBMSの延長線上で登場するのではなく、リレーショナルやトランザクションのフル機能をばっさりカットして、シンプルで全く新しいソフトウェアとして登場してもおかしくありません。まだその気配は僕のしるかぎり、見当たらないのですが。個人的には、IBMの研究所のようなアカデミックなところで、こうしたソフトウェアの芽が眠っている気がするんですけれどね。

Junichi Niino
Comments