前言:
我是来推荐一个强大的nosql,名字叫Aerospike ,有很多老外用他做些实时性质的东西较多点。
现在公司有部分的缓存服务器替换成了aerospike,以前用的是TTserver。 话说Aerospike在国内用的还是比较的少, 但是国外还是很火辣的。 据说融了不少钱,很有钱途的样子,有钱就行,如果没钱的话, 别过两天就关门了。
一说nosql,大家的选择还是很多的,我们这边的需要就是高度的读,数据量还是很大的,以前用TTserver的时候,一年的数据,快要将近 1T的数据量,我们访问的频率还是比较高的, 每秒峰值有时候到1w,当然到1w的时候,TTserver已经傻逼了。 有人说mongodb可以顶住压力,我觉得说这句话的人,肯定没有量级别的使用的Mongodb,或者是没有做过那种高强度压力的底层。redis就算了, 虽然他有持久化,但是server的内存毕竟是有限的。 hbase看起来不错,但是不适合这样高度读取的任务。还有个去年很火的ssdb,这个是我自己测试过,看起来很霸道的东西,兼容了redis的一些协议,还有双主的支持, 但他毕竟是leveldb的延伸品,可以理解为socket版本的leveldb,数据量到了10G后,有时候居然会出现lock的情况, 这尼玛逗我呢 。 人家redis虽然是单进程单线程的服务,基本没遇到过堵塞的情况, 你ssdb还号称比redis牛的多。
跑题了,回正题,Aerospike谁用谁知道,缓存的瓶颈问题一直纠结着我们,后来公司把百度云的一个存储大牛挖了过来,也就是兵强同学,甚是强悍 !!! Aerospike集群上线,也已经在线上跑了段时间, 情况很好。
老规矩,怕爬虫在我这边逛游,标明下原文出处, blog.xiaorui.cc
简单说下Aerospike的安装,我这边有个服务器是Ubuntu的,那就用它了。 如果有Docker的话,那敢情好了。直接下载image,run一下就好了。
wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/ubuntu12' tar -xvf aerospike.tgz cd aerospike-server-community-*-ubuntu12 sudo ./asinstall # will install the .rpm packages sudo service aerospike start && \ sudo tail -f /var/log/aerospike/aerospike.log | grep cake
有时候自己手动启动。
sudo /etc/init.d/aerospike start
另外大家可以学习下python的aerospike库。
# import the module import aerospike # Configuration for the client config = { 'hosts': [ ('127.0.0.1', 3000) ] } # Create a client and connect to the database client = aerospike.client(config).connect() # Records are addressable via a tuple of (namespace, set, key) key = ('test', 'demo', 'foo') # Write a record client.put(key, { 'name': 'John Doe', 'age': 32 }) # Read a record (key, metadata, record) = client.get(key) # Close Connection to Cluster client.close()
到此就不多说了, 大家自己在官网看吧, 指定是比我的详细的多。
有时间把aerospike的集群搭建和开发事项跟大家交流下。。。。
集群的部署文档能分享一下不
我这里用的是普通硬盘,性能确实太差了
这东西很抗压力,我们正在用
你们是小米?
学习了,哥们在哪个公司呀
做大数据相关的
我们也在用,还算不错
我们也准备用,可以加下QQ一起探讨么,287938234