voltdbクライアント ビルドするの巻

Posted: 2014-07-05 19:07 |  RDBMS NoSQL 
Laravel記事止まってますが、あとで書きます・・・
先に、一部身内の方にはおなじみの次世代DBとして注目しているvoltdbを
API経由ではなく、各言語のクライアントをビルドして使う方法を。
日本ではAKBのシステムの裏側云々の話で一瞬話題に出ましたが、
voltdbは既存のRDBMSとNoSQLの良い点を両方兼ね備えていて、
今後スマホ以外にでも家電などもクラウドを利用して云々でさらに増えていくであろう、
大規模なトラフィックに耐えうるソリューションとしても結構良いんじゃないかなと思って注目してます。
利用方法は以前Qiitaに記載したので簡単なのはわかると思います
VoltDBを使ってみる
c++, node.js, php, pythonなど主要な言語のクライアントが用意されているので、
そのクライアントのビルドの仕方を。
windowsも対応している様なんですが、確認していないのでわかりません。
今回はPHPerなのでPHPクライアントのビルドの仕方を

voltdb+php

当然ですが、phpで使う場合はまずC++のクライアントをビルドする必要があります。
早速ビルドしてみましょう。
ちなみに64bitです

mac OS X(10.9.3)の場合

C++クライアントは下記のブランチのものを利用
voltdb-client-cpp

$ git clone -b noexceptions https://github.com/VoltDB/voltdb-client-cpp.git
$ make

次にphpクライアントは
voltdb-client-php
nativeブランチを使います

$ git clone -b native https://github.com/VoltDB/voltdb-client-php.git
$ phpize

configureを叩きますが、C++クライアントを指定します

$ ./configure --with-voltdb=../voltdb-client-cpp

この後makeを実行しますが、macの場合は
clang: error: unknown argument: '-n' [-Wunused-command-line-argument-hard-error-in-future]
が出ます。
フラグを指定しても解消されませんので先に進めないですので、
Makefileを直接書き換えます

CXXFLAGS = -n -gCXXFLAGS = -g に変更します
変更したらmakeするだけでvoltdb.soが出来ますので、
あとはphp.iniに記述してください

$ php -m | grep voltdb
voltdb

ubuntu14.04の場合

おそらくcentOSも14.4以外のバージョンでも同じだと思います。
基本的にはmacと同じですが、若干Makefileに手を入れます

C++クライアントはmac同様下記のブランチのものを利用
voltdb-client-cpp

$ git clone -b noexceptions https://github.com/VoltDB/voltdb-client-cpp.git
$ make
実行すると、
g++: error: unrecognized command line option ‘-Wl’
となりますのでmakefileの該当のオプションを削除します
 
$(LIB_NAME).so: $(OBJS)
        @echo 'Building libvoltdbcpp.so shared library'
        $(CC) -shared -Wl -o $@ $? $(THIRD_PARTY_LIBS) $(SYSTEM_LIBS)
        @echo
を下記の様に
$(LIB_NAME).so: $(OBJS)
        @echo 'Building libvoltdbcpp.so shared library'
        $(CC) -shared -o $@ $? $(THIRD_PARTY_LIBS) $(SYSTEM_LIBS)
        @echo
$ make

これでコンパイル可能です。
phpクライアントは
voltdb-client-php
同様にnativeブランチを使います

$ git clone -b native https://github.com/VoltDB/voltdb-client-php.git
$ phpize
$ ./configure --with-voltdb=../voltdb-client-cpp
$ make

こちらはphpのmakefileはそのままでOKです。
公式サポートに投げたらこれでOKだそうですので、
使いたい方が居ましたらお試しあれ
 

about ytake

執筆に参加しています


Laravel お役立ち情報

share



このエントリーをはてなブックマークに追加

Categories

laravel 45

DTM 0

music 0

PHP全般 31

0

JAPAN 1

WORLD 1

javascript 4

RDBMS 1

NoSQL 1

NewSQL 1

Recent Posts

Ad

comments powered by Disqus

GitHub

Social Links

Author


クリエイティブ・コモンズ・ライセンス
Yuuki Takezawa 作『Ytake Blog』はクリエイティブ・コモンズ 表示 - 非営利 4.0 国際 ライセンス で提供されています。

© ytake/comnect All Rights Reserved. 2014