寻找所有节点都可读/写的分布式/可扩展数据库解决方案?不是MongoDB?

JnB*_*ymn 8 database distributed scalability eventual-consistency mongodb

我希望实现一个可以在地理上广泛分布的数据库,这样每个节点都可以读取/写入,并最终与所有其他节点保持一致.我应该在哪里看?

我认为MongoDB在出现这种担忧之前似乎是其他原因的不错选择.显然所有MongoDB节点都是可读的,但只有主节点是可写的?反正有没有绕过这个?我不能允许单点失败写入数据库.

小智 9

我刚刚完成了对几个类似数据库的评论.出于不同的原因,我最终选择了Mongo.Riak和Cassandra都是亚马逊Dynamo的实现,每个人都可以做得很好.在Riak网站上,他们对Riak和其他一些数据库进行了很好的比较.对于您的具体问题,我认为Riak和Cassandra都会处理任何带有Riak提交的向量时钟节点的写入,以及Cassandra处理冲突的时间戳.

除此之外,您还有其他一些可能有意义的选择:

  • HBase可以做很大,可以在各个节点上进行并发写入.它的设计适用于每个文档/记录的许多属性.
  • CouchDB具有良好的多写冲突支持,但具有更简单的文档空间.
  • 在这里为无模式MySQL读了一个很好的论据,向仍然绿色的Drizzle点头

我不确定这是一个完整的答案.我的搜索需要几周时间和大约50页的笔记,但如果大型,分布式和安全写入是最重要的标准,那么这应该会让您感动.