GaussDB(for MySQL)读写分离最佳实践
概述
GaussDB(for MySQL)是华为自研的最新一代企业级高扩展高性能分布式数据库,完全兼容MySQL,在对数据库有少量写请求但存在大量读请求的应用场景下,可以通过读写分离功能来分担业务压力。
读写分离简介
GaussDB(for MySQL)读写分离是指通过一个读写分离的连接地址实现读写请求的自动转发,创建实例后,您可以开通读写分离功能,通过GaussDB(for MySQL)的读写分离连接地址,写请求自动访问主节点,读请求按照读权重设置自动访问各个节点。
操作步骤
1、登录管理控制台:
单击管理控制台左上角的“区域和项目”选择按钮。
在页面左上角单击,选择“数据库 > 云数据库 GaussDB(for MySQL)”。
在实例列表中,单击目标实例的名称,进入实例的“基本信息”页面。
2、开通读写分离功能:
在左侧导航栏中,单击“数据库代理”。
在申请页面单击“新增代理”。
在弹出的对话框中,设置代理实例名称、代理模式、一致性级别、代理实例规格、代理实例节点数量,选择数据库节点并设置读权重后,单击“确定”,开启实例的读写分离功能。
3、设置代理实例参数:
代理实例名称:长度在4个到64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。
代理模式:支持读写模式和只读模式。
读写模式:所有写请求只发往主节点,所有读请求按照读权重配比分发到已选节点。
只读模式:所有读请求按照读权重配比分发到已选只读节点,不会分发到主节点。
一致性级别:目前支持最终一致性、会话一致性和全局一致性。
代理实例规格:根据实际需要选择合适的代理实例规格。
代理实例节点数量:最小支持2个节点,最大支持32个节点。
读权重分配:对于开启读写分离功能的实例,您可以添加或移除节点,并设置其主节点和只读节点的读权重。
注意事项
1、用户账号如果需要使用数据库代理登录,则必须赋予账号远程登录权限,否则无法通过数据库读写分离访问。
2、同一个节点(包括主节点和只读节点)可以同时被多个代理实例选择,并设置不同的读权重配比。
3、读写分离功能不支持压缩协议。
4、如果执行了MultiStatements,当前连接的后续请求会全部路由到主节点,需断开当前连接并重新连接才能恢复读写分离。
5、使用读写分离的连接地址时,事务请求都会路由到实例的主节点(可以使用事务拆分功能对事务中写之前的读请求进行拆分),不保证非事务读的一致性,业务上有读一致性需求可以封装到事务中。
6、GaussDB(for MySQL)数据库代理服务暂不收费,后续收费会提前告知日期。
通过以上步骤和注意事项,可以实现GaussDB(for MySQL)的读写分离功能,提高数据库的读取性能和可用性,在实际应用中,请根据具体业务场景和需求进行调整和优化。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1204270.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复