スピード、スケーラビリティ、オープン
コード名に「ブルドーザー(Bulldozer)」を冠したHP Verticaの最新バージョンは6.1。Hadoopコネクタの提供やR言語サポートの拡張、Amazon EC2へのデプロイの簡素化などが新たな特徴として加わっており、分析プラットフォームとしての機能がより強化されている。
「扱うデータ量がテラバイトからペタバイト、そしてエクサバイトに進化している時代にあって、従来のRDBMSでデータを管理するのは限界に近づいている」とSelland氏は語るが、これに対してVerticaは名前の通りブルドーザーのようなパワーでビッグデータ分析を実現するという。
Verticaの魅力について、Selland氏は次の4つの要素を挙げている。
1. 本当に分析しているのか?と思わせるほどの超高速分析
VerticaはもともとSQLの大家であるマイケル・ストーンブレーカー博士が設立した企業であり、最近聞くことが多くなったカラムナー型(列指向型)データベースの草分け的存在でもある。
カラムナー型は従来の行指向型よりも大量のデータを処理する際に有効なアプローチとされており、とくにディスクI/Oとメモリ消費量を大幅に削減することが可能になる。Selland氏は「Verticaは従来のアーキテクチャに比べて50〜1000倍の分析パフォーマンスを発揮する」と強調しており、あまりの速さに驚いた顧客から「本当に分析しているのか?」と聞かれたこともあるという。
2. ほぼ無限のスケーラビリティ
先にも挙げたように、Verticaはコモデティなx86マシンで稼働するプラットフォームである。
シェアードナッシング方式(MPP)を採用しているので、データ量が増えたら単にノードを追加していけばいい。Selland氏は「論理的にはほぼ無限に、リニアに拡張することができる」としているが、ペタバイト級のデータであってもパフォーマンスを落とすことなくスケール可能な点が高く評価されている。
3. オープンで標準のアーキテクチャ
Selland氏は「オープンであることはVerticaにとって非常に重要なポイント」と語っている。
アプライアンスではなくコモディティマシンで稼働することも、HadoopやR言語のビルトインサポートを実現したことも、オープンなアーキテクチャであればこそだ。また標準的なJDBC/ODBCドライバを採用しているのでTableauやMicroStrategyといったBIツールとの連携も容易だ。
「ある意味、Verticaは単なるプラットフォームであり、ビッグデータ分析のイネーブラー的な存在」とSelland氏は述べているが、商用か非商用かを問わず、さまざまなプロダクトと無理なく連携できる点は、顧客の既存の資産を活用し、コストを抑えるという面からも有効だといえる。
4. データ分析に最適化されたストレージ
データを格納するストレージを有効活用するため、Verticaはデータの属性ごとに最適な圧縮アルゴリズムを適用しており、50〜90%という高い圧縮率を実現している。
「簡単にいえば、1000万件の日本人のデータのうち、“マサヒロ”という名前のデータが200件あった場合、200回ではなく1回で格納する。こうすることでデータ検索のI/Oが減り、高速処理が実現する」とSelland氏。属性ごとに異なるアルゴリズムという点が興味深い。