扫码阅读
手机扫码阅读
TiDB | 隐藏款“缓存表”,能解决读写热点的问题!
![](/theme/default/default/images/main/eye-open.png)
TiDB 缓存表简介
TiDB 数据库工程师漆锐分享了关于TiDB读写热点问题的解决方法,特别是对TiDB v6.0.0新特性——缓存表的介绍。缓存表主要用于解决小表读热点问题,通过将小表数据缓存到TiDB Server内存中,减少对TiKV节点访问的频次,从而提升查询效率。
缓存表的优点与限制
缓存表的优点包括减少网络链路时间消耗、避免读热点导致的性能损失,以及降低查询时延。然而,它也有使用限制,如表大小不得超过64MB,不适合写操作,不能进行DDL操作。因此,适用于数据量不大、少量修改、频繁访问的场景,例如配置表、存储汇率表、银行分行信息表等。
缓存表的工作原理
漆锐详细介绍了普通表转换为缓存表的过程,包括使用`ALTER TABLE tbl_name CACHE`语句,以及相关的源码分析。过程中涵盖解析语句、生成执行器、判断表属性、计算表大小、执行SQL语句、生成DDLjob等步骤。同时,作者提到了缓存表的关键机制——lease,它确保了数据的准确性,通过在lease期间加读锁阻塞写操作。
缓存表的细节探索
文章进一步探讨了缓存表在创建后的数据读取机制。一开始,数据依旧存储在TiKV中,并非直接从缓存读取。只有在首次读取后,数据才被缓存到tidb-server内存中,并赋予lease期限,此后在lease期间内的读取都直接来自内存。关于续约问题,TiDB不会主动缓存数据,而是在数据被重新读取时才赋予新的lease期限,相当于续约。
想要了解更多,点击
查看原文
神州数码云基地的其他文章
自定义Odoo13widget(实现Odoo日历区间选择,只能选择当前日期及以后的时间)
需求说明:在创建需要的选择日期的数据时,有时会有不能选择当前日期之前时间的限制,针对这样的需求开发了一个自定
TiDB4PG | 与 TiDB 共舞,一次“亦步亦趋”的升级
升级 TiDB4PG,与 TIDB 一起高歌猛进吧!!!
旧叔讲文旅 | 用手机买过那么多票,你真的了解门票的“一生”吗?
5分钟带你领略文旅数字化冰山下的全貌!内附视频哟~
数据库丨TiDB集群中高危Grafana权限漏洞如何快速修复?答案在这里→
Grafana权限提升漏洞解决方案。
业务中台的一次演进
从一个软件工程师的角度去聊聊业务中台,努力做到通俗易懂。
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线