我听说过两种数据库架构.
主 - 主
主从
是不是主人更适合今天的网络,因为它就像Git,每个单位都有整套数据,如果一个人失败,那就没关系了.
主从让我想起SVN(我不喜欢),你有一个处理东西的中央单元.
问题:
各自的优点和缺点是什么?
如果你想在iPhone手机上有一个本地数据库,哪一个更合适?
选择其中一个是彻底考虑的关键因素吗?
Ski*_*hie 82
同时研究各种数据库架构.我编写了一些可能与其他人研究相关的信息.我碰到
我决定在我的用例中使用MySQL Cluster.但请参阅下文,了解我编写的各种优缺点
1.主从复制
优点
缺点
2.主 - 主复制
优点
缺点
3. MySQL Cluster
基于MySQL集群设计的小镇新人.MySQL集群的开发考虑了高可用性和可扩展性,是用于不需要停机,高可用性和水平可扩展性的环境的理想解决方案.
有关更多信息,请参阅MySQL Cluster 101
优点
缺点
您可以访问我的博客完整细分,包括架构图,其中详细介绍了上述3种架构.
djn*_*jna 78
我们正在牺牲可用性,一致性和复杂性.首先解决最后一个问题:这有关系吗?非常好!关于如何管理数据的选择绝对是根本性的,并且没有"最佳实践"躲避决策.您需要了解您的特定要求.
有一个根本的紧张局势:
一个副本:一致性很容易,但如果碰巧失败了,每个人都没有水,如果人们偏远,那么可能会付出可怕的通信费用.将可能需要断开操作的便携式设备带入图片中,一份副本不会将其剪切掉.
Master Slave:一致性并不太难,因为每个数据都只有一个拥有主数据.但是,如果你看不到那个主人,你会怎么做,需要某种推迟的工作.
Master-Master:如果你可以使它工作,那么它似乎提供了一切,没有单点故障,每个人都可以一直工作.麻烦是保持绝对一致性非常困难.有关更多信息,请参阅维基百科文章.
维基百科似乎对优缺点进行了很好的总结
好处
如果一个主服务器发生故障,其他主服务器将继续更新数据库.
主人可以位于几个物理站点中,即分布在网络上.
缺点
大多数多主复制系统只是松散一致,即懒惰和异步,违反了ACID属性.
渴望复制系统很复杂,并且会引入一些通信延迟.
随着涉及的节点数量的增加和所需的延迟减少,解决冲突等问题会变得棘手.