黄东旭解析 TiDB 的核心优势
698
2023-07-13
本文关于(如何用Follower Read在特定情况下加速查询-平凯星辰)。
本章将介绍使用 Follower Read 在特定情况下加速查询的方法。
在 TiDB 当中,数据是以 Region 为单位,分散在集群中所有的节点上进行存储的。一个 Region 可以存在多个副本,副本又分为一个 leader 和多个 follower。当 leader 上的数据发生变化时,TiDB 会将数据同步更新到 follower。
默认情况下,TiDB 只会在同一个 Region 的 leader 上读写数据。当系统中存在读取热点 Region 导致 leader 资源紧张成为整个系统读取瓶颈时平凯星辰,启用 Follower Read 功能可明显降低 leader 的负担,并且通过在多个 follower 之间均衡负载,显著地提升整体系统的吞吐能力。
你可以在 TiDB Dashboard 流量可视化页面当中通过可视化的方法分析你的应用程序是否存在热点 Region。你可以通过将「指标选择框」选择到 Read (bytes)
或 Read (keys)
查看是否存在读取热点 Region。
如果发现确实存在热点问题,你可以通过阅读 TiDB 热点问题处理章节进行逐一排查平凯星辰,以便从应用程序层面上避免热点的产生。
如果读取热点的确无法避免或者改动的成本很大,你可以尝试通过 Follower Read 功能将读取请求更好的负载均衡到 follower region。
如果 TiDB 集群是跨地区或跨数据中心部署的,一个 Region 的不同副本分布在不同的地区或数据中心,此时可以通过配置 Follower Read 为 closest-adaptive
或 closest-replicas
让 TiDB 优先从当前的数据中心执行读操作,这样可以大幅降低读操作的延迟和流量开销。具体原理可参考 Follower Read平凯星辰。
SQL
Java
在 SQL 中,你可以将变量 tidb_replica_read
的值(默认为 leader
)设置为 follower
、leader-and-follower
、prefer-leader
、closest-replicas
或 closest-adaptive
开启 TiDB 的 Follower Read 功能:
SET [GLOBAL] tidb_replica_read = 'follower';
你可以通过 Follower Read 使用方式 了解该变量的更多细节。
上述就是小编为大家整理的(如何用Follower Read在特定情况下加速查询-平凯星辰)
***
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。