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

简介: TiDB 的存储架构由 TiKV(行存引擎)和 TiFlash(列存引擎)组成,分别适用于 OLTP 和 OLAP 场景。本文重点解析 TiKV 的体系结构,其作为分布式事务型 Key-Value 存储引擎,通过 Region 管理数据分布,支持高可用与自动故障转移。每个 Region 默认有 3 个副本,由 PD 调度实现负载均衡与水平扩展。视频进一步详解了 TiKV 的核心功能与设计原理。

b1002.png

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

image.png


视频讲解如下:

该类型的节点负责以行式方式存储数据,从外部看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上,这样的设计保证了整个集群资源的充分利用并且可以随着机器数量的增加水平扩展。


相关文章
|
8月前
|
人工智能 并行计算 Docker
显卡驱动、CUDA、NVIDIA Container Toolkit 内网离线安装教程
本文详解无网络环境下私有化AI部署的离线环境搭建:涵盖NVIDIA驱动(550.142)、CUDA 12.4、NVIDIA Container Toolkit及Docker的全流程离线安装与配置,适配双RTX 3090服务器,含依赖处理、冲突解决与完整验证步骤。
5232 7
显卡驱动、CUDA、NVIDIA Container Toolkit 内网离线安装教程
|
网络协议 Linux 网络虚拟化
什么是 DHCP?为什么要使用它?
【8月更文挑战第4天】
10876 134
什么是 DHCP?为什么要使用它?
|
人工智能 移动开发 前端开发
WeaveFox:蚂蚁集团推出 AI 前端智能研发平台,能够根据设计图直接生成源代码,支持多种客户端和技术栈
蚂蚁团队推出的AI前端研发平台WeaveFox,能够根据设计图直接生成前端源代码,支持多种应用类型和技术栈,提升开发效率和质量。本文将详细介绍WeaveFox的功能、技术原理及应用场景。
8051 68
WeaveFox:蚂蚁集团推出 AI 前端智能研发平台,能够根据设计图直接生成源代码,支持多种客户端和技术栈
|
SQL 存储 关系型数据库
深入OceanBase内部机制:系统架构与组件精讲
深入OceanBase内部机制:系统架构与组件精讲
深入OceanBase内部机制:系统架构与组件精讲
|
前端开发 JavaScript 编译器
不走弯路,纯前端如何把图片导出成视频!
【10月更文挑战第3天】不走弯路,纯前端如何把图片导出成视频!
1227 3
|
Java uml
[UML] --- vscode中配置plantuml
[UML] --- vscode中配置plantuml
1327 0
|
存储 算法 固态存储
CRUSH映射图及自定义规则实战篇
Ceph存储系统中CRUSH映射图及自定义规则的实战教程,涵盖了PG与OSD映射调整、CRUSH运行图修改案例以及CRUSH数据分类管理等内容。
705 1
|
存储 负载均衡 NoSQL
高速读写、负载均衡:基础架构KV存储项目最佳实践
高速读写、负载均衡:基础架构KV存储项目最佳实践