我听说过两种数据库架构。
大师大师
主从
master-master是否更适合当今的Web,因为它就像Git,每个单元都具有全部数据集,如果一个数据集出现故障,那就没关系了。
主从使我想起了SVN(我不喜欢它),那里有一个可以处理事情的中央单元。
问题:
各自的优缺点是什么?
如果您想在iPhone之类的手机中拥有本地数据库,哪个更合适?
选择这些因素之一是否是要彻底考虑的关键因素?
我听说过两种数据库架构。
大师大师
主从
master-master是否更适合当今的Web,因为它就像Git,每个单元都具有全部数据集,如果一个数据集出现故障,那就没关系了。
主从使我想起了SVN(我不喜欢它),那里有一个可以处理事情的中央单元。
问题:
各自的优缺点是什么?
如果您想在iPhone之类的手机中拥有本地数据库,哪个更合适?
选择这些因素之一是否是要彻底考虑的关键因素?
Answers:
我们要权衡可用性,一致性和复杂性。首先要解决最后一个问题:这有关系吗?是的,非常!关于如何管理数据的选择绝对是根本,并且没有“最佳实践”规避决策。您需要了解您的特定要求。
有一个基本的紧张关系:
一个副本:一致性很容易,但是如果一致性下降,每个人都会陷入困境,而如果人们偏远,则可能要付出可怕的通信费用。将可能需要断开连接操作的便携式设备带入图片中,一本不会删减。
主从设备:一致性不是太困难,因为每个数据块都具有一个自己的主设备。但是,如果您看不到那个主人,该怎么办,需要某种推迟的工作。
Master-Master:好吧,如果您可以使它工作,那么它似乎可以提供所有功能,没有单点故障,每个人都可以一直工作。这个麻烦的是,这是非常难以保持绝对一致。有关更多信息,请参见维基百科文章。
维基百科似乎对优点和缺点都有很好的总结
优点
如果一个主机发生故障,其他主机将继续更新数据库。
主机可以位于多个物理站点中,即分布在整个网络中。
缺点
大多数多主复制系统只是松散一致的,即惰性和异步,违反了ACID属性。
急切的复制系统很复杂,并且会带来一些通信延迟。
随着所涉及节点数量的增加和所需等待时间的减少,诸如解决冲突之类的问题可能变得棘手。
同时研究各种数据库体系结构。我收集了很多可能与将来其他人研究相关的信息。我碰到
我已经决定为自己的用例使用MySQL Cluster。但是,请参阅以下有关我编写的各种利弊的信息
1.主从复制
优点
缺点
2.主-主复制
优点
缺点
3. MySQL集群
基于MySQL集群设计的小镇新手。MySQL群集在开发时就考虑到了高可用性和可伸缩性,并且是适用于不需要停机,高可用性和水平可伸缩性的环境的理想解决方案。
有关更多信息,请参见MySQL Cluster 101。
优点
缺点
您可以访问我的Blog的完整详细信息,包括体系结构图,其中包含有关上述3种体系结构的更多详细信息。