先週、概要を紹介させていただいた Pacific について。まだ API をフリーズしていないつもりなのですが、だいぶ整ってきた気がするので、ざっくりまとめておきたいと思います。
インストール手順
Thrift をインストール注1Pacific の svn レポジトリからチェックアウトPerl ドライバを make (cd driver-perl && perl Makefile.PL && make all test install)リゾルバを make (cd resolver && make)テーブルのセットアップ手順
テーブルのセットアップは、pschema コマンドを使って行います。
# リゾルバの裏側の MySQL は 127.0.0.1:33060 で動作
#
# プライマリテーブル「user」を作成
# ・ 分散キーの名前は「username」
# (型は varchar(255) not null charset utf8 collate utf8-bin 固定)
# ・ カラムとして realname varchar(255) not null,last_tweet_at int unsigned not null
# ・ ノード内で、セカンダリテーブルとのリレーションを表現するカラム _iid
# も生成される
#
pschema create-primary --manager=127.0.0.1:33060 --primary=user --hostport=127.0.0.1:33061 --primary-key-name=username 'realname varchar(255) not null,last_tweet_at int unsigned not null'
# セカンダリテーブル「tweet」を作成
# ・ カラムとして mtime と body (と 上記 _iid)
#
pschema create-secondary --manager=$MANAGER --primary=user --secondary=tweet --primary-key=mtime 'mtime int unsigned not null,body varchar(255) not null'
この結果、MySQL ノードには、以下のようなスキーマのプライマリテーブルが作成されます注2。