H-Store と C-Store と Aurora

このエントリは、H-Storeのプレゼン資料 - kuangue’s blogに対して付いたブックマークに、

トランザクションメモリ? OLTP向け高速化? Vertica入ってるし。

というコメントが付いていたので、

  • H-Store(=>VoltDBとしてスピンアウト)
  • C-Store(=>Verticaとしてスピンアウト)
  • Aurora(=>StreamBaseとしてスピンアウト)

の関係性で知っていることをちょっとまとめておこうかなと思いました。
ICDE2005のKeynoteにおいて、Stonbraker大先生は、"One Size Fits All": An Idea Whose Time Has Come and Goneという発表をされました。

これまで、ひとつのRDBMSのエンジンによりあらゆるデータ処理をになってきましたが、それももう限界に来ているのではないかというのが発表の骨子だと思います。データ処理に対する大きく三つのユースケースに分けます。それぞれのユースケースに対して、既存のRDBMSの枠組組にとらわれず0からそれぞれ再実装しようという壮大な話です。

  • ストリーム処理->Aurora
  • OLTP->H-Store
  • OLAP->C-Store

各プロダクトは、最初に書いたいようにそれぞれスピンアウトして、自ら資本を投下して、ビジネスを開始しています。本当にすごいことだと思います。

H-Storeは、以前に書いたエントリOLTP Through the Looking Glass, and What We Found There - kuangue’s blogの既存DBMSボトルネック解析をもとにして、ConcurrencyControlをしない(ラッチやロックをやめる)、スレッドをひとつだけ、redo/undoログ廃止、レプリケーションの採用、ストアドプロシージャのみ、などを取り入れることで、OLTPベンチマークに特化したアーキテクチャになっています。