MySQL 组复制或单个服务器就足够了?

标签 mysql sql database replication database-replication

我计划创建一个系统来跟踪访问者对数据库的点击。我预计每天大约有 100 万次插入数据库。

在后端,我将拥有一个分析系统,该系统将分析几天/几周/几个月/几年收集的所有数据。

我的问题是:拥有 2 个不同的 MySQL 服务器 + 1 个 Web 服务器是一种实用的方法吗? MySQL 服务器 A 会将点击插入其数据库,并通过组复制连接到 MySQL 服务器 B,因此每当我在 MySQL 服务器 B 上创建报告等时,它不会对服务器 A 造成沉重负载。

然后,这 2 个数据库服务器将连接到 Web 服务器,Web 服务器将处理所有点击请求并显示后端报告。

这是一个实用的解决方案,还是拥有一台更大的服务器来处理所有 MySQL 数据更好?或者有多个相互负载平衡的 MySQL 服务器?也许还有什么?

最佳答案

按照现代标准,每天 100 万次插入并不是一个高负载。平均每秒不到 12 个。

在具有快速存储和proper tuning of MySQL options的足够强大的服务器上,您预计可以使用单个 MySQL 服务器支持至少 100 倍的负载。

使用多个 MySQL 服务器的一个更好的理由是冗余。任何 MySQL 服务器都不可避免地需要升级,或者可能出现硬件故障并需要更换磁盘或其他组件。为了避免停机,您应该有一个备用数据库服务器,它可以使用 MySQL 复制或通过 DRBD 等磁盘级复制与主服务器保持同步。

关于MySQL 组复制或单个服务器就足够了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48086418/

相关文章:

PHP MYSQL XML 错误

mysql - SQL 语句错误并带有 end

sql - 删除时如何在存储过程中使用2个表?

mysql - 嵌套分组依据

ruby-on-rails - 在 'test' 模式下处理数据库数据的最佳实践是什么?

php - jQuery 在 php 中单击 mysql db 中的行不起作用

MySql 值未按正确值排列

mysql - 查询 MySQL 以获取多次出现的数据,但前提是另一个字段不同

大型数据库的 MySQL 转储似乎小于原始 MySQL 数据库本身

php - CakePHP 多对一 - 单表