我正在寻找一个符合以下条件的数据库:
下面是我处理这样的数据库的过程:我们有一个分析集群,每4-6小时生成1亿条记录(50 We)的数据。数据是一个“键- array20”。这些数据需要通过前端系统以每秒1-10k的速度分发给用户。平均而言,只请求了15%的数据,当生成下一个数据集时,其余的数据将在4-6小时内重写。
我试过的是:
所以问题是:是否有类似Redis的东西,但不限于RAM大小?
发布于 2013-08-27 08:28:45
是的,有两种不受内存大小限制而与Redis协议兼容的替代方案:
Ardb (C++),复制(主从/主-主):https://github.com/yinqiwen/ardb
一个与redis协议兼容的持久存储服务器,支持LevelDB/KyotoCabinet/LMDB作为存储引擎。
Edis (Erlang):https://github.com/cbd/edis
Edis是一个协议兼容的服务器替换Redis,用Erlang编写.Edis的目标是,当持久化比在内存中保存数据集更重要时,就可以替代Redis。Edis (目前)使用Google的leveldb作为后端。
,为了完整起见,这里还有另一个数据结构数据库:。
Hyperdex (字符串、整数、浮点数、列表、集合、映射):http://hyperdex.org/doc/latest/DataTypes/#chap:data-types
HyperDex是:
发布于 2013-08-28 13:19:01
是的,SSDB(https://github.com/ideawu/ssdb),它有非常相似的APIs:http://www.ideawu.com/ssdb/docs/php/
SSDB支持散列,zset。它使用leveldb作为存储引擎,大部分数据存储在磁盘上,RAM用于缓存。在具有300 it数据的SSDB实例上,它只使用800 it。
发布于 2013-08-26 16:42:28
现在,您可以很容易地找到具有100 GB以上RAM的服务器来承载单个实例,或者您可以分割数据并使用几台RAM较少的服务器。用Redis存储100 GB (在RAM中)并不是什么问题。
现在,如果您真的想尝试不受RAM大小限制的Redis的边缘克隆,那么就有NDS (由Matt Palmer编写):
请注意,NDS的存储后端已经从京都内阁转移到LMDB (一个非常好的包,它也支持OpenLDAP),这正是因为删除密钥后的空间回收问题。
其他与Redis不兼容的解决方案也可能适合您的需要:例如Couchbase和Aerospike,可以轻松地支持您的吞吐量。如果您有足够的节点,Cassandra和Riak可能也能工作。
https://stackoverflow.com/questions/18447380
复制相似问题