Aerospikeを触る必要がでてきたので触ってみます。
MacにAerospikeをインストールしてAQLで一通りコマンドを発行して確認することがゴールです。
環境
MacOSX Yosemite 10.10.5
Vagrant 1.7.3
Install
MaxOSX用のインストール手順にそって行います。
手順
まずVM(仮想環境)用のディレクトリを作成します。
mkdir ~/aerospike-vm && cd ~/aerospike-vm
作成したディレクトリ内でVagrantfileを作成します。
オプションはお好みで
vagrant init aerospike/centos-6.5
VMを起動します。
vagrant up
このあとAQLを使いたいのでVMにsshで入ります。
vagrant ssh
AerospikeとAMCが動いているか確認してみましょう。
AMCはAerospike Management Consoleの略で、ダッシュボードのようなものみたいですね。
sudo service aerospike status
sudo service amc status
両方ともrunningになっていればOKです!
成功するとサーバログに「もうすぐケーキだよ」の書き込みがあるそうです。
(Web+DB Pressによると、Aerospikeのリリース時にケーキでお祝いしたことが関連しているとかしていないとか)
sudo grep -i cake /var/log/aerospike/aerospike.log
私は確認できませんでした。。ケーキはおあずけです
しかし、AQLに入ってみましょう。
AQLコマンド
起動
aql
Info
show namespaces
show sets
show indexes
Record
insert
INSERT INTO <ns>[.<set>] (PK, <bins>) VALUES (<key>, <values>)
insert into test.hoge (PK, name, age) values (1, 'fuga', 20)
insert into test.hoge (PK, name, age) values (100, 'piyo', 30)
select
SELECT * FROM <ns>[.<set>]
select * from test.hoge
+--------+-----+
| name | age |
+--------+-----+
| "fuga" | 20 |
| "piyo" | 30 |
+--------+-----+
select * from test.hoge where PK = 1
+--------+-----+
| name | age |
+--------+-----+
| "fuga" | 20 |
+--------+-----+
update
select * from test.hoge where PK = 1
+--------+-----+
| name | age |
+--------+-----+
| "fuga" | 20 |
+--------+-----+
insert into test.hoge (PK, name, age) values (1, 'fugagaga', 50)
select * from test.hoge where PK = 1
+------------+-----+
| name | age |
+------------+-----+
| "fugagaga" | 50 |
+------------+-----+
delete
delete from test.hoge where pk = 1
Aerospikeはキーは保存せずダイジェストのみ保存しているそうで、AQLからキーを参照することができないようです。
どのクライアントライブラリにもWritePolicy.sendKey
のような設定があり、ここをtrueにすればキーも保存され参照できるようになるらしいです。
(全部このブログで説明されていましたm(_ _)m)
PHPクライアントから使ってみる
後ほどアップデートします。