Day 4 - TiDB架构说明

TiDB目前最新发布的版本是5.2,主要的特色有下列几项。

  1. 使用MySQL5.7的协议以及相关工具
    一样用mysql -uroot -p就能登入,另外一些常用的外部介面工具如phpmyadmin等也都能兼容。
  2. 支援前面提到的ACID。
  3. 采cluster架构,各种server负责各项功能,分工精细(烧钱.....)。

https://ithelp.ithome.com.tw/upload/images/20210830/20113220C0c2f0W4ds.jpg

而TiDB的架构主要是从下面三种server组成。

  1. TiDB:主要负责client端的连结,并且对接收到的SQL语法做解析,最後再将TiKV回传的查询结果组合回覆给使用者。
  2. TiKV:负责储存数据资料,采分散式的架构,资料会以key-value的型态储存。
  3. PD:负责每个TiKV node的资料分布状态,可以说是整个DB的中枢神经。TiKV会定时回传资料分布的数据以及目前使用的空间大小,PD会依据这些回传的数据,将资料平均分配在各台TiKV中。
  4. TiFlash:与TiKV相同,也是用来储存数据资料,不同的地方在於资料是采column base储存。

简单地描述一下整个资料查询的流程:使用者发出实践MySQL protocol的SQL语法给TiDB,TiDB收到後将语法做分析与优化,然後去问PD服务这些request的资料存在哪些TiKV,将语法丢给TiKV做运算,得出结果後再回传给TiDB然後回覆给使用者。

接下来会依序介绍每个server是怎麽达到这些功能。


<<:  Day 12-DevOpSec 正夯,没做 security check 的 module 不要用

>>:  [Day12] Flutter - 场景路径与转换 ( Auto Router )

[DAY 29] Edge Computing v.s PC Computing

前言 我们知道了如何在个人电脑上执行训练/使用一个 Deep Learning Model ,更进一...

# Day 22 Heterogeneous Memory Management (HMM) (二)

今天继续来看 HMM 的後续! 文件 原文文件:Heterogeneous Memory Manag...

Day 12 - 安装(二)Topology

前一篇提到可以利用指令tiup cluster template > topology.yam...

[铁人12:Day 29] 「AI 的未来十年」摘要 5:固有知识框架

知识表达 符号处理其中的一个关键技术是「知识表达 (knowledge representation...

Day10 - 【概念篇】深入OAuth 2.0

本系列文之後也会置於个人网站 喔不,其实今天还不会真正提到OAuth 2.0的深度内容。今天要来谈...