首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有类似Redis DB的东西,但不限于RAM大小?

是否有类似Redis DB的东西,但不限于RAM大小?
EN

Stack Overflow用户
提问于 2013-08-26 15:12:01
回答 3查看 19K关注 0票数 44

我正在寻找一个符合以下条件的数据库:

  • 可能是非持久性;
  • 几乎所有的DB键都需要在3-6小时内更新一次(总大小为100 DB的100M+键)。
  • 能够快速按键(或主键)选择数据
  • 这需要一个DBMS (所以LevelDB不适合)
  • 当数据被写入时,DB集群必须能够提供查询(但是可以阻止单个节点)。
  • 没有内存-我们的数据集将超过内存限制。
  • 水平缩放和复制
  • 支持所有数据的完全重写(MongoDB在删除数据后不清除空间)
  • C#和Java支持

下面是我处理这样的数据库的过程:我们有一个分析集群,每4-6小时生成1亿条记录(50 We)的数据。数据是一个“键- array20”。这些数据需要通过前端系统以每秒1-10k的速度分发给用户。平均而言,只请求了15%的数据,当生成下一个数据集时,其余的数据将在4-6小时内重写。

我试过的是:

  1. MongoDB。数据传输开销高,碎片整理成本高。
  2. 瑞迪斯。看起来很完美,但内存有限,我们的数据超过了它。

所以问题是:是否有类似Redis的东西,但不限于RAM大小?

EN

回答 3

Stack Overflow用户

发布于 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是:

  • 快速:与其他键值存储相比,HyperDex具有更低的延迟、更高的吞吐量和更低的方差.
  • 可扩展性:随着更多的机器被添加到系统中,HyperDex扩展了。
  • 一致性: HyperDex保证基于密钥的操作的线性化.因此,read总是返回插入到系统中的最新值。不只是“最终”,而是立即和永远。
  • 容错: HyperDex自动复制多台机器上的数据,以便并发故障,直到应用程序确定的限制,不会导致数据丢失。可搜索的:
  • HyperDex支持对辅助数据属性的高效查找。
  • 易于使用: HyperDex为各种脚本和本地语言提供了API。
  • 自维护: HyperDex是自维护的,只需要很少的用户维护.
票数 28
EN

Stack Overflow用户

发布于 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。

票数 23
EN

Stack Overflow用户

发布于 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可能也能工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18447380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档