使用MySQL 8.2透明读/写分离,代价几何?(译文)

2023年 11月 17日 49.0k 0

8 个线程并不多,在这个工作负载中也没有太多的争用,但我们可以看到差异很小。当然,分析每个事务/查询并将它们发送到不同的主机是有成本的。

04

OLTP 只读

这一次,我们再次运行 sysbench,但我们使用oltp_read_only.lua
脚本。再次使用 8 个线程和 3 次运行:

我们在这里看到了更大的区别,因为没有写入,一台机器可以轻松处理满载。因此,解析请求并将其发送到多个服务器的成本更高。当然,这只是因为单台服务器可以轻松地承担工作负载。如果我们有一个只读工作负载,那么我建议使用 MySQL Router 的只读端口:6447。

04

OLTP 只写

我们还使用脚本oltp_write_only.lua
测试了只写工作负载。再次 8 个线程和 3 次运行:

我们可以看到,差异很小,但差异的确存在。

05

更复杂的工作负载

使用更复杂且优化程度较低的工作负载,例如oltp_update_non_index.lua
,我们可以看到显著的差异。

06

结论

MySQL 8.2 的透明读/写分离是我们一直在等待的一个非常有趣的功能,它在性能方面的消耗非常低,它更加适合于查询模式稳定的应用,因为这样的应用会降低MySQL路由器解析SQL的成本。您真的应该测试一下,并将您的意见发送给我们。享受MySQL、MySQL路由器和所有集成解决方案(InnoDB ReplicaSet,InnoDB Cluster,InnoDB ClusterSet,InnoDB Read Replicas)。

07

投票

推荐一个数据库大佬的公众号:

《韩锋频道》公众号,致力于从第三方角度阐述数据库行业、产品、技术、运营等多方面观点。作者系数据库资深从业者,CCIA 常务理事,前 Oracle ACE,腾讯TVP,阿里云MVP,DBAPlus 等多家社群联合创始人或专家团成员。著有数据库相关著作《SQL优化最佳实践》、《数据库高效优化》。

欢迎加我的微信,拉你进数据库微信群👇

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论