ダウンロードリスト

プロジェクト概要

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

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

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

システム要件

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

リリース時刻: 2010-12-16 01:52
okuyama 0.8.4 (1 個のファイル 非表示)

リリースノート

[New - 新機能追加、不具合対応]
[[リリース Ver 0.8.4 - (2010/12/16)]]
■データ有効期限を設定できる機能を追加
memcachedでいうところのexpireTimeを設定可能に
現在この設定はmemcachedクライアントからのみ設定可能である。
つまりokuyamaのクライアントから登録した値の有効期限は無期限となる
これによりmemcachedクライアントの登録時のすべてのOptionカラムの値が使用可能となった。

■排他的更新機能を追加
memcachedでいうところのgets、cas操作に対応
okuyama専用クライアントではそれぞれ以下のメソッドになります

>gets => getValueVersionCheck
>cas => setValueVersionCheck

■メモリを使用してデータを保持するストレージモードのうち
Keyをメモリ及び、Valueをメモリのどちらかのモードで稼動した際に
あらかじめ設定したメモリ使用量を超えた場合に、自動的にディスクにストアするように改修
=>OutOfMemory発生の予防により、より安定して稼動するように変更。
DataNode.propertiesの以下の項目で許容メモリ使用量の上限を指定

>KeyManagerJob1.memoryLimitSize=85 <-使用上限のパーセント
>KeyManagerJob1.virtualStoreDirs=./keymapfile/virtualdata1/ <-ストアするファイルディレクトリ指定


■Valueをディスクに保持するモード時のディスク使用率を効率化
=>従来はValueをディスクに保持する場合は固定長として保存していたため、
ValueのMaxサイズ以内の値を固定長でデータファイルに保存されていたい、
そのためValueのMaxサイズを大きく設定した場合は、小さいなデータであっても
デイスクを無駄に消費していた。
この部分を最適化し、Maxサイズとは別に良く使用するサイズを設定できるように変更
こちらの値を最適な値にしておくと、ディスク使用率の効率化とレスポンスの向上が狙える。

>okuyama.imdst.util.ImdstDefineのdataFileWriteMaxSize変数の値(単位はバイト)を変更して再コンパイル

■完全ディスクモード時にディスクへの書く込み処理を非同期に変更
=>非同期書き込みによりデータ登録、削除性能が向上
=>書き込み完了まではメモリ領域を使用することで整合性を確保

■サーバ間のデータ復旧処理のバグを修正
=>データ復旧対象のデータ数が多い場合(数百万件以上など)に、OutOfMemoryが発生するバグを修正

■ネットワーク越しに停止できるように変更
=>従来は起動プロセスをkillコマンド等で停止するしかなかったが、あらかじめ設定したポートにアクセスすることで
停止するように機能追加
MasterNode.properties、DataNode.propertiesの以下の部分でポートを指定する

>ServerControllerHelper.Init=15553

■Linux環境用のインストール用パッケージ同梱
=>簡単に起動できるスクリプトを同梱
=>リリース物のinstallディレクトリ配下にある、ReadMe.txtを参照

■幾つかのバグ修正と処理の効率化

変更履歴

変更履歴はありません