简介
FoudationDB是苹果公司近期开源的一款分布式,支持事务型的key-value数据库。
安装
- 准备A,B两台在同一网段内的Ubuntu服务器(我用了两个ECS)
- 下载安装Server , Client 和 Python版的API
$ wget https://www.foundationdb.org/downloads/5.1.7/ubuntu/installers/foundationdb-clients_5.1.7-1_amd64.deb
$ wget https://www.foundationdb.org/downloads/5.1.7/ubuntu/installers/foundationdb-server_5.1.7-1_amd64.deb
$ wget https://www.foundationdb.org/downloads/5.1.7/bindings/python/foundationdb-5.1.7.tar.gz
$ sudo dpkg -i foundationdb-server_5.1.7-1_amd64.deb foundationdb-clients_5.1.7-1_amd64.deb
$ tar -zxf foundationdb-5.1.7.tar.gz
$ cd foundationdb-5.1.7 && python setup.py install
此时AB之间不能相互访问,需要配置cluster
- 配置访问权限
- 配置B机器使其对外可用
$ sudo /usr/lib/foundationdb/make_public.py /etc/foundationdb/fdb.cluster is now using address 172.17.xxx.xxx
- 将B的配置文件
/etc/foundationdb/fdb.cluster
覆盖掉A的配置后重启A的服务
$ sudo service foundationdb restart
测试
- 在B机器中写入一个key-value
$ python
>>> import fdb
>>> fdb.api_version(510)
>>> db = fdb.open()
>>> db['hello'] = 'world'
>>> db['hello']
'world'
- 在A机器中读取
$ python
>>> import fdb
>>> fdb.api_version(510)
>>> db = fdb.open()
>>> db['hello']
'world'
- 在A机器中写入一个key-value
>>> db['hi'] = 'foundationDB'
>>> db['hi']
'foundationDB'
- 在B机器中读取
>>> db['hi']
'foundationDB'
参考
"Knowledge is of no value unless you put it into practice" -- Anton Chekhov