我听说过两种数据库架构。
大师-大师
主从
master-master 不是更适合当今的网络吗,因为它就像 Git,每个单元都有整套数据,如果其中一个发生故障,也没关系。
主从让我想起 SVN(我不喜欢它),其中有一个中央单元来处理事情。
问题:
各自的优缺点是什么?
如果你想在iPhone等手机上有一个本地数据库,哪一个更合适?
选择其中之一是需要彻底考虑的关键因素吗?
最佳答案
同时研究各种数据库架构。我收集了一些可能与其他人将来的研究相关的信息。我遇到了
- 主从复制
- 主主复制
- MySQL 集群
我决定在我的用例中使用 MySQL Cluster。不过,请参阅下面我整理的各种优缺点
<强>1。主从复制
优点
- 分析应用程序可以从从属设备读取数据,而不会影响主设备
- 整个数据库的备份对master相对没有影响
- 从站可以离线并同步回主站,无需任何停机
缺点
- 在发生故障的情况下,从属设备必须晋升为主设备以接管其位置。没有自动故障转移
- 主服务器发生故障时会导致停机并可能导致数据丢失
- 所有写入操作都必须在主从设计中对主机进行
- 每个额外的从站都会给主站增加一些负载,因为必须读取二进制日志并将数据复制到每个从站
- 应用程序可能需要重新启动
<强>2。主主复制
优点
- 应用程序可以从两个主机读取
- 在两个主节点之间分配写入负载
- 简单、自动、快速的故障转移
缺点
- 松散一致
- 配置和部署不像主从那么简单
<强>3。 MySQL集群
基于 MySQL 集群设计的新来者。 MySQL 集群在开发时考虑了高可用性和可扩展性,是用于需要无停机、高可用性和水平可扩展性的环境的理想解决方案。
参见MySQL Cluster 101了解更多信息
优点
- (高可用性)无单点故障
- 吞吐量非常高
- 99.99% 的正常运行时间
- 自动分片
- 实时响应
- 在线操作(架构更改等)
- 分布式写入
缺点
您可以访问我的Blog完整的分割,包括架构图,其中进一步详细介绍了上述 3 个架构。
关于database - 主-主 vs 主从数据库架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27518914/