Oceanbase读写分离策略有哪些创新优化方法?

2026-05-29 05:470阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2174个文字,预计阅读时间需要9分钟。

Oceanbase读写分离策略有哪些创新优化方法?

【作者】许金松,软件工程资深DBA,专注于分布式数据库研究和运维。

【台柏】,软件工程高级DBA,主要负责MySQL和OceanBase的运维。

【前言】读写分离,是一种将数据库的查询操作和写入操作分离到不同服务器的技术。

许金柱,携程资深DBA,专注于分布式数据库研究及运维。
台枫,携程高级DBA,主要负责MySQL和OceanBase的运维。

   读写分离,是一种将数据库的查询操作和写入操作分离的方案,目的是为了降低读写操作的相互影响并提升资源利用率。在携程,读写分离的应用场景非常普及,只读的业务场景主要包括线上业务的读请求、缓存的拉取,大数据ETL取数等。
   OceanBase 数据库天然支持读写分离的功能,即通过 OBProxy 代理服务和OBServer的配置修改即可实现业务的读写分离策略;然而OceanBase 读写分离方案存在与业务耦合度过高、匹配不够灵活等问题。因此,我们在 OceanBase已有的读写分离方案下继续探索并优化更符合当前业务场景的解决方案。

一、OceanBase原生的读写分离策略

OceanBase数据库在读取数据时,提供了两种一致性级别:强一致性和弱一致性。
   强一致性指的是读取最新数据,请求路由给主副本;
   弱一致性不要求读取最新数据,请求优先路由给备副本。
基于此,通过应用侧为执行的sql添加sql hint来显性开启弱一致性读就可以实现基于注释的读写分离,同时也衍生出了如下三种常用的读写分离策略:

策略一、备优先读

通过修改obproxy的路由策略为follower_first,并将业务读流量指定到该obproxy从而保证读请求优先访问follower副本。

阅读全文

本文共计2174个文字,预计阅读时间需要9分钟。

Oceanbase读写分离策略有哪些创新优化方法?

【作者】许金松,软件工程资深DBA,专注于分布式数据库研究和运维。

【台柏】,软件工程高级DBA,主要负责MySQL和OceanBase的运维。

【前言】读写分离,是一种将数据库的查询操作和写入操作分离到不同服务器的技术。

许金柱,携程资深DBA,专注于分布式数据库研究及运维。
台枫,携程高级DBA,主要负责MySQL和OceanBase的运维。

   读写分离,是一种将数据库的查询操作和写入操作分离的方案,目的是为了降低读写操作的相互影响并提升资源利用率。在携程,读写分离的应用场景非常普及,只读的业务场景主要包括线上业务的读请求、缓存的拉取,大数据ETL取数等。
   OceanBase 数据库天然支持读写分离的功能,即通过 OBProxy 代理服务和OBServer的配置修改即可实现业务的读写分离策略;然而OceanBase 读写分离方案存在与业务耦合度过高、匹配不够灵活等问题。因此,我们在 OceanBase已有的读写分离方案下继续探索并优化更符合当前业务场景的解决方案。

一、OceanBase原生的读写分离策略

OceanBase数据库在读取数据时,提供了两种一致性级别:强一致性和弱一致性。
   强一致性指的是读取最新数据,请求路由给主副本;
   弱一致性不要求读取最新数据,请求优先路由给备副本。
基于此,通过应用侧为执行的sql添加sql hint来显性开启弱一致性读就可以实现基于注释的读写分离,同时也衍生出了如下三种常用的读写分离策略:

策略一、备优先读

通过修改obproxy的路由策略为follower_first,并将业务读流量指定到该obproxy从而保证读请求优先访问follower副本。

阅读全文