分散RDBを超えろ!!!(mixi diaryより抜粋)

これからやりたいデータマイニングというのは、いわば集合知からどれだけ広告効果の最大化に役立つ材料を引き出すか、というデータ量がとても肥大化しやすい分野なのだけど、そこには常に厄介な問題が横たわっている。スケーラビリティだ。

スケーラビリティというのは、一般にはハードウェア性能やデータベースの選択が話題になりがちなのだけど、そんな中とりわけ異色なプロジェクトを偶然にも見つけてしまった。C-Storeという、RDBとは全く異なる概念でデザインされた新手のオープンソースデータベースである。

新手といっても中身はとてもシンプル。RDBが行(レコード)単位でデータ群を格納・共有するのに対し、C-Storeでは列(属性)単位でデータ群をDB毎に格納する。これで何が良いことが起きるかというと、データの圧縮性能が格段に高まるということ。例えばmixi1000万人の会員情報すべてを管理しようとしたら大変だけど、それが氏名だけならとてもコンパクトに圧縮できそうだよね?

で、このデータ圧縮効率を生かして、既存のRDBにない拡張容易性と分散性能(ただしReadのみ)をもたらそうというのがC-Store。何とも古典的な発想なのだけど、よく考えたらWebアプリって同期処理能力よりも圧倒的にRead性能が問われるわけで、ある意味時代に合っているのかも、と感心した次第なのである。

Web出遅れ組の自分としては、これから先よほどの変化球でも投げない限り話題に上ることもないわけで、心の中ではこんな枯れた分野にこそブレイクスルーが起きるのを期待していたりする。そんなわけでFlex2以来、久々に時間を投資してもいいかなと思ったテクノロジの紹介でした。