![alt](https://img-blog.csdnimg.cn/img_convert/4086b7994d0a60ab3cc20a7ef5d9c87c.jpeg)
历时四个月,恭喜赵老师的《TiDB从0到1》 系列文章顺利完结,小编再次梳理一遍文稿,并附注解分享给大家。
整体架构
从 TiDB 1.0 到 8.0,TiDB 的体系结构一直在不断演进。接下来让我们一起看看整体架构的变化。
TiDB v1
TiDB v1,主核心框架已定,TiDB 由 TiDB Server, TiKV, PD Server 构成。
![alt](https://img-blog.csdnimg.cn/img_convert/b9b95e431cdada6e70f491fbab8810cd.png)
更多参考:星辰考古:TiDB v1.0 再回首
TiDB v2
TiDB v2,整体架构升级,引入 TiSpark,解决用户复杂的 OLAP 需求。
![alt](https://img-blog.csdnimg.cn/img_convert/ec074329ae3f35d3a41563732e739083.png)
更多参考:星辰考古:TiDB v2.x 回忆杀
TiDB v3
TiDB v3,整体架构“焕新”,初见 TiFlash。
![alt](https://img-blog.csdnimg.cn/img_convert/e7b8e027303f64ff97772ad67206c064.png)
更多参考:星辰考古:TiDB v3.x 忆水木
TiDB v4
TiDB v4,TiFlash 重要程度提升,下图为 TiDB HTAP 形态架构。
![alt](https://img-blog.csdnimg.cn/img_convert/ee1c5fbdfbba9d6956091718cedd98c5.png)
TiCDC 从 v4.0.6 起成为正式功能,可用于生产环境。
![alt](https://img-blog.csdnimg.cn/img_convert/d97af30448d43f5afe92ddee2c51ef5b.png)
图为 TiCDC 架构图
![alt](https://img-blog.csdnimg.cn/img_convert/97c3a05f88c33cef048c007acec9dece.jpeg)
图为 TiCDC 集群及节点内部组件的设计图
更多参考:星辰考古:TiDB v4.0 进化前夜
TiDB v6
从 TiDB 6.0.0 开始,版本的生命维护周期重大调整,TiDB 提供两个版本系列:
-
长期支持版本(LTS)约每六个月发布一次。 -
开发里程碑版本(DMR)约每两个月发布一次。
在 TiDB v6.1.0 LTS 的文档中,TiDB 整体架构图更新,去 TiSpark,正式迎来 TiFlash。
![alt](https://img-blog.csdnimg.cn/img_convert/93440c86fd6dc9bb8191fc779688a9db.png)
目前,TiDB 已来到 v8 版本,整体架构趋于稳定,与 v6 相同。
VLDB 论文
在之前的文章中提及:
PingCAP 团队的论文《TiDB: A Raft-based HTAP Database》入选 VLDB 2020 ,成为业界第一篇 Real-time HTAP 分布式数据库工业实现的论文。
PingCAP 的目标是构建一个单一、实时事实来源的数据库,以便应用程序和其上的业务能够适应不确定性。在构建 TiDB 的过程中,其受益于 Raft 和 Spanner 等数据库和分布式系统研究。提出将 TiDB 作为混合事务和分析处理 (HTAP) 数据库,这是一种适用于 OLTP 和 OLAP 应用程序的“一刀切”解决方案。并将该方案以论文的形式回馈给学术界。
在今年刚闭幕的 VLDB 2024 会议中,TiDB 携两篇论文、一个 Demo Paper 亮相。
论文下载地址:https://asktug.com/t/topic/1031551
VLDB 是数据库领域的顶级国际会议,旨在为数据管理、可扩展数据科学、数据库研究者、供应商、从业者、应用开发者和用户提供交流平台。 2024 年的 VLDB 会议涵盖了数据管理、数据库架构、图形数据管理、数据隐私与安全、数据挖掘、机器学习、人工智能和数据库系统研究等领域的问题——这些都是 21 世纪新兴应用的基本技术基石。
TiKV & RocksDB
RocksDB 是由 Facebook 基于 LevelDB 开发的一款提供键值存储与读写功能的 LSM-tree 架构引擎。用户写入的键值对会先写入磁盘上的 WAL (Write Ahead Log),然后再写入内存中的跳表(SkipList,这部分结构又被称作 MemTable)。LSM-tree 引擎由于将用户的随机修改(插入)转化为了对 WAL 文件的顺序写,因此具有比 B 树类存储引擎更高的写吞吐。
RocksDB 作为 TiKV 的核心存储引擎,用于存储 Raft 日志以及用户数据。每个 TiKV 实例中有两个 RocksDB 实例,一个用于存储 Raft 日志(通常被称为 raftdb),另一个用于存储用户数据以及 MVCC 信息(通常被称为 kvdb)。
![alt](https://img-blog.csdnimg.cn/img_convert/d3171ebacab8eb0d7712fda1963d8944.png)
得益于 RocksDB 优秀的产品和活跃的社区,TiKV 的产品力也在不断增强,同时 PingCAP 也在积极回馈 RocksDB 社区,下图为 RocksDB 贡献榜单,PingCAP 贡献的 PR 数排位第三。
![pr.png](https://img-blog.csdnimg.cn/img_convert/0934d158e62cf15827df5ecb6b41b2fe.png)
TiUP
TiUP 当前版本为 1.16.0
。
关于 TiUP 的内容,之前介绍过,具体参阅:
这里补充几点。
从 TiDB v8.0.0 开始:
-
TiProxy 成为正式功能,并集成到 TiUP 组件中。 -
由 TiUP 默认部署的 Prometheus 版本升级到 2.49.1 -
由 TiUP 默认部署的 Grafana 版本升级到 7.5.17
关于 TiProxy 的内容,可参阅:
集群配置
TiDB 集群中包含若干组件,每个组件都有各自配置项,不论是日常调优还是版本升级,都需要确认配置项的变化。
在 TiDB 社区中,有两个实用工具,推荐给大家。
-
tidb_config_diff: https://tidb.net/blog/2ad42384 -
TiDBA: https://tidb.net/blog/299f0bdc
感谢提供工具的大佬们。
感谢
值此教师节之际,特此感谢 PingCAP Education 的老师们,是 PE 带我们了解 TiDB、熟悉 TiDB、玩转 TiDB。
一并感谢 TiDB 社区,让 TiDBer 可以在云上、线下有一个良好的沟通交流平台。
相信 TiDB 社区可以变成、保持“别人家的”理想开源社区,互助、有爱、有追求。
感谢 @赵老师 分享的系列好文。
//赵师的工作日
感谢 @表妹和她的TiDBer们
//表妹和她的TiDBer们
🌻 往期精彩 ▼
-
TiDB排行再升5位;盘点平凯数据库的发明专利(2024上半年公布) -
国产基础软件“出海”标杆炼成记 -
敢于公布BUG的国产数据库才是好数据库 -
PingCAP 再度入选“中国独角兽企业”,数据库领域的先锋力量 -
星辰资讯:TiDB v8.1.0 发版!稳! -
快讯!TiDB v8 发版!超硬核 v8 引擎! -
TiDB v7.5.3 发版,听说升级后又可以躺平两年 -
TiDB v7.5.0 LTS 升级必读 | 新特性补充说明 -
使用 HyBench 测试 TiDB
-- / END / --
本文由 mdnice 多平台发布