【TiDB理论知识01】TiDB数据库架构概述

TiDB是一个分布式数据库,由无状态的TiDBServer、分布式存储引擎TiKV、列式存储TiFlash和集群管理器PD组成。TiDBServer负责SQL解析和执行计划生成,而TiKV使用Raft协议确保数据高可用和MVCC支持分布式事务。TiFlash提供列存储功能,优化数据分析和报表生成。PD管理元数据和集群平衡。
摘要由CSDN通过智能技术生成

目录

一 章节目标 

二 TiDB 体系结构 

1 TiDB Server

2.1 TiKV

2.2 TiFlash

3 PD

参考 


一 章节目标 

  • 理解TiDB数据库整体架构
  • 了解TiDB Server ,TiKV ,TiFlash 和 PD的主要功能

二 TiDB 体系结构 

了解这些体系结构是如何实现TiDB的核心功能的

1 TiDB Server

  • TiDB Server 是无状态的,所以可以结合负载均衡的组件LVS。
  • 数据并不是存储在TiDB Server中。
  • 负责与应用交互 ,SQL语句发送到TiDB Server中,然后进行解析 编译 优化SQL语句,并且生成执行计划。
  • TiDB Server 可以横向扩展或者缩容,通过增加个数均衡每个TiDB Server的负载。
  • 垃圾回收,定期处理数据的历史版本

2.1 TiKV

分层去了解TiKV,可以类比TCP/IP的七层协议。换做是TiKV ,从最简单的数据持久化(存储在一个单机的RocksDB中),然后一层一层的加协议,最终实现一个数据库的所需的完整功能

  • 数据库最基础的要求是 数据持久化。 是利用单机的KV存储引擎 rocksdb  kv,rocksdb raft是存储指令的 
  • 之后要保证数据多副本实现高可用 。是利用Raft 协议实现。每个Region多副本 ,其中有一个leader  ,其他的region跟随leader的变化
  • 支持MVCC(数据多版本)
  • 分布式事务支持
  • 算子下推,主要是发挥分布式数据库的优势,每个TIKV都有CPU,可以让TIKV单独处理自己的部分,比如where age >= 10的条件,可以在每个TIKV node上单独处理完成。除了过滤,还能做投影 聚合 等方面的计算工作。

2.2 TiFlash

  • 一致性 ,TiFlash存储的数据和 TiKV是一样的 , 是TiKV的列存储版本
  • 参与复制,数据是实时的。
  • 行存适合OLTP,是TiKV承载的功能;列存适合OLAP ,是TiFlash承载的功能,比如暴力扫描 ,分析数据,生成报表等
  •   数据有行存和列存,数据库如何选使用那个存储引擎?可以通过 智能扫描/手动指定

因为有了TiFlash的加入 TiDB才能HATP数据库

3 PD

PD是TIDB的大脑

  • 存储元数据 。数据的region与TiKV的对应关系。例如记录T表存储在哪几个TiKV node 上
  • 提供授时管理 。记录时间戳 例如每个SQL开始执行时间 TSO,执行结束时间 
  • 收集信息进行调度。TiKV  会定时发送信息到PD,如果某个表的数据分布不均衡,例如集中分布在某个TiKV上,

参考 

TiDB 整体架构 | PingCAP 文档中心

https://learn.pingcap.com/learner/course/960001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DBA之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值