我正在寻找支持一致性,可用性和比较和设置的持久密钥值存储。
它将部署在三个节点上,并且必须在一个(任何)节点关闭时可操作。如果整个群集脱机(由于示例的电源问题),然后重新联机,则不应丢失任何数据。此外,我希望系统不要打扰系统管理员,除非两个节点都关闭。因此,希望尽可能快。最重要的特征是一致性:如果报告某些内容被保存,则不会因为失败而丢失。
我探索了MongoDB的docs,在极少数情况下它需要人工干预,但它不是可选的。
我查看的另一个系统是Voldemort。我认为它符合我的要求,具有以下设置:
<replication-factor>3</replication-factor>
<required-reads>2</required-reads>
<required-writes>2</required-writes>
但它没有提供有关复制和一致性的全面文档,因此我无法验证我的假设。
您是否有适合我要求的存储体验?你能推荐一下吗?
P.S。我不打算存储大量信息,因此可以省略分片。
答案 0 :(得分:1)
如果您使用MongoDB的写入关注度为“多数”,那么您将永远不会丢失数据,并且您永远不会有回滚。
“多数”(或三节点副本集中的“2”)的写入关注将与伏地魔中的“必需写入”2相当。
参考: