本文汇总了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:新增只读节点之后新建的读写分离连接才会转发请求到该只读节点。若需要使新增只读节点之前建立的读写分离连接也转发请求到新增的只读节点,则您需要通过重启应用程序等操作断开该连接并重新建立连接。