首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 8.2正式可用,支持读写分离

最近,Oracle 宣布MySQL 8.2正式可用,包括对读写分离的支持。这一备受期待的特性已经在最新的创新版本中引入,有助于优化数据库性能和提升可扩展性。

读写分离使应用程序能够将所有写入流量定向到读写(主要或源)实例,将所有读取流量定向到只读实例,这些实例是 InnoDB Cluster 的附属实例,或者是 Replica Cluster 的主实例或附属实例。MySQL 社区经理Frederic Descamps解释说:

我们在副本之间分配读取流量,但这需要在应用程序中通过某种方式来管理:将写入流量指向某个地方,将读取流量指向其他地方。MySQL 8.2 的 MySQL Router 现在能够识别读取和写入流量,并将它们路由到 InnoDB Cluster 的主实例,或者将写入流量路由到异步复制源,将读取流量路由到附属实例或副本。

使用读写分离,每个客户端会话可以与一个 read_write 和一个 read_only 目标通信,路由器会将每个查询分类为读取或写入,并将其定向到适当的后端。Percona 创始人兼开源布道师 Peter Zaitsev表示

这是 MySQL 8.2 的一项重大特性!不过尚不清楚在这种情况下对读取是否有一致性级别的保证。是否可以读取过时的数据?如果可以,过时多久?

客户端使用读写端口(默认为 6450)连接到 MySQL,如果进行读取,连接将到达副本(附属),如果启动了事务,它们将到达复制源(主实例)。

社区普遍对这一新特性表示赞赏,但 PingCAP 软件架构师Sunny Bains表示

MySQL Group Replication 提供了时间线一致性,路由器无法做得更好,除非路由器能够跟踪副本间的一致性,这似乎是可行的,但需要通过轮询或群集向路由器发送某种事件通知来实现。

Descamps 总结道:

这是一项有价值的特性,可以优化数据库性能和提升可扩展性,且无需对应用程序做任何更改……这个特性不仅增强了整体用户体验,还简化了数据库的管理和部署。

在今年早些时候,Oracle 更改了 MySQL 的版本模型,引入了创新和 LTS 版本。MySQL 8.2.0是最新的季度创新版本,包含了错误修复、安全补丁和新特性,改进包括:用于集合操作的哈希表优化、MySQL Enterprise Firewall 的增强以及支持智能卡、安全密钥和生物识别读卡器等设备的新的 WebAuthn 身份验证方法。

MySQL 8.2.0 已正式可用,可以从 Oracle 网站下载。

原文链接

https://www.infoq.com/news/2023/11/mysql-read-write-splitting/

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/bEeAdpiaS1dpfTOquuEL
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com