db

分散データベースをベンチマークするチェックリスト

はじめに ベンチマークとは、正確にちゃんとやろうとすると凄く時間のかかるもので、結局のところ、どこかを妥協しないといけないものだと思います。しかし時間を節約しようとサボってやると、何の知見も得られず、最悪誤った判断を与えて、信頼性を落として…

MyCassandraというモジュラー式のNoSQLを作ってます。

今まではCassandra-0.6.2をベースに開発を行っていましたが、 せっかく公開するならば、新しいバージョンでやるべきと考え、現在MyCassasndra-0.7にアップグレードを行っているところです。近いうちに公開できるよう頑張ります!今日はMyCassandraに関するド…

MyCassandraにRedisを追加

MyCassandraでRedisを使えるようにしました。前述の通りJDBCを使うJDBC-Redisは実装がいまいちでしたので、独自api実装のJRedisを利用するようにしました。これでMyCassadraは物理ストレージとしてSSTable,MySQL,Redisを使うことが出来ます。(Dynamo的な部分…

MySQLのバルク処理は書かなきゃ駄目。

db

前回のYCSBのload phaseがMyCassandra(Cassandra+MySQL)ではめちゃくちゃ遅いという件でしたが、タイトル通りです。さて大量のインサートをするときに、以下の3つの手法によってどれくらい差が出るのだろうか? singleインサートを何度もやる マルチプルイ…

遅いのはSQLパーサー?

db

前述したYCSBを使ってCassandraとMyCassandraのベンチマークを取っているところ。まだ途中なのでちゃんとした結果は公表出来ないのですが、とりあえず1ノードで1KBのレコードを100万件ロードして、ベンチをとったところ、基本的に予想通りな結果になってます…

JDBC-Redisは使えない

db

MyCassandraとは別にCassandraのMemTable,SSTableを別のデータベースに差し替えてみようと考え、試しにKVSのRedisに注目した。Redisは簡単に言うと永続化可能なmemcachedであり、 通常はオンメモリなKVSと動作し、インターバルごと、書き込みの頻度、もしく…

YCSBパラメータ

db

実行パラメータ load: loading phaseを実行 t: transaction phaseを実行 db: 使用するdbインタフェース層 P: workload用のファイル hosts: サーバーホスト(コンマで区切って複数指定可能) recordcount: ロードするレコード数(デフォルトは1,000) threads: YC…

YCSB導入

db

実装したMyCassandraをフォーマルなクラウドベンチマークで測定する為にgithubのWikiを参考にYCSBを導入した。http://wiki.github.com/brianfrankcooper/YCSB/getting-startedまずはCassandraについて動かせるようにしたのでメモしておく。 Cassandraのバー…

No More KVS

db

Cassandraよりも早いオンメモリRDBとされるVoltDBについて調べてて思ったのだが、一般的なRDBは例えオンメモリでもKVSには遠く及ばないわけだけど、 そこで原因になってるSQLレイヤーを介さずにC++によるUDF使って直接RDBのストレージにアクセスする手法はど…

列指向RDBMSまとめ。

db

はじめに 列指向RDBMS(Infobright,InfiniDB,LucidDB,MonetDB)について調査したものを以下にまとめます。 まとめ Infobright MySQL上にビルド 開発状況はプロダクション/安定、ドキュメントが充実しており、インストールなど扱いが容易そう。 圧縮性能が特に…

KohanaのCacheインスタンスは複数立ち上げられない?

db

前回やったmemcachedに加えてファイルキャッシュを以下のように追加しようした。 application/cache/config.php defaultの下に以下を追記 $config['filecache'] = array ( 'driver' => 'file',//ドライバーにfileを指定 'params' => '../application/cache',…

memcached in Kohana PHPを利用

db

Kohana PHP、memcachedそのものが既に入っててmemcachedが起動している上で、 クライアントを利用する。利用する前にdefaultのcache参照先がfileになってるので先にそれを変更する。 system/config/cache.phpを以下のように変更。 $config['default'] = arra…