Nesta/IO

Nesta/IO とは

Nesta/IO は memcached プロトコルに対応したキー・バリュー・ストアです。 memcached と違いデータはファイルとしてディスクに保存されるため、プログラムを終了しても消えることはありません。 データの有効期間を指定する expiration time にも対応しています。

Nesta/IO はキー・バリュー・ストアを実現するためのハッシュ・データベースを実装した nestalib と memcached プロトコルを処理するプログラム nestaio から構成されています。プログラムは C 言語で書かれています。

Nesta/IO は Linux, Mac OS/X, および Windows で動作します。

ダウンロード

ライセンスは MIT License になります。

nestalib:  nestalib-0.9.4.tar.gz
nestaio:  nestaio-0.3.1.tar.gz

インストール

UNIX 系 OS 上では以下のようにインストールします。
nestalib をインストールした後に nestaio をインストールします。

1. nestalib のインストール
デフォルトではライブラリが /usr/local/lib にヘッダーファイルが /usr/local/include/nestalib にインストールされます。

$ tar zxvf nestalib-0.9.4.tar.gz
$ cd nestalib-0.9.4
$ ./configure
$ make
$ sudo make install

2. nestaio のインストール

$ tar zxvf nestaio-0.3.1.tar.gz
$ cd nestaio-0.3.1
$ ./configure
$ make

Windows では展開したディレクトリに Visual Studio C++ 2008 Express(無償版) のプロジェクトファイルがあるのでそれをお使いください。

起動と終了の方法

【起動方法】

$ ./nestaio [-start] [-f conf.file]

【終了方法】

$ ./nestaio -stop [-f conf.file]

コンフィグレーション

コンフィグレーションは nestaio を展開したディレクトリの conf/nestaio.conf を修正します。
conf/nestaio.conf の修正を反映させるにはプログラムを再起動する必要があります。

ベンチマーク

memcached と nestaio のベンチマークを参考値として掲載しておきます。
ベンチマークプログラムには mcb を利用させていただきました。

memcached のバージョンは 1.4.5 でメモリサイズを 100MB 割り当てました。

$ ./memcached -m 100

【評価マシン】
MacBook Pro (CPU:Intel Core 2 Duo 2.26GHz, Memory:2GB)
Mac OS X 10.6 Snow Leopard (64bits kernel)

【ベンチマーク内容】
・set:同時接続 100 でランダムなキーを生成し、データ長が約1,000バイトの set コマンドを1接続当たり 1,000回繰り返す。
・get:同時接続 100 でランダムなキーを生成し、get コマンドを1接続当たり 1,000回繰り返す。

command memcached(#/sec) nestaio(#/sec) performance ratio
$ ./mcb -c set -t 100 -n 1000 -l 1000 32,349 25,614 79(%)
$ ./mcb -c get -t 100 -n 1000 35,474 26,787 75(%)

制限事項


Author: YAMAMOTO Naoki
Last modified: 2011/02/05