首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【赵渝强老师】TiDB的行存引擎:TiKV

【赵渝强老师】TiDB的行存引擎:TiKV

原创
作者头像
赵渝强老师
发布2025-04-12 11:31:48
发布2025-04-12 11:31:48
2640
举报
文章被收录于专栏:TiDBTiDB

TiDB的存储架构分为TiKV和TiFlash。TiVK是行存引擎,主要用于OLTP场景;而TiFlash是列存引擎,主要用于OLAP场景。下面重点讨论一下TiDB的行存引擎:TiKV,它的体系架构如下图所示:

视频讲解如下:

该类型的节点负责以行式方式存储数据,从外部看TiKV是一个分布式支持事务的Key-Value存储引擎。表中的数据会被划分成多个Region,Region是存储数据的基本单位,默认大小256M。每个Region负责存储一个Key Range(从Start Key到End Key的左闭右开区间)的数据。每个TiKV节点会负责多个Region。TiKV的API在KV键值对层面提供对分布式事务的原生支持,默认提供了SI(Snapshot Isolation)的隔离级别,这也是TiDB在SQL层面支持分布式事务的核心。TiDB的SQL层做完SQL解析后,会将SQL的执行计划转换为对TiKV API的实际调用。另外,TiKV中的Region会自动维护多副本(默认为3个副本),天然支持高可用和自动故障转移。在这3个Region的副本中,其中一个的角色是Leader,另外两个的角色是Follower。Leader副本所在的TiKV节点提供数据读写服务。TiKV通过PD对这些Region以及副本进行调度,以保证数据和读写负载都均匀地分散在各个TiKV上,这样的设计保证了整个集群资源的充分利用并且可以随着机器数量的增加水平扩展。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档