ITPub博客

首页 > 数据库 > 国内数据库 > Tidb server功能(3)

Tidb server功能(3)

原创 国内数据库 作者:wanglinghua0907 时间:2024-05-28 18:02:28 0 删除 编辑

7.tidb 缓存

TiDB Server 的 缓 存  TiDB Server 缓 存 组 成  SQL 结 果  线 程 缓 存  元 数 据 , 统 计 信 息  TiDB “ 釕 缓 存 管 理  tidb_mem-quota—query  00m-aCtlOn

7.1 虽然结果都是从 tikv 中读出,但是执行计划中使用了表连接、 hash join 、子查询,做不到从某个 tikv 中得到数据,可能散落在多个 tikv 中。从多个 tikv 中汇聚到 tidb server 的缓存中,汇聚成 2 个表,然后两表再做连接。

tidb server  t i kv

7.2 事务(比如要改 3g 的数据)要先放缓存中,然后提交。

 

7.3 线程池需要缓存。

 

7.4 解析、编译中用到的元数据也放在 tidb 缓存中

 

tidb server 缓存管理:

tidb_mem_quota_query( 每个 sql 语句或者查询默认能使用的缓存量 ) (比如 2 表关联就是这个来限制)

oom-action ( sql 超过上面阈值后,是中断显示 error ,还是记录日志行为,还是如何)

 

8. 热点小表缓存

点 小 表 缓 存  表 的 数 据 0 不 大  只 读 表 或 者 修 改 不 频 繁 的 表  表 的 访 问 很 频 繁  TiDB Server  TiKV  cache table  memBuffer  TiKV  TiKV  TiKV  TiKV

 

TiKV i5äL-}Äfi  tidb table cache lease = 5  TiDB Server  TiKV  expired  _ cache table  memBuffer  TiKV  TiKV  TiKV  TiKV

 

TiDB 对 于 每 张 缓 存 表 / \ 限 制 64 MB  适 用 于 查 询 频 繁 、 数 , 大 、 极 少 修 改 的 场 景  在 租 约 。 五 d 下 table_cache-lease) 时 间 内 , 写 操 作 会 被 阻 塞  当 租 约 到 期 (tidb_table_cache_lease) 时 , 读 性 能 会 下 降  不 支 持 对 缓 存 表 直 接 做 DDL 操 作 , 需 要 先 关 闭  对 于 表 加 载 较 慢 或 者 极 少 修 改 的 表 , 可 以 适 当 延 长 tidb-table-cache-lease 保 持 读 性 能 稳 定

 

热点小表概述:

大量读业务、非频繁修改、小于 64m 的表为热点表。

 

造成影响:

而如果一个表只占一个 region ,这样的话,那个 tikv 非常繁忙,造成性能瓶颈。

 

语法:

将这张小表 (haha 表 ) 缓存到 cache table 中的语句 ( 要求小于 64m)

alter table haha cache;

 

参数:

tidb_table_cache_lease=5

这个参数默认 5 秒。

5 秒内,用户可以从 tidb 缓存 中读表。

 

原理:

租约时间中,能读,不能写。租约到了,缓存表过期,缓存表不可读了。

可对表进行写操作(对 tikv ,而不是缓存表),此时读也是对 tikv 中的表读。

当写操作完成后,下一次的租约开始,从 tikv 中将数据重新缓存到缓存表中( cache table 的 refresh )。

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980685/viewspace-3016986/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE、sql server、oceanbase数据库专家,拥有7年以上的大型数据库运维经验,主方向oracle,擅长故障排除、诊断,大体量(TB)迁移,异常故障修复等。拥有丰富主导大型项目经验。服务行业包括:运营商、银行、金融业、政府单位、医疗、制造业、高校等等。

注册时间:2020-07-31

  • 博文量
    116
  • 访问量
    88777