基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
说明
当前仅阿里云,且 ODP 版本在 V4.3.1 及以上时,支持按副本进行选择。
更新时间:2026-07-28
为缓解企业数据库的读写压力,降低读写操作之间的相互影响,OB Cloud 云数据库提供了读写分离的能力,将读写操作分开处理,提升系统的响应速度,助力企业构建高效稳定的数据库系统。本文结合 OceanBase 数据库的弱一致性读原理(最终一致性),为您介绍 OB Cloud 云数据库读写分离的实现方式及配置方法。
在分布式系统中,数据库天然的多副本特性决定了数据读取的多种一致性读。强一致性读保证读操作的可线性化,即总是可以读到最新版本的数据;相对的,弱一致性读则无法保证在每一次读取时,一定能够读到最新的数据。
OceanBase 数据库是基于 Multi-Paxos 的分布式数据库,数据以多副本的形式保存在不同的 Zone 或者节点上。在数据更新的时候,主(Leader)副本负责承担修改语句的执行,同时同步 clog 提交日志到其他副本节点,只要包含 Leader 副本在内的多数派副本的日志落盘,事务就算提交成功。在这个过程中,一定有除 Leader 副本以外的其他副本节点进行了日志持久化,保证了容灾的能力;同时, Leader 副本之外的其他多数派节点并不保证日志落盘以后,完成 Follower 副本的更新回放,因此,相比 Leader 副本的数据来说,可能存在落后的数据状态的副本。
OceanBase 数据库提供了两种一致性级别(Consistency Level):STRONG 和 WEAK。
STRONG 指强一致性,即读取最新数据,将请求路由给 Leader 副本。
WEAK 指弱一致性,即不要求读取最新数据,将请求优先路由给 Follower 副本。OceanBase 数据库的写操作始终为强一致性,即始终由 Leader 副本提供服务;读操作默认也是强一致性,由 Leader 副本提供服务,用户也可以根据需要指定弱一致性读,由 Follower 副本优先提供读服务。
更多内容参见弱一致性读。
最终一致性是弱一致性的一种特殊形式。数据写入操作后,经过一段时间的传播,系统能够保证所有副本最终达到一致状态。只要没有新的更新操作,最终一致性保证系统会一致。

OceanBase 数据库支持以下类型的副本,副本的读写功能由本身的副本类型决定,更多内容参见日志流和副本概述。
全能型副本(FULL/F):全能型副本称为 Paxos 副本,对应副本可构成 Paxos 成员组,参与选举投票,包括主副本和从副本。从副本是全功能型副本(FULL/F)的一种角色。
只读型副本(READONLY/R):只读型副本为非 Paxos 副本,对应副本不可构成 Paxos 成员组,不参与选举投票。OceanBase 数据库集群实例的只读副本功能通过 OceanBase 数据库内核的只读型副本来实现,它不作为 Paxos 成员参与日志的投票,而是作为一个观察者实时追赶 Paxos 成员的日志,并在本地回放,在业务对读取数据的一致性要求不高的时候可提供只读服务。关于 Paxos 的更多介绍,可以参考 Paxos 协议。在代理层面,用户创建只读副本访问地址后,通过对代理服务的设置,业务流量将被发送到只读型副本所在机器读取数据。
列存副本(COLUMNSTORE/C):列存副本与只读副本类似,也为非 Paxos 副本,对应副本不可构成 Paxos 成员组,不参与选举投票。
访问地址通常是指用于连接和访问云数据库服务的网络地址。访问地址分为主地址、读写地址、只读地址:
主地址和读写地址会根据 SQL 请求是否弱读,决定请求路由的优先策略,弱读请求优先路由到从副本或只读副本。
只读地址只接受弱读请求,请求路由到从副本或者只读副本。
添加访问地址:
您可将某个地址设置为只读,与主地址进行访问隔离,实现读写分离的访问能力。
您可将地址设置为读写分离,写请求自动转发给主副本,读请求根据设置转发给备实例或只读副本。
当前集群的云服务商为腾讯云、华为云或阿里云。
已完成云厂商主账号的注册。
当前集群已创建私网连接地址或者对等连接地址。具体操作,请参见获取连接串。
登录 OB Cloud 云数据库控制台。
在左侧导航栏中,单击 实例列表。
在实例列表中找到目标集群实例,单击集群名称进入集群实例工作台。
在左侧导航栏单击 租户管理。
在租户列表中单击目标租户名进入租户工作台。
单击部署关系图右侧的 添加访问地址。 
根据实际需要设置访问地址配置。
| 参数 | 说明 |
|---|---|
| 选择要创建的网络类型 | 按需选择私网连接地址或者对等连接地址。 |
| 地址类型 | 选择要添加的地址类型:
|
| 访问地址可用区 | 选择访问地址的可用区,该可用区将作为只读所在可用区和读请求访问的数据可用区。 |
| 读流量可访问副本 |
|
| 容灾策略 |
|
| 一致性级别 | 最终一致性。只读可用区与主可用区之间存在数据复制延迟,可能会导致查询结果与主可用区存在一定时间差(具体的访问结果由复制的延迟决定),但最终数据会保持一致。 |
可以在租户工作台的部署关系图区域查看读写模式。

使用只读副本可以更好的实现 HTAP 场景下的读写分离,当 AP 计算复杂时,能够更好的隔离 TP、AP 负载,确保 TP 业务的平稳运行。
HTAP(Hybrid Transactional and Analytical Processing) 是一种同时支持 OLTP(联机事务处理) 和 OLAP(联机分析处理) 的数据库架构或系统。该架构能够在单一系统内实时处理交易型(TP)和分析型(AP)工作负载,避免传统架构中将 TP 与 AP 分离所带来的数据同步延迟和额外成本。在 OceanBase 数据库中,HTAP 的实现基于“同一份数据,同一个引擎”的设计理念,使得一套系统可以同时高效地处理在线实时交易和复杂分析任务,从而提供更高效的业务响应能力。
TP(Transaction Processing): 事务处理是指对数据库进行高并发、短时、大量的小型读写操作的工作负载类型。强调数据一致性与实时性。涉及的操作通常针对少量记录,例如插入、更新或删除。用于支撑在线业务处理场景(OLTP),如银行交易、订单管理等。如:一个用户下单时,系统需要同时更新库存表和订单表。
AP(Analytical Processing):分析处理指的是针对大规模数据集进行复杂查询和聚合分析,以支持决策制定的工作负载类型。主要涉及只读操作,通常扫描大量数据。查询较为复杂,可能包含多个 Join 或 Aggregation(聚合)。适用于在线分析处理(OLAP)场景,如报表生成、趋势分析等。企业通过查询上个月所有销售数据来分析区域销售情况。
HTAP 场景下的单实例的读写分离,您需要先为集群实例创建只读副本,然后为该集群实例下的租户开启只读副本,并为对应租户添加只读副本访问地址。
为集群实例创建只读副本:
首先,你需要为集群实例配置只读副本,确保数据库系统可以支持数据的读操作独立于写操作。只读副本是集群中的从节点,主要负责处理查询和读取请求,而主节点仍承担写入任务。
数据库系统会通过主从同步机制(基于事务日志的逻辑复制或物理复制)使只读副本与主节点的数据保持一致。OB Cloud 通过自身的架构(OceanBase 分布式存储设计),可以让多个只读副本以最终一致性或强一致性来同步主节点的数据。
为该集群实例下的租户开启只读副本:
在 OB Cloud 中,每个租户是一个逻辑隔离的数据库空间,用户可以为特定租户开启只读副本功能。这意味着当前租户的数据可以同步到只读节点,从而支持读写分离。只读副本为租户提供了更多的资源用于处理读操作,不再受制于主节点读操作的吞吐能力。
开启只读副本后,系统会将主节点复用为负责写操作的节点,所有读操作可以根据策略(如负载均衡策略或精细配置的路由策略)被分发到只读副本。
为对应租户添加只读副本访问地址:
系统会为具体的租户添加只读副本的专属访问地址(通常支持域名或 IP 地址形式),以便客户端能够区分读请求和写请求。
配置完成后,应用程序可以根据业务逻辑将写操作(例如 INSERT、UPDATE、DELETE)指向主节点,读操作(例如 SELECT 查询)则指向只读副本的地址。基于 OB Cloud 的多租户架构,该操作对多个租户的实例均独立生效。
实例类型限制:读写分离功能当前仅支持事务型集群实例。
部署方案限制:对于双机房和多机房部署的集群实例,OceanBase 数据库支持创建只读副本,每增加一个只读副本可以多创建一个代理地址。
可用区只读副本数量限制:单可用区的只读副本节点数量不能超过集群单可用区的节点数。例如,若集群实例的节点分布为 2-2-2,则每个可用区可创建的只读副本节点数量不能超过 2。
规格限制:
一个只读副本内的节点规格必须保持一致,不同只读副本的节点规格可以不一致。
所有只读副本的节点规格必须小于集群实例单个节点的规格。
对于只读副本节点规格的选择,若其所属集群实例为 V4.x 版本,则该节点最小规格支持配置为 4 核,若其所属集群实例为 V3.x 版本,则该节点最小规格支持配置为 8 核。
只读副本数量限制
数据库版本 V4.3.5 之前的版本最大支持创建 3 个只读副本、只读列存副本,或者两个副本的任意组合。V4.3.5 及之后的版本,最大支持创建 10 个只读副本。
若后续选择购买额外的只读副本,那么每当该集群下新增购买一个只读副本实例时,可创建的访问地址数量相应增加一个。
数据库代理版本限制:如果使用只读列存副本功能,需要联系 OceanBase 技术支持把数据库代理升级到 ODP V4.3.2 及以上的版本。
具有项目管理员或实例管理员权限,更多内容参见角色权限列表。
当前集群已完成私网地址的创建。具体操作,腾讯云和华为云请分别参考使用腾讯云 Private Link 连接数据库、使用华为云 VPC 终端节点连接数据库和使用阿里云私网连接进行数据库连接完成终端节点服务、终端节点的创建和连接操作。
添加集群只读副本。
登录 OB Cloud 云数据库控制台。
在左侧导航栏中,单击 实例列表。
在实例列表中找到目标集群实例,单击操作列的 ··· > 管理只读副本。

在管理只读副本弹窗中,选择需要增加的副本类型。

增加只读副本:只读副本适用于只读请求隔离,不影响集群的读写服务的应用场景,新增只读副本仅在某一个可用区进行只读副本创建,建议规格与原规格保持一致,后续通过租户设置完成数据同步即可正常使用。
增加只读列存副本:只读列存副本上面的数据表使用列格式存储,OB 内核自动实现数据存储格式的转换,在 HTAP 和 OLAP 数据分析场景可以有效提升查询分析性能。集群创建只读列存副本之后,需要在租户管理页面给租户创建只读列存副本,然后创建只读地址查询只读列存副本,执行数据分析的 SQL。
如果使用只读列存副本功能,需要联系 OceanBase 技术支持把数据库代理升级到 ODP V4.3.2 及以上的版本。
单击 确定 后,系统跳转到付费页面。根据实际需要设置 节点 和 只读副本存储大小,勾选 服务协议 并单击 立即购买。

| 参数 | 参数说明 |
|---|---|
| 可用区 | 选择只读副本所在可用区。 |
| 只读副本规格 | 只读副本支持自定义规格大小,单价费用于集群实例一致。 |
| 只读副本节点个数 | 只读副本使用节点个数。设置节点数量和节点规格之前,您需要了解如下注意事项:
|
| 存储规格 | 只读副本的存储大小,单位:GiB。
说明只读副本的存储规格约束与集群实例约束相同。 |
添加租户只读副本。
在左侧导航栏单击 租户管理。
在租户列表中找到目标租户,单击操作列的 ··· > 管理只读副本。

在管理只读副本弹窗中,进行租户只读副本管理。通过打开 租户只读副本 列的开关,以添加租户只读副本。

在弹窗上单击 确定,您可在实例工作台的拓扑图中查看读写分离情况。

为对应租户添加只读副本访问地址。
在租户列表中单击目标租户名进入租户工作台。
单击部署关系图右侧的 添加访问地址。

根据实际需要设置访问地址配置。
| 参数 | 说明 |
|---|---|
| 地址类型 | 选择要添加的地址类型:只读:对某个副本进行只读的操作,与主地址进行访问隔离,实现读写分离的访问能力。 |
| 访问地址可用区 | 选择访问地址的可用区,该可用区将作为只读所在可用区和读请求访问的数据可用区。 |
| 读流量可访问副本 |
|
| 均衡策略 |
|
| 容灾策略 |
|
| 一致性级别 | 最终一致性。只读可用区与主可用区之间存在数据复制延迟,可能会导致查询结果与主可用区存在一定时间差(具体的访问结果由复制的延迟决定),但最终数据会保持一致。 |
可以在租户工作台的部署关系图区域查看读写模式。
在传统数据库中,不少只读类的报表业务由于对数据及时性的敏感度较低,DBA 会将该类应用业务迁移至备库之行,既可以满足统计查询业务需求,也减少了主库的压力。OB Cloud 云数据库支持同云主备库的读写分离,您可创建同云备实例,主备库实例中的租户进行私网地址创建,同时为备实例设置写请求自动路由。
在创建备实例前,请您进行如下检查,满足下述情况时,才可进行修改操作。
创建同云备实例。
登录 OB Cloud 云数据库控制台。
在左侧导航栏中,单击 实例列表。
在实例列表中找到目标集群,单击 操作 列的 创建备实例。
一个主集群实例下最多可以创建两个备实例。
在下单页面设置备实例的购买参数配置。
| 参数 | 参数说明 |
|---|---|
| 实例类型 | 需要与主实例的实例类型保持一致。本期仅支持为事务型集群实例创建备实例。 |
| 付费方式 | 需要与主实例的付费方式保持一致。本期仅支持为按量付费的集群创建备实例。 |
| 云服务商 | 需要与主实例的云服务商保持一致。 |
| 地域 | 备实例所在的地理位置,可以与主实例不同。 |
| 版本 | 需要与主实例的版本保持一致。 |
| 部署方案 | 需要与主实例的部署方案保持一致。 |
| 可用区 | 备实例的可用区,可以与主实例不同。 |
| 计算规格 | 备实例的计算规格可以与主实例不同。备实例的最小节点规格不能小于主实例节点规格 * 0.33。 |
| 存储规格 | 备实例的存储规格不能小于主实例的存储规格。 |
| 购买数量 | 一次只能创建一个备实例。 |
在 配置概览 中,检查您的参数配置和购买数量是否正确,完成检查后,勾选服务协议并单击 确认下单。
主备库实例中的租户已完成私网地址创建,不同云厂商操作不同,详情参见:
设置备实例写请求自动路由。
在实例列表中找到目标集群的备实例,单击集群名称,进入集群实例工作台。
在左侧导航栏单击租户管理。
在租户列表中选择目标租户,单击租户名,进入租户工作台。
在租户工作台的部署关系图右侧,找到备库写请求自动路由开关,选择打开或关闭该功能。

在弹窗中,单击确定,开启备库写请求自动路由。
可以在租户工作台的部署关系图区域查看读写模式。
您可根据业务的实际情况,选择适合您的读写分离方案。
| 读写分离方案 | 优势 | 适用场景 |
|---|---|---|
| 通过添加访问地址实现读写分离 |
|
|
| 通过只读副本实现单实例的读写分离 |
|
|
| 通过主备实例实现的读写分离 |
|
|