云数据库 GAUSSDB(FOR MYSQL)-GaussDB(for MySQL)数据库代理简介:注意事项

时间:2024-09-23 10:09:33

注意事项

表1 数据库代理注意事项

分类

注意事项

版本约束

  • GaussDB (for MySQL)实例内核版本如下时,不支持开通数据库代理。
    • 大于等于2.0.26.2且小于等于2.0.28.3
    • 等于2.0.29.1
  • GaussDB(for MySQL)实例的内核版本低于2.0.42.230601时,仅支持创建1个代理实例。
  • GaussDB(for MySQL)实例的内核版本高于或等于2.0.42.230601时,最多支持创建4个代理实例。

不支持的功能

  • 数据库代理不支持压缩协议。
  • 数据库代理不支持事务隔离级别READ-UNCOMMITTED。
  • 数据库代理不支持读写表中单列超过16MB的数据。
  • 数据库代理不支持SQL_MODE参数PAD_CHAR_TO_FULL_LENGTH

使用约束

  • 实例的CPU总核数(即所有节点的CPU核数的总和)低于8核时,不支持开通数据库代理。
  • 至少创建1个只读节点才能开启读写分离功能。
  • 开启读写分离功能后,不允许修改GaussDB(for MySQL)实例的端口和读写内网地址。
  • 如果执行了Multi-Statements,当前连接的后续请求会全部路由到主节点,需断开当前连接并重新连接才能恢复读写分离。
  • 使用代理地址时,事务请求都会路由到实例的主节点(可以使用事务拆分功能对事务中写之前的读请求进行拆分),不保证非事务读的一致性,业务上有读一致性需求可以封装到事务中。
  • 使用代理地址时,show processlist和直连数据库有差异。因为数据库代理的show processlist是逻辑的,仅仅将通过数据库代理节点下发的业务展示出来,所以和直连数据库有差异。
  • 当某一个代理节点处于异常状态时,通过代理执行show processlist或者Kill时,有可能会出现命令执行时间稍微变长的情况,此时无需关注,业务不会受到影响。
  • 当数据库代理进行缩容后,通过代理执行show processlist命令时,可能会将被缩容的节点上的业务展示出来。
  • 通过数据库代理进行Kill时,偶尔可能会出现超时等报错信息,此时可以通过二次show processlist查看业务是否真正被Kill成功。
  • 当数据库代理的某个节点处于异常状态时,执行show processlist命令时,可能会出现2秒卡顿,此时无需关注,结果会正常返回。
  • 当使用数据库代理时,多语句拼接的SQL大小不超过100MB,避免数据库代理解析SQL消耗过多的资源。
  • 当使用数据库代理时,不能使用中文数据库和中文用户名。

HTAP实时分析

  • 不支持一致性级别和连接池。
  • 路由模式仅支持权重负载模式。
  • 代理模式仅支持读写模式。
support.huaweicloud.com/usermanual-gaussdbformysql/gaussdbformysql_11_0016.html