文档平台

读写分离

最近更新时间:2017-12-22 09:48:18

查看pdf

注意:
预计8月底支持自助申请,如提前需要,可提交工单。

1. 概述

1.1 功能简介

当处理大数据量“读请求”的压力大、要求高时,可以通过读写分离功能将读的压力分布到各个从节点上。
腾讯研发的 DCDB 默认支持读写分离功能,架构中的每个从机都能支持只读能力,如果配置有多个从机,将由网关集群(TProxy)自动分配到低负载从机上,以支撑大型应用程序的读取流量;

1.2 基本原理

读写分离 基本的原理是让主节点 (master) 处理事务性增、改、删操作(INSERT、UPDATE、DELETE),让从节点 (slave) 处理查询操作(SELECT)。

2. 使用读写分离

2.1基于只读帐号的读写分离

只读帐号是一类仅有读权限的账户,默认从数据库集群中的从机(或只读实例)中读取数据。

通过只读帐号,对读请求自动发送到备机,并返回结果。

2.1.1 读写分离策略

在只读帐号设置选项中,您可以设置【只读请求分配策略】,定义在备机故障(或延迟较大)时的“读“策略。

  • 选择【主机】则备机延迟超时时从主机读取。
  • 选择【直接报错】则备机延迟超时时报错。
  • 选择【只从备机读取】则忽略延迟参数,一直从备机读取(一般用于拉取 binlog 同步)。
  • 定义【只读备机延迟参数】,定义数据同步延迟时间,并与【只读请求分配策略】中的【主机】及【直接报错】两种策略配合使用。

2.2 基于注释的读写分离

在每条需要从机“读”的 SQL 前,增加/*slave*/ 字段,并且 mysql 后面增加 -c 参数来解析注释mysql -c -e "/*slave*/sql",即可自动将“读”请求分配到从机,代码示例如下:

//主机读//
select * from emp order by sal,deptno desc;
//从机读//
/*slave*/ select * from emp order by sal,deptno desc

注意:
1. 该功能仅支持从机读(select),不支持其他操作,非 select 语句将失败。
2. mysql 后面要增加 -c 参数来解析注释。
3. /*slave*/必须为小写,语句前后无空格。
4. 从机出现异常而影响到 MAR(强同步)机制时,从机读操作将自动切换回主机。

读写分离

最近更新时间:2017-12-22 09:48:18

查看pdf

注意:
预计8月底支持自助申请,如提前需要,可提交工单。

1. 概述

1.1 功能简介

当处理大数据量“读请求”的压力大、要求高时,可以通过读写分离功能将读的压力分布到各个从节点上。
腾讯研发的 DCDB 默认支持读写分离功能,架构中的每个从机都能支持只读能力,如果配置有多个从机,将由网关集群(TProxy)自动分配到低负载从机上,以支撑大型应用程序的读取流量;

1.2 基本原理

读写分离 基本的原理是让主节点 (master) 处理事务性增、改、删操作(INSERT、UPDATE、DELETE),让从节点 (slave) 处理查询操作(SELECT)。

2. 使用读写分离

2.1基于只读帐号的读写分离

只读帐号是一类仅有读权限的账户,默认从数据库集群中的从机(或只读实例)中读取数据。

通过只读帐号,对读请求自动发送到备机,并返回结果。

2.1.1 读写分离策略

在只读帐号设置选项中,您可以设置【只读请求分配策略】,定义在备机故障(或延迟较大)时的“读“策略。

  • 选择【主机】则备机延迟超时时从主机读取。
  • 选择【直接报错】则备机延迟超时时报错。
  • 选择【只从备机读取】则忽略延迟参数,一直从备机读取(一般用于拉取 binlog 同步)。
  • 定义【只读备机延迟参数】,定义数据同步延迟时间,并与【只读请求分配策略】中的【主机】及【直接报错】两种策略配合使用。

2.2 基于注释的读写分离

在每条需要从机“读”的 SQL 前,增加/*slave*/ 字段,并且 mysql 后面增加 -c 参数来解析注释mysql -c -e "/*slave*/sql",即可自动将“读”请求分配到从机,代码示例如下:

//主机读//
select * from emp order by sal,deptno desc;
//从机读//
/*slave*/ select * from emp order by sal,deptno desc

注意:
1. 该功能仅支持从机读(select),不支持其他操作,非 select 语句将失败。
2. mysql 后面要增加 -c 参数来解析注释。
3. /*slave*/必须为小写,语句前后无空格。
4. 从机出现异常而影响到 MAR(强同步)机制时,从机读操作将自动切换回主机。