高性能化のキーワードはパラレル化とデータ圧縮
OOWではここ数年、プレビューデイにあたる日曜日夕方の最初のキーノートセッションに、CEOのラリー・エリソン氏が登壇する。エリソン氏の口からどんな過激な言葉が飛び出すのか、それを期待する人々がセッション開始の1時間前くらいから列を作っていた。
今年のエリソン氏がまず話題にしたのは、Oracle Exadata Database MachineとOracle Exalogic Elastic Cloudについてだ。
「Sunの買収をした際に、Oracleはすぐにハードウェアをやめてしまうのではと言われた」(エリソン氏)。
しかしながら、Oracleは引き続きSunのハードウェアも進化させているし、2つのExaシリーズのようにまったく新しい画期的な"Engineered Systems"製品を提供していると言う。
「ハードウェアとソフトウェアを一緒にして提供することで、高いレベルの製品を提供できる」(エリソン氏)。
ハードウェア、ソフトウェアすべてを自分たちで設計できるようになり、目標としたのがIBM Power 795 serverだったという。IBMで出しているもっとも高性能なものよりも速くしたい。そして、単にパフォーマンスで上回るだけでなく、コストパフォーマンスもよくしたいと考えたのだ。
パフォーマンスでトップに、そしてそれをよりローコストで提供するために行ったのが「すべてをパラレル化すること」。高性能化するのに高速処理ができるチップを開発すること。そして、SSDなどの新たテクノロジーを採用するというのも1つの方法だ。とはいえ、それらには限界がある。Oracleでは、さらに速くするために、「アーキテクチャすべてをパラレル化した」。単にハードウェアをパラレル化するだけでなく、その複数あるリソースを並列化して高速か化できるようにソフトウェアの工夫を施したというわけだ。
ExadataやExalogicは、ネットワークのインフィニバンド以外は、すべてコモディテイ化した標準のパーツを採用している。インフィニバンドの太いパイプを最大限に利用するために、ストレージからサーバーに至るまでアーキテクチャすべてをパラレル化しており、その結果数十倍の性能が発揮できるようになったという。このパラレル化は、性能向上だけでなく信頼性の向上にも寄与している。ハードウェアにしてもソフトウェアにしても、壊れることがあるが、Exaシリーズはすべてがパラレル化し複数あるので、単一障害が発生することはない。
もう1つの高性能化、コスト削減のための「魔法」がデータ圧縮だとエリソン氏は言う。カラム単位での圧縮ができると、テーブル形式にリレーショナルデータベースのデータは大きく圧縮ができる。「必要なディスクは1/10になる」とのこと。圧縮でサイズが1/10になるということのメリットは、余計なディスク装置を購入しなくていいだけではない。データベースで扱うデータが1/10になれば、移動させるデータの量も1/10になる。仮に性能が向上して10倍速くなり、さらにデータ量が1/10になれば両方の効果で「100倍速くなる」とのこと。もちろんすべてがそうなるわけではないが、理論上はたしかに100倍になる可能性はある。
もう1つ、圧縮を魔法と言う理由は、90%ぶんのディスク装置を買わなくて済んだぶんのコストを、より高速な処理が行えるDRAMなどに投資できるということ。これを組み合わせれば、データベース全体でさらに速くなる。これを具現化したのがExadataだと言うのだ。「Exadataはこれまでのものとはまったく違うマシンだ」とエリソン氏が言うのもうなずける。
Exalogicはこれのミドルウェア版、こちらでもパラレル化を進めた結果高速な処理が実現している。データベースのように圧縮などの魔法はないが、「Javaアプリケーションなら10倍くらい、ユーザーのカスタムアプリケーションでも4倍くらいは速くなる」とのこと。同じ金額で4倍の性能になれば、それは極めて意義の大きいことだとエリソン氏は主張する。