自作ログ構造化ストレージ
ログ構造化ストレージをここ2ヶ月ほど作ってます。
単一ノード上で動作するKVSとしては競合実装よりずっと早い感じですが、あまりに差がつきすぎてなんか計測条件まちがえてる気もします。
具体的には、100万keyを10000回のトランザクションに分けてputするとこんなかんじ:
_syncはトランザクションごとにfsyncした場合、syncなしはプログラム終了時にまとめてfsyncした場合。kyoto cabinet syncありは2時間では終わりませんでした。
自作実装の細かい性能数値はまだ秘密です。
kyoto cabinetと、bdbの評価コードをgistに上げておくので、なんかまずい事していたら指摘していただけるとありがたいです。
https://gist.github.com/771461
実装に興味があるひとはコメントとかメールください。
追記:HailDB(InnoDB fork)も測りました。はやい。
ssdだと私の実装のがはやいけど、raidだと負けるね。おそらくpage単位以下でのread/writeをするかどうかかな。
今は圧倒的にhaildbよりはやいよ!