database - 主-主 vs 主从数据库架构?

标签 database

我听说过两种数据库架构。

  • 大师-大师

  • 主从

master-master 不是更适合当今的网络吗,因为它就像 Git,每个单元都有整套数据,如果其中一个发生故障,也没关系。

主从让我想起 SVN(我不喜欢它),其中有一个中央单元来处理事情。

问题:

  1. 各自的优缺点是什么?

  2. 如果你想在iPhone等手机上有一个本地数据库,哪一个更合适?

  3. 选择其中之一是需要彻底考虑的关键因素吗?

最佳答案

同时研究各种数据库架构。我收集了一些可能与其他人将来的研究相关的信息。我遇到了

  1. 主从复制
  2. 主主复制
  3. 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/

相关文章:

ruby-on-rails - 何时应嵌入或引用 Mongodb 关联

使用 USB 设备配置时,android studio 无法连接 mysql 数据库

javascript - 如何无限期删除 PouchDB 数据库以释放空间?

mysql - 数据库 SQL 兼容性

java - 数据库项目中线程 "main"java.lang.NullPointerException 中的异常

mysql - 事件流的传统关系数据库的替代品

java - 如何从 Oracle 10 导出整个数据库并将其导入到 Oracle 11.2.0 以及所有用户?

mysql - #1146 - 表 'database.table' 不存在与连接?

mysql - 如何根据同一个表的先前搜索结果更新SQL列

php - 存储并显示用户的注册日期