ダウンロードリスト

プロジェクト概要

Javaで実装された分散キーバリューストア(KVS)です

Githubへ移行しました。 https://github.com/kobedigitallabo/okuyama

今後の更新はGithub上にて行います。 こちらにある過去リリース分はそのまま維持します。

システム要件

システム要件が設定されていません

リリース時刻: 2011-09-01 01:02
okuyama 0.8.9 (1 個のファイル 非表示)

リリースノート

[New - 新機能追加、不具合対応]
[[リリース Ver 0.8.9 - (2011/08/31)]]

■OkuyamaClientにsetObjectValueとgetObjectValueメソッドを追加
JavaでクラスでSerializableをimplementsしているクラスのオブジェクトをそのまま登録、
取得出来るメソッドを追加
メソッドは以下
・Setメソッド
boolean setObjectValue(String keyStr, Object objValue)
boolean setObjectValue(String keyStr, String[] tagStrs, Object objValue)
boolean setObjectValue(String keyStr, Object objValue, Integer expireTime)
boolean setObjectValue(String keyStr, String[] tagStrs, Object objValue, Integer expireTime)
返却値のbooleanはtrueの場合は登録成功、falseの場合は登録失敗

・Getメソッド
Object[] getObjectValue(String keyStr)
返却値のObject配列の要素は
Object[0] = 要素1 データ有無(String型) : "true"=データ有 or "false"=データ無
Object[1] = 要素2 取得データ(Object型) : データ有無が"false"の場合のみエラーメッセージ文字列(String型固定))それ以外は、登録したObject


■トランザクションログ(WALログ)のディスクへのfsyncの頻度を調整可能に
トランザクションログのディスクへのfsyncは従来OS任せだったが、頻度を調整可能に変更
ImdstDefine.transactionLogFsyncTypeの値を変更するか、DataNodeの起動引数に"tlft"付加し係数を
指定することで変更可能。係数の説明は以下
0=OS任せ
1=fsync頻度小
2=fsync頻度中
3=fsync頻度高
4=トランザクションログ書き込み毎にfsync(データへの変更毎に)

DataNode起動例)
java -cp ./classes;./lib/log4j-1.2.14.jar;./lib/javamail-1.4.1.jar;./lib/commons-codec-1.4.jar -Xmx128m -Xms128m okuyama.base.JavaMain /Main.properties /DataNode.properties -tlft 4

■memcachedでいうところのflush_allに対応
UtilClientによりデータの全削除を行うことができたが、これをmemcachedクライアントのflush_allへ紐付け
memcahcedクライアントが接続しているMasterNodeの担当するIsolationのデータを全削除できる。
Isolationを持っていないMasterNodeの場合は失敗する


■Dataファイルへのアクセスを効率化。
既存データのUpdateに対する効率化を実施


■いくつかの処理性能向上と不具合の修正
・内部コード見直しによる処理速度向上
・memcachedモードでMasterNodeを起動した場合にdeleteメソッドで特定のクライアントがkey以外にパラメータを
転送してくるため、その際エラーになっていたため修正
・ノード動的追加時にMainMasterNode以外でMasterNodeで発生するデータが取得出来ない不具合に対応
・全文検索時に、Isolation利用したMasterNodeに対して、2文字などの短い文字列で検索Indexを作成した場合に
検索対象にならない不具合に対応

変更履歴

変更履歴はありません