只保存索引并在内存中保存Xlogging的数据库?

我正在寻找一个非常有效的内存数据存储,同时仍然允许每秒多次的对象更改,而不考虑最后一个Xlogging的ACID兼容性。

我需要这个数据库的服务器没有太多的内存,我可以做一个键值存储,文档或SQL数据库的工作。

这个想法是索引/键是我在内存中需要的唯一的东西,所有的实际值/对象/行可以保存在磁盘做到低读取率(我只是想索引/键查找是快)。 我也不希望logging不断被刷新到磁盘上,所以我想把最后的X个logging保存在内存中,这样可以同时写入100个logging。 我不在乎,如果我失去了最后10秒的价值对象/值。 如果整个数据库有腐败的危险,我很在乎。

有没有像这样的数据存储?

Redis可以处理这种情况 – 它将所有内容都写入磁盘(最终),但是可以指定这样做的频率,并且任何未写入的内容都会(自然地)丢失。

http://redis.io/topics/persistence为您提供所有的细节。

是的 – 在现代操作系统上使用asynchronousI / O的任何数据库都将具有接近最佳的caching。

Redis已经被提及

其他选项:

  • scalaris(code.google.com某处) – 完整的CAP并分发
  • riak(basho.com – 最终一致,分布式)