NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!

2010年5月31日

「多くのOLTPデータベースは30年前の設計を基にしており、今日の“Webスケールな”データベースの負荷を想定していない。これら伝統的なデータベースは、処理時間の90%以上がログ、ロック、ラッチ、バッファ制御といったオーバーヘッドに費やされ、しかもそれらによって限られた性能やスケーラビリティしか実現できていない」

VoltDB: Fast, Scalable SQL RDBMS with ACID

Ingresの開発者でありInformixのCTOなどデータベースベンダの要職を歴任したデータベース研究者の大御所、マイケル・ストーンブレイカー氏が開発したVoltDBはプレスリリースでこのように既存のリレーショナルデータベースの欠点を示した上で、インメモリデータベースをベースにこれらのオーバーヘッドを除去し、ACIDによるデータ一貫性を維持しつつ大きな性能向上とスケーラビリティを実現したと説明されています。

SourceForge.jpの記事「「NoSQL」を上回る性能を目指す次世代型高速SQLデータベース「VoltDB」登場」でも話題になったVoltDBは果たしてどのようなデータベースなのでしょうか。調べてみました。

ACIDを実現しつつ桁違いの高性能

Webサイトによると、VolDBは次のような特徴を備えています。

既存のリレーショナルデータベースはスケーラビリティに乏しく、大規模なWebサイトのバックエンドでは「NoSQL」と呼ばれるデータベースがスケーラビリティや速度の面で有利だと考えられていました。

VoltDBの動作環境はギガビットイーサネットで接続されたPCサーバによるクラスタ構成で、対応OSはCentOS(UbuntuとMacOSに対応した開発中のバージョンもあり)。Sun JDK 6の上で動作し、クラスタを構成するサーバの時間を厳密に同期するためにNTPを利用、ソフトウェアのビルドツールとしてAntを用います(ストアドプロシージャをJavaクラスにするためか)。

しかしVoltDBはリレーショナルデータベースであるにもかかわらず、NoSQL以上の性能を実現すると宣言しています。今回はVoltDBとCassnadraのベンチマークをみてみましょう。

ベンチマークでCassandraを圧倒

NoSQLデータベースとVoltDBのベンチマークによる性能比較は、VoltDBのブログ「Key-Value Benchmarking」で説明されています。執筆したのはVoltDBエンジニアリングチームのJohn Hugg氏。比較対象はTwitterやDiggが採用を検討中とされるCassandraです。

Hugg氏は、大規模データ処理のために開発された両者についてスケーラビリティ、冗長性、障害復帰などについて調査するのが目的だとして、HDDに書き込むタイプのNoSQLデータベースであるCassandraと、インメモリデータベースであるVoltDBの比較は「リンゴとオレンジを比較するようなものだというのは分かっている」と書いています。

ベンチマークのハードウェア構成は、2ソケットのXeon5500、48GBメモリ、1万5000回転のSASディスクのPCサーバを、シングルノードと3ノードクラスタの構成の2パターンで行っています。

1つ目のテストは、50バイトのキーと12キロバイトの値のペアを50万組ロードしておき、任意の2キーに対して2分の1の確率で値を読み出す、もしくは2分の1の確率で値を書き換える、という処理を行いました。CassandraとVoltDBでの5分間の処理量を比較。

Cluster Configuration VoltDB Cassandra Throughput Increase
1 Node 17,000 7940 2.2X
3 Nodes w/o Replication 19,800 17,400 1.1X
3 Nodes w/ Replication 12,600 4450 2.8X

結果はVoltDBがCassandraを1.1倍から2倍と上回っています。

このほかさらにスキーマを複雑にしたテストなど全部で3種類のベンチマークを実行し、VoltDBはCassandraに対して4.6倍から最大で16倍の性能を示す結果となりました。全体にVoltDBはCassandraを圧倒したといっていいでしょう。

この高性能をたたき出すVoltDBの仕組みがどのようになっているのかは、いま資料を読んでいるところですので、その内容については次回「NoSQLを上回る性能のVoltDB、そのアーキテクチャとは」の記事で。

関連記事

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : NoSQL , リレーショナルデータベース



≫次の記事
NoSQLを上回る性能のVoltDB、そのアーキテクチャとは
≪前の記事
意外に多い? すでに46%がHTML5対応ブラウザを利用中との調査

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus