okuyama

Java7速攻テスト

というわけで、Java7がリリースされました。 色々と面白そうな機能がありますね。 僕はSCTPなどが結構注目なんですが、取り合えずJava7上で現行のokuyamaを動かして、 どれぐら単純比較で性能が違うのか検証してみました。 okuyama側は特にJava7に合わせて変…

okuyama-0.8.8リリースまとめ

okuyamaのバージョン0.8.8をリリースしたので、 今回の変更点をまとめておこうと思います。今回の主要な追加はSerializeMapなんですが、機能は前々回と、 前回の日記にまとめたとおりです。 あの時点では(デ)シリアライザはベタ実装だったんですが、 せっか…

okuyamaのSerializeMapを検証してみた(Get編)(番外編MessagePack for Javaも試してみた)

前回の記事でokuyamaに追加予定の機能である、 SerializeMapというメモリの効率化を考えて実装してみたMap実装の Set性能を図ってみましたが、Mapなので当然Getがいるので今回はその性能を計測してみます。 まず、その前にこのSerializeMapの構造を下手です…

okuyamaのSerializeMapを検証してみた

昨日@kumagi さんと@muga_nishizawa さんとtwitter上でやり取り(http://togetter.com/li/149955)をした時に話題に出した 次のokuyamaに入れようと思っている機能の一つのSerializeMapですが、 あの時、性能の話題になったのでまだ正式にはリリース前なんです…

okuyamaプロトコル仕様表

okuaymaのオリジナルプロトコルの仕様を表にまとめした。 からり表が大きく見にくくなってしまいました...orz 以降okuyama側に変更があった場合もこの表をメンテナンスしてきます。 事前説明ですが、 1.各要素間のセパレータは","になります。 2.Encode指定…

okuyamaプロトコル仕様表

okuaymaのオリジナルプロトコルの仕様を表にまとめした。 からり表が大きく見にくくなってしまいました...orz 以降okuyama側に変更があった場合もこの表をメンテナンスしてきます。 事前説明ですが、 1.各要素間のセパレータは","になります。 2.Encode指定…

okuyama-0.8.4リリース、0.8.5のことも。そして次の何か。。

また大分さぼってしまった。。ということで、okuyama-0.8.4をリリースしました。 0.8.4のことの前にここには、0.8.0以降のことを何も記していなので、 追加した機能をチョット軽く整理すると、 ■0.8.1 ・トランザクションログファイルを一定サイズで自動的に…

書くこと一杯。。取り合えずokuyama-0.8.0のことから

相当ここをサボってしまいました。 書くこと一杯あるんですが(gumiさん勉強会でしゃべりましたとか、OSC東京とか)、 取り合えずokuyamaの0.8.0のことを書きます。 前回0.7.0をリリースしてから2ヶ月半以上開発したのですが、それまでは もっと短期間にリリー…

okuyama-0.7.0リリースまとめ

okuyamaのバージョン0.7.0をリリースしたのでまとめを書きます。今回のリリースは結構大きい機能追加をしました。■1つ目 従来のokuyamaはマスターノードを複数で稼動させて冗長化をすることは出来たんですが、 その場合、どれか1つがメインマスターノードに…

分散キーバリューストアokuyamaバージョン0.6.6をリリース

okuyamaのバージョン0.6.6をリリースしました。 今回の変更点はokuyamaのデータノードを"データノード"、"スレーブデータノード"両方を 起動している場合に片側のノードがダウンして、起動してきた場合(ダウンしたノードと 同じIP、Portであれば当該ノードと…

分散キーバリューストアokuyamaの性能をまともなマシンで測ってみた(続)

この前okuyamaの性能測定の結果を書きましたが、 そこで"トランザクションログ+データファイルでの永続化モード"での性能で 5万QPS出ていたのですが、これって本当にファイルReadしてるのかって 怪しかったので、再度検証してみました。 [測定時の構成] そ…

分散キーバリューストアokuyamaの性能をまともなマシンで測ってみた

いままで分散キーバリューストアのokuyamaの性能を計測していたのは Dellのノートパソコンか、10年くらい前のPCか、AMD2Coreのデスクトップだった。 自由に触れるマシンがその程度しかなかったんだけど、今回DellのXeon搭載のマシン(PowerEdgeT110)を 触る機…

okuyama-0.6.3リリース&KVSを業務システムに使用したフィードバック

okuyama-0.6.3をリリースしました。 今回の変更ポイントは ■データノードをmemcacheのノードとして利用可能に okuyamaはマスターノード、データノード、トランザクションノードで 構成されているんですが、ただ単にデータをキャッシュとして保存する場合は …

okuyama ver0.6.2をリリース & Fuseでkvsファイルシステム作成中

久々に日記分散KVS「okuyama」のVersion-0.6.2をリリースしました。 今回のリリース内容は主にmemcache対応と、データノードリカバリー時の データ転送方式の変更です。 memcache対応は以下の3点です。 1.memcacheのメソッドであるaddに対応 未登録データの…

kvsをメインストレージと考えた場合のアプリケーション設計(続編)

前回ブログで書きました、kvs使った業務アプリ構築ですが 徐々に出来上がってきました。 設計は前回の内容どおりなんですが、実際にデータ入れて 取り出すところが、1ソートパターンですができました。 実際に動かして見ると、、、 ちゃんと動いてるじゃない…

KVSをメインストレージと考えた場合のアプリケーション設計

昨日の日記で少し書いたのですが、現在仕事でokuyamaをメインストレージとして アプリケーションを作成中、そこで感じたことをメモ。 okuyama作ってますが業務ではkvsはキャッシュとしてしか使ったことなかったので。。。 メインストレージといっても、あく…

okuyama0.6.0をリリース「分散ロック機能」を追加しました

okuyama Ver0.6.0をリリースしました。 今回の追加機能は、分散ロックです。 詳しい機能はokuyamaリリース物のReadMe.txtを抜粋。 - ■分散ロック機能を追加 +任意のデータをロックする機能を追加。 +分散ロック機能はマスターノード用設定ファイルである、Ma…

memcache速っ!!

今更なんですが、memcache速っ!!て感じました。 Windows版で試したんですが、同じ環境でクライアント動かして 10万件ほどsetしたんですが、6500QPS位出た。 同じクライアント使ってokuyamaで試すと、 完全メモリモード3600QPS位で、ファイル保存モードで、…

okuyama用PHPクライアントを作成

"okuyama Ver0.5.1"にてPHP用のクライアントを作成しました。 Byteデータの登録と取得以外は実装しました。 http://sourceforge.jp/projects/okuyama/releases/ また分散トランザクションから遠ざかっている。。。 okuyamaがさくらインターネット研究所様のb…

JavaScriptを動くようにした

本当は分散トランザクションのこと 考えようとしてたけど、思いついたから 実装してみた。内容はデータ取得メソッドにJavaScriptを 渡せるようにして、データが取得出来たら そのデータに対してスクリプトが実行できます。 データノードで実行されるからCPU…

okuyama0.4.0をリリース。今後

okuyama0.4.0をリリースしました。 http://sourceforge.jp/projects/okuyama/分散トランザクションを実装する前に、付けたい機能を一通り実装。 追加機能は以下。 ■データノードの動的追加をサポート ■データノード追加後に新しいノードへデータの移行を行う…

風邪から回復

何とか風邪から回復。 会社行ったら仕事山積みだー。 まあ自業自得ですが。okuyamaネタで。 今日はkvsでの分散ロックを考えてみます。 chubbyとかZookeeperが有名ですが、 使うとしたらどういうのが使いやすいんでしょう。 方法はPaxos? Zab? む、むずかしそ…