本文汇总了PolarDB数据库代理相关的常见问题。

读写分离

  • Q:为什么刚插入的语句,立即查的时候查不到?

    A:读写分离的架构下,主节点和只读节点之间复制会有延迟,但PolarDB支持会话一致性,即同一个会话内保证能读到之前的更新,详情请参见会话一致性

  • Q:是否支持0毫秒延迟的读取?

    A:PolarDB集群的主节点和只读节点在正常负载情况下,具有毫秒级的延迟,读写分离连接地址暂时不支持在数据写入后0毫秒的读取。如果要求0毫秒延迟的读取,可使用主地址(动态指向PolarDB主节点)将读写请求发给主节点。如何查看主地址,请参见查看连接地址和端口

  • Q:为什么当主节点负载很高时,只读节点上负载却很低?
    A:因为在默认情况下,事务中的请求都会路由到主节点。此时,您可以尝试如下解决办法:
    • 若在Sysbench压测中,您可以在0.5版本的Sysbench中加上--oltp-skip-trx=on或在1.0版本的Sysbench中加上--skip-trx=on去掉事务后,再进行压测。
    • 若在实际业务中,由于事务较多导致主节点负载过高时,您可以开启读写分离下的事务拆分功能减轻主节点的压力,详情请参见事务拆分
  • Q:为什么某个节点的请求数比别的节点多?

    A:当前是根据负载来分发请求的,负载小的节点接收的请求数会更多。

  • Q:新增的只读节点会自动加入到读写分离吗?

    A:新增只读节点之后新建的读写分离连接才会转发请求到该只读节点。若需要使新增只读节点之前建立的读写分离连接也转发请求到新增的只读节点,则您需要通过重启应用程序等操作断开该连接并重新建立连接。

集群地址

  • Q:一个集群最多允许创建多少个单节点集群地址?

    A:一个集群最多仅支持3个自定义集群地址,其中包括单节点集群地址。如何创建单节点集群地址,详情请参见新增自定义集群地址

    警告 创建单节点集群地址后,当此节点故障时,该地址可能会有最多1小时的不可用,请勿用于生产环境。
  • Q:当出现系统故障需要进行主备切换时,单节点集群地址下对应的只读节点能否切换为新主节点?

    A:主备切换时,单节点地址下对应的只读节点不会被自动切换为新主节点。但您仍可以通过手动切换将其设置为新主节点,详细操作请参见主备切换

  • Q:一个集群最多可拥有多少个集群地址?

    A:一个集群最多可拥有4个集群地址,其中1个为默认集群地址,另外3个为自定义集群地址。

  • Q:可以修改集群地址吗?

    A:默认集群地址和自定义集群地址都支持修改配置,详情请参见修改集群地址

  • Q:可以释放集群地址吗?

    A:仅自定义集群地址可以被释放,默认集群地址无法被释放,详情请参见释放自定义集群地址