首页 > 数据库 > MySQL > 沃趣QFusion vs MGR、MGC面面观
说到MySQL,大家平时关注得最多的不外乎就是:
基于前面提到的三个问题 ,纵观MySQL业界,目前最为流行的三个发行版本(也可以叫做三个分支:官方MySQL、Percona Server、MariaDB),衍生出了不同的数据同步技术,最为流行的数据同步架构主要有如下三种:
如上所述,目前开源的三种数据同步架构都有各自优势,也有各自明显的短板,有没有一种数据同步架构既能保证高性能,又能保证数据不丢失呢?
有!!!沃趣 QFusion 采用目前已经非常成熟且应用非常广泛的主从复制数据同步架构,在能保证高性能的前提下,结合商业的高性能、高可用的分布式存储QCFS实现了数据零丢失,同时我们从BIOS、硬件配置、文件系统、操作系统内核、MySQL配置参数等自底向上做了大量的整体优化,使得单位时间内的交易量进一步提升。根据我们全方位的测试与对比,相比开源的数据同步解决方案,沃趣 QFusion 极具性能与稳定性优势。
口说无凭,沃趣 QFusion 相比目前开源的解决方案到底有哪些优势呢?下面我们一起从性能数据、架构原理、配置参数几个方面进行对比,一见庐山真面目!
在性能测试方面,我们选用了sysbench基准测试工具,在同一套硬件环境中进行测试,全面对比了oltp、select、update、insert、delete 这5个指标值(该指标值为不同数据同步架构下的最高性能值),测试结果为:MGR与沃趣 QFusion 相比,oltp下降32.12%、select下降5.44%、update下降24.18%、insert下降58.18%、delete下降11.44%;MGC与沃趣 QFusion 相比,oltp下降76.28%、select下降0.19%、update下降45.74%、insert下降90.49%、delete下降59.65%
详细测试数据如下
| 指标类型 | 线程数(个) | 表数(张) | 数据量(行) | 平均tps | 平均qps | MGR与MGC和QFusion性能差异(%) |
|---|---|---|---|---|---|---|
| 沃趣 QFusion(双一,log_bin,buffer pool size 40G) | - | - | - | - | - | - |
| oltp | 650 | 8 | 500W | 6253 | 125000 | |
| select | 450 | 8 | 500W | - | 166430 | |
| update | 512 | 8 | 500W | - | 64265 | |
| insert | 620 | 8 | 500W | - | 15438 | |
| delete | 360 | 8 | 500W | - | 82568 | |
| MGR(双一,log_bin,buffer pool size 40G) | - | - | - | - | - | - |
| oltp | 200 | 8 | 500W | 4244 | 84882 | tps ↓32.12% qps ↓32.09% |
| select | 256 | 8 | 500W | - | 157360 | tps -% qps ↓5.44% |
| update | 300 | 8 | 500W | - | 48723 | tps -% qps ↓24.18% |
| insert | 512 | 8 | 500W | - | 6455 | tps -% qps ↓58.18% |
| delete | 300 | 8 | 500W | - | 73116 | tps -% qps ↓11.44% |
| MGC(双一,log_bin,buffer pool size 40G) | - | - | - | - | - | - |
| oltp | 128 | 8 | 500W | 1483 | 26708 | tps ↓76.28% qps ↓78.63% |
| select | 256 | 8 | 500W | - | 166105 | tps -% qps ↓0.19% |
| update | 512 | 8 | 500W | - | 34864 | tps -% qps ↓45.74% |
| insert | 64 | 8 | 500W | - | 1467 | tps -% qps ↓90.49% |
| delete | 512 | 8 | 500W | - | 33314 | tps -% qps ↓59.65% |
1、架构
2、工作原理

1、架构图
MGR即为MySQL Group Replication的简写,基于官方原生自带的GR复制插件实现的一个数据库集群架构,最少3个节点,最多不建议超过8个节点,架构图与MGC相同
GR组件组成:在MySQL的底层,GR增加了另外的API层来实现所需要的功能。程序结构上,GR API主要分为三部分:
2、工作原理
3、优缺点
1、架构图
2、工作原理
3、优缺点
- # 不同节点只需要修改wsrep_node_address参数为自己的IP地址即可
- wsrep_on=on
- wsrep_provider=/usr/local/mysql/lib/galera/libgalera_smm.so
- wsrep_provider_options="gcache.size=1G;evs.send_window=256;evs.user_send_window=128"
- wsrep_cluster_name=wqglr_0001
- wsrep_cluster_address=gcomm://10.10.90.167:4567,10.10.90.174:4567,10.10.90.180:4567
- wsrep_node_name = physical
- wsrep_node_address=10.10.90.180:4567
- wsrep_sst_method=xtrabackup-v2
- wsrep_sst_auth="xtrabackup:xtrabackuppass"
- wsrep_slave_threads=8
- # 组复制限制要求参数
- server_id = 3306197
- log-bin = /opt/mysql/data/binlog/mysql-bin
- binlog-format = ROW
- binlog-checksum = NONE
- master-info-repository = TABLE
- relay-log-info-repository = TABLE
- log_slave_updates=ON
- gtid-mode = on
- enforce-gtid-consistency = true
- # 配置组复制参数,每个节点值需要修改group_replication_local_address为自己的IP即可
- transaction_write_set_extraction=XXHASH64
- loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
- loose-group_replication_start_on_boot=off
- loose-group_replication_local_address= "10.10.90.197:24901"
- loose-group_replication_group_seeds= "10.10.90.197:24901,10.10.90.186:24901,10.10.90.181:24901"
- loose-group_replication_bootstrap_group= off
- #指定binlog路径和名称前缀,如果不指定路径,默认在datadir参数指定的路径下
- log-bin=mysql-bin
- #指定实例全局唯一server_id,如果不指定,可能碰到从库IO线程因为判断主库没有明确配置server_id而无法连接主库的BUG
- server_id=1
- #建议设置为row格式复制,否则在高并发场景容易导致主从数据不一致,或者从库复制报错中断
- binlog_format = row
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28218939/viewspace-2151197/ ,如需转载,请注明出处,否则将追究法律责任。