TIDB 数据库架构概述
学习目标
- 题解数据库整体架构
- 了解 TiDB Server 、TiKV、TiFlash、和 PD 的主要功能
文章末尾获取笔记、视频资料,持续更新
体系架构
- 水平扩容或者缩容
- 金融级高可用
- 实时 HTAP
- 云原生的分布式数据库
- 兼容 MySql5.7 协议

TiDB 体系架构图
组件
TiDB Server
TiDB Server 是 TiDB 分布式数据库的 SQL 层,是整个系统的入口。
功能
处理客户端的连接
SQL语句的解析、编译、生成执行计划
生成sql语句,然后在TiKV 或者 TiFLASH上执行
关系型数据与 KV 的转化
TiKV 存的数据是键值对,将数据表转换为 KV 键值对
SQL语句执行(DDL语句)
执行 online DDL
垃圾回收(默认时间10分钟)

工作流程
客户端请求 ->
协议解析 ->
SQL 解析 ->
查询优化 ->
生成执行计划 ->
分布式执行 ->
返回结果
TiKV
TiKV是TiDB 分布式数据库的存储层
存储结构
Region (数据分片)
├── Leader
└── Followers (多个副本)
├── Follower 1
└── Follower 2
功能
- 数据持久化
- 副本的强一致性和高可用性
- MVCC (多版本并发控制)
- 分布式事务支持
- Coprocessor (算子下推)

核心组件
如上图所示
RocksDB:底层存储引擎
Raft:分布式一致性协议实现
MVCC:多版本并发控制
Transaction:分布式事务处理
关键特性
- 数据分片 (Region)
- 按 Key Range 进行数据分片
- 每个 Region 默认大小约 96MB到140MB
- 超过阈值会自动分裂(Split)
- 负载均衡时会自动调度
- 复制与一致性
- 采用 Multi-Raft 模型
- 通常采用 3 副本或 5 副本
- 强一致性保证
- 自动故障转移
TiFlash
它是 TiDB 的列式存储引擎,专门用于 OLAP 分析场景
功能
异步复制
一致性
列式存储提高分析查询效率
业务隔离
智能选择
也可以手动指定sql选择 TiKV 或者 TiFlash

TiFlash 架构图
PD
功能
- 整个集群TiKV的元数据存储
- 分配全局ID和事务ID
- 生成全局时间戳TSO
- 收集集群信息进行调度
- 提供 TiDB Dashboard 服务

测试

答案:
- B、F
- C
公众号回复 TIDB 获得笔记、视频

TIDB 数据库架构概述的更多相关文章
- asp.net core系列 30 EF管理数据库架构--必备知识 迁移
一.管理数据库架构概述 EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步.一是以 EF Core 模型为基准,二是以数据库为基准. (1)如果希望以 EF Core 模型为 ...
- 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建
数据库基础概述 大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...
- 大型互联网架构概述 关于架构的架构目标 典型实现 DNS CDN LB WEB APP SOA MQ CACHE STORAGE
大型互联网架构概述 目录 架构目标 典型实现 DNS CDN LB WEB APP SOA MQ CACHE STORAGE 本文旨在简单介绍大型互联网的架构和核心组件实现原理. 理论上讲,从安装配置 ...
- 1.1-1.5 flume架构概述及安装使用
一.flume架构概述 1.flume简介 Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据.它具有基于流数据流的简单灵活的架构.它具有可靠的可靠性机制和许多故障转移和 ...
- Java生鲜电商平台-微服务架构概述
Java生鲜电商平台-微服务架构概述 单体架构存在的问题 在传统的软件技术架构系统中,基本上将业务功能集中在单一应用内,或者是单一进程中.尽管现代化的软件架构理论以及设计原则已推广多年,但实际技术衍化 ...
- Httpd服务进阶知识-LAMP架构概述
Httpd服务进阶知识-LAMP架构概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.LAMP架构概述 1>.什么是LAM(M)P架构 L: linux A: apa ...
- Mycat分布式数据库架构解决方案--Mycat的介绍
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 如果我 ...
- HDFS(Hadoop Distributed File System)的组件架构概述
1.hadoop1.x和hadoop2.x区别 2.组件介绍 HDFS架构概述1)NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个 ...
- VS2012中数据库架构的比较
在进行项目进行开发或维护时,经常会改动使用的数据库,或增加.修改字段,或加表,改存储过程等,而且会出现多个类似的数据库同时在用(比如过个类似的项目,要使用稍有不同的数据库),这个时候就可能需要进行数据 ...
- SQL 修改数据库架构名
SQl 修改数据库架构名 declare @name sysname declare csr1 cursor for select TABLE_NAME from INFORMATION_SCHEMA ...
随机推荐
- 部署docker-registry+ui shell 域名证书-用户认证
#部署docker-registry+ui shell docker registry 配置域名证书, 用户密码认证, 轻量UI ansible部署docker-registry+ui https:/ ...
- Qt通用方法及类库6
函数名 //判断是否是IP地址 static bool isIP(const QString &ip); //判断是否是MAC地址 static bool isMac(const QStrin ...
- LLM Defenses Are Not Robust😭to Multi-Turn Human Jailbreaks Yet😲
- opencv只在bin目录下编译dll,在lib目录下编译lib,在bin目录下不编译测试程序的各种exe
penCV是一个开源的计算机视觉库,它提供了多种编程语言的接口.如果你只想编译出DLL和Lib库文件,而不编译EXE(可执行文件),这通常是因为你想要进行某种形式的动态链接或者库的分发,而不关心EXE ...
- [转]C# PowerPoint操作的基本用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using OFFICECO ...
- [.NET] API网关选择:YARP还是Ocelot?
API网关选择:YARP还是Ocelot? 摘要 随着微服务架构的流行,API网关在系统架构中扮演着越来越重要的角色.在.NET生态中,YARP(Yet Another Reverse Proxy)和 ...
- 20250110-FortuneWheel 攻击事件:竟然不设滑点,那就体验一下 Force Investment 吧
背景信息 攻击交易:https://app.blocksec.com/explorer/tx/bsc/0xd6ba15ecf3df9aaae37450df8f79233267af41535793ee1 ...
- SpringBoot(八) - 统一数据返回,统一分页工具,统一异常处理 (生成随机数,正则校验)
1.统一数据返回 使用逆向工程来进行测试,实体,mapper等省略: 1.1 直接使用 RequestResoult 1.1.1 RequestResoult 请求结果返回实体 //统一返回 实体 类 ...
- mina保持android端\服务端的长连接-copy
一.mina简介 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架.与Netty出自同一人之手,都是一个介于应用程序与网络之间的NIO框架,通过Java nio技术基于T ...
- 从单体架构、到SOA、再到微服务的架构设计详解
本文涉及的内容以及知识点如下: 1.单体架构 2.单体架构的拆分 3.SOA与微服务的区别 4.微服务的优缺点 5.微服务的消息 6.服务集成 7.数据的去中心化 单体架构 Web应用程序发展的早期, ...