【赵渝强老师】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上,这样的设计保证了整个集群资源的充分利用并且可以随着机器数量的增加水平扩展。


相关文章
|
存储 SQL Java
数据库TiDB-01.数据库架构概述
TiDB兼容MySQL 5.7协议,支持水平扩容或者缩容的金融级高可用的云原生分布式数据库。
792 2
数据库TiDB-01.数据库架构概述
|
7月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
7月前
|
存储 运维 监控
【赵渝强老师】TiDB数据库从零开始
《TiDB数据库从零开始》是一门系统介绍TiDB分布式数据库的课程,共11章。内容涵盖TiDB体系架构、安装部署、用户安全管理、数据库对象操作、事务与锁机制、备份恢复、数据迁移与同步、TiSpark/TiProxy/TiFlash组件使用,以及监控诊断与故障处理。通过视频讲解和详细文本,帮助学员全面掌握TiDB的核心功能与应用场景。
194 9
|
6月前
|
存储 关系型数据库 MySQL
【赵渝强老师】OceanBase数据库从零开始:MySQL模式
《OceanBase数据库从零开始:MySQL模式》是一门包含11章的课程,涵盖OceanBase分布式数据库的核心内容。从体系架构、安装部署到租户管理、用户安全,再到数据库对象操作、事务与锁机制,以及应用程序开发、备份恢复、数据迁移等方面进行详细讲解。此外,还涉及连接路由管理和监控诊断等高级主题,帮助学员全面掌握OceanBase数据库的使用与管理。
350 5
|
7月前
|
存储 关系型数据库 MySQL
【赵渝强老师】TiDB的体系架构
TiDB是由PingCAP公司自主研发的开源分布式关系型数据库,支持HTAP(混合事务分析处理),具备弹性扩缩容、金融级高可用、实时分析等特性,兼容MySQL协议。其架构分为存储集群(行存TiKV与列存TiFlash)、调度集群(PD实例)和计算集群(TiDB实例)。相比传统单机数据库,TiDB优势显著:纯分布式设计、高扩展性、自动故障恢复、ACID事务支持及丰富的工具生态,适用于高可用与强一致要求的场景。
274 10
|
7月前
|
存储 SQL OLAP
【赵渝强老师】TiDB的列存引擎:TiFlash
TiFlash是TiDB的列式存储引擎,借助ClickHouse实现高效协处理器层,采用Multi-Raft体系进行数据复制与分散。它实时从TiKV同步数据,提供一致性的最新读取。组件包括列式存储引擎和TiFlashproxy,支持TiDB与TiSpark计算引擎。需手动指定表同步,并通过DDL语句管理副本数量。文档还介绍了部署、创建副本、查看同步进度及删除副本等操作步骤,展示了其在OLAP场景的应用。
192 0
【赵渝强老师】TiDB的列存引擎:TiFlash
|
存储 SQL 关系型数据库
技术好文:TiDB架构及设计实现
技术好文:TiDB架构及设计实现
1063 0
|
9月前
|
数据采集 存储 调度
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
在Python网页抓取领域,BeautifulSoup和Scrapy是两款备受推崇的工具。BeautifulSoup易于上手、灵活性高,适合初学者和简单任务;Scrapy则是一个高效的爬虫框架,内置请求调度、数据存储等功能,适合大规模数据抓取和复杂逻辑处理。两者结合使用可以发挥各自优势,例如用Scrapy进行请求调度,用BeautifulSoup解析HTML。示例代码展示了如何在Scrapy中设置代理IP、User-Agent和Cookies,并使用BeautifulSoup解析响应内容。选择工具应根据项目需求,简单任务选BeautifulSoup,复杂任务选Scrapy。
203 1
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
|
编解码 定位技术 计算机视觉
多模态LLM视觉推理能力堪忧,浙大领衔用GPT-4合成数据构建多模态基准
【9月更文挑战第2天】浙江大学领衔的研究团队针对多模态大型模型(MLLM)在抽象图像理解和视觉推理上的不足,提出了一种利用GPT-4合成数据构建多模态基准的方法。该研究通过合成数据提高了MLLM处理图表、文档等复杂图像的能力,并构建了一个包含11,193条指令的基准,涵盖8种视觉场景。实验表明,这种方法能显著提升模型性能,但依赖闭源模型和高计算成本是其局限。论文详细内容见:https://arxiv.org/pdf/2407.07053
337 10
|
弹性计算 Kubernetes 监控
阿里云ack学习
【8月更文挑战第6天】
1699 3