okuyama
というわけで、Java7がリリースされました。 色々と面白そうな機能がありますね。 僕はSCTPなどが結構注目なんですが、取り合えずJava7上で現行のokuyamaを動かして、 どれぐら単純比較で性能が違うのか検証してみました。 okuyama側は特にJava7に合わせて変…
okuyamaのバージョン0.8.8をリリースしたので、 今回の変更点をまとめておこうと思います。今回の主要な追加はSerializeMapなんですが、機能は前々回と、 前回の日記にまとめたとおりです。 あの時点では(デ)シリアライザはベタ実装だったんですが、 せっか…
前回の記事でokuyamaに追加予定の機能である、 SerializeMapというメモリの効率化を考えて実装してみたMap実装の Set性能を図ってみましたが、Mapなので当然Getがいるので今回はその性能を計測してみます。 まず、その前にこのSerializeMapの構造を下手です…
昨日@kumagi さんと@muga_nishizawa さんとtwitter上でやり取り(http://togetter.com/li/149955)をした時に話題に出した 次のokuyamaに入れようと思っている機能の一つのSerializeMapですが、 あの時、性能の話題になったのでまだ正式にはリリース前なんです…
okuaymaのオリジナルプロトコルの仕様を表にまとめした。 からり表が大きく見にくくなってしまいました...orz 以降okuyama側に変更があった場合もこの表をメンテナンスしてきます。 事前説明ですが、 1.各要素間のセパレータは","になります。 2.Encode指定…
okuaymaのオリジナルプロトコルの仕様を表にまとめした。 からり表が大きく見にくくなってしまいました...orz 以降okuyama側に変更があった場合もこの表をメンテナンスしてきます。 事前説明ですが、 1.各要素間のセパレータは","になります。 2.Encode指定…
また大分さぼってしまった。。ということで、okuyama-0.8.4をリリースしました。 0.8.4のことの前にここには、0.8.0以降のことを何も記していなので、 追加した機能をチョット軽く整理すると、 ■0.8.1 ・トランザクションログファイルを一定サイズで自動的に…
相当ここをサボってしまいました。 書くこと一杯あるんですが(gumiさん勉強会でしゃべりましたとか、OSC東京とか)、 取り合えずokuyamaの0.8.0のことを書きます。 前回0.7.0をリリースしてから2ヶ月半以上開発したのですが、それまでは もっと短期間にリリー…
okuyamaのバージョン0.7.0をリリースしたのでまとめを書きます。今回のリリースは結構大きい機能追加をしました。■1つ目 従来のokuyamaはマスターノードを複数で稼動させて冗長化をすることは出来たんですが、 その場合、どれか1つがメインマスターノードに…
okuyamaのバージョン0.6.6をリリースしました。 今回の変更点はokuyamaのデータノードを"データノード"、"スレーブデータノード"両方を 起動している場合に片側のノードがダウンして、起動してきた場合(ダウンしたノードと 同じIP、Portであれば当該ノードと…
この前okuyamaの性能測定の結果を書きましたが、 そこで"トランザクションログ+データファイルでの永続化モード"での性能で 5万QPS出ていたのですが、これって本当にファイルReadしてるのかって 怪しかったので、再度検証してみました。 [測定時の構成] そ…
いままで分散キーバリューストアのokuyamaの性能を計測していたのは Dellのノートパソコンか、10年くらい前のPCか、AMD2Coreのデスクトップだった。 自由に触れるマシンがその程度しかなかったんだけど、今回DellのXeon搭載のマシン(PowerEdgeT110)を 触る機…
okuyama-0.6.3をリリースしました。 今回の変更ポイントは ■データノードをmemcacheのノードとして利用可能に okuyamaはマスターノード、データノード、トランザクションノードで 構成されているんですが、ただ単にデータをキャッシュとして保存する場合は …
久々に日記分散KVS「okuyama」のVersion-0.6.2をリリースしました。 今回のリリース内容は主にmemcache対応と、データノードリカバリー時の データ転送方式の変更です。 memcache対応は以下の3点です。 1.memcacheのメソッドであるaddに対応 未登録データの…
前回ブログで書きました、kvs使った業務アプリ構築ですが 徐々に出来上がってきました。 設計は前回の内容どおりなんですが、実際にデータ入れて 取り出すところが、1ソートパターンですができました。 実際に動かして見ると、、、 ちゃんと動いてるじゃない…
昨日の日記で少し書いたのですが、現在仕事でokuyamaをメインストレージとして アプリケーションを作成中、そこで感じたことをメモ。 okuyama作ってますが業務ではkvsはキャッシュとしてしか使ったことなかったので。。。 メインストレージといっても、あく…
okuyama Ver0.6.0をリリースしました。 今回の追加機能は、分散ロックです。 詳しい機能はokuyamaリリース物のReadMe.txtを抜粋。 - ■分散ロック機能を追加 +任意のデータをロックする機能を追加。 +分散ロック機能はマスターノード用設定ファイルである、Ma…
今更なんですが、memcache速っ!!て感じました。 Windows版で試したんですが、同じ環境でクライアント動かして 10万件ほどsetしたんですが、6500QPS位出た。 同じクライアント使ってokuyamaで試すと、 完全メモリモード3600QPS位で、ファイル保存モードで、…
"okuyama Ver0.5.1"にてPHP用のクライアントを作成しました。 Byteデータの登録と取得以外は実装しました。 http://sourceforge.jp/projects/okuyama/releases/ また分散トランザクションから遠ざかっている。。。 okuyamaがさくらインターネット研究所様のb…
本当は分散トランザクションのこと 考えようとしてたけど、思いついたから 実装してみた。内容はデータ取得メソッドにJavaScriptを 渡せるようにして、データが取得出来たら そのデータに対してスクリプトが実行できます。 データノードで実行されるからCPU…
okuyama0.4.0をリリースしました。 http://sourceforge.jp/projects/okuyama/分散トランザクションを実装する前に、付けたい機能を一通り実装。 追加機能は以下。 ■データノードの動的追加をサポート ■データノード追加後に新しいノードへデータの移行を行う…
何とか風邪から回復。 会社行ったら仕事山積みだー。 まあ自業自得ですが。okuyamaネタで。 今日はkvsでの分散ロックを考えてみます。 chubbyとかZookeeperが有名ですが、 使うとしたらどういうのが使いやすいんでしょう。 方法はPaxos? Zab? む、むずかしそ…