TiDB从0到1学习笔记(精华篇)

alt

历时四个月,恭喜赵老师的《TiDB从0到1》 系列文章顺利完结,小编再次梳理一遍文稿,并附注解分享给大家。

整体架构

从 TiDB 1.0 到 8.0,TiDB 的体系结构一直在不断演进。接下来让我们一起看看整体架构的变化。

TiDB v1

TiDB v1,主核心框架已定,TiDB 由 TiDB Server, TiKV, PD Server 构成。

alt

更多参考:星辰考古:TiDB v1.0 再回首

TiDB v2

TiDB v2,整体架构升级,引入 TiSpark,解决用户复杂的 OLAP 需求。

alt

更多参考:星辰考古:TiDB v2.x 回忆杀

TiDB v3

TiDB v3,整体架构“焕新”,初见 TiFlash。

alt

更多参考:星辰考古:TiDB v3.x 忆水木

TiDB v4

TiDB v4,TiFlash 重要程度提升,下图为 TiDB HTAP 形态架构。

alt

TiCDC 从 v4.0.6 起成为正式功能,可用于生产环境。

alt

图为 TiCDC 架构图

alt

图为 TiCDC 集群及节点内部组件的设计图

更多参考:星辰考古:TiDB v4.0 进化前夜

TiDB v6

从 TiDB 6.0.0 开始,版本的生命维护周期重大调整,TiDB 提供两个版本系列:

  • 长期支持版本(LTS)约每六个月发布一次。
  • 开发里程碑版本(DMR)约每两个月发布一次。

在 TiDB v6.1.0 LTS 的文档中,TiDB 整体架构图更新,去 TiSpark,正式迎来 TiFlash。

alt

目前,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

得益于 RocksDB 优秀的产品和活跃的社区,TiKV 的产品力也在不断增强,同时 PingCAP 也在积极回馈 RocksDB 社区,下图为 RocksDB 贡献榜单,PingCAP 贡献的 PR 数排位第三。

pr.png
pr.png

TiUP

TiUP 当前版本为 1.16.0

关于 TiUP 的内容,之前介绍过,具体参阅:

  • TiUP v1.16 发版,支持 PD 微服务
  • TiDB 7.x 源码编译之 TiUP 篇
  • TiUP:TiDBAer 必备利器

这里补充几点。

从 TiDB v8.0.0 开始:

  • TiProxy 成为正式功能,并集成到 TiUP 组件中。
  • 由 TiUP 默认部署的 Prometheus 版本升级到 2.49.1
  • 由 TiUP 默认部署的 Grafana 版本升级到 7.5.17

关于 TiProxy 的内容,可参阅:

  • 社区声音:恭喜 TiProxy 组件 GA!
  • TiDB 7.x 源码编译之 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 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 环境下 vscode 配置 C/C++ 环境

vscode Visual Studio Code(简称 VSCode)是一个由微软开发的免费、开源的代码编辑器。它支持多种编程语言,并提供了代码高亮、智能代码补全、代码重构、调试等功能,非常适合开发者使用。VSCode 通过安装扩展(Extension…

node.js实现阿里云短信发送

效果图 实现 一、准备工作 1、官网直达网址: 阿里云 - 短信服务 2、按照首页提示依次完成相应资质认证和短信模板审核; 3、获取你的accessKeySecret和accessKeyId; 方法如下: 获取AccessKey-阿里云帮助中心 4、获取SignNa…

【LabVIEW学习篇 - 24】:生产者/消费者设计模式

文章目录 生产者/消费者设计模式案例:控制LED等亮灭 生产者/消费者设计模式 生产者/消费者是多线程编程中最基本的一种模式,使用非常普遍。从软件角度看,生产者就是数据的提供方,而消费者就是数据的消费处理方,二者之…

微信小程序开发——比较两个数字大小

在这里我们使用的工具是 需要自行安装和配置。 在微信小程序中比较两个数字大小有以下几种方式: 一、普通条件判断 在小程序的.js 文件中,先定义两个数字,如let num1 5; let num2 3;。通过if - else if - else语句,根据num1与…

文件管理系统DCC与泛微OA系统集成案例

一、项目背景 上海某半导体有限公司主要产品应用于图像传感器、 图像信号处理芯片、 低功耗芯片、 射频芯片等。 公司内部有DCC文件管理系统和OA系统,由SAP PO平台进行中间管理,DCC系统对接泛微OA系统推送文件等操作,提高公司内部各自系统…

智能智造和工业软件研发平台SCSAI功能介绍

用爱编程30年,倾心打造工业和智能智造软件研发平台SCIOT,用创新的方案、大幅的让利和极致的营销,致力于为10000家的中小企业实现数字化转型,打造数字化企业和智能工厂,点击上边蓝色字体,关注“AI智造AI编程”或文末扫码…

lightdm , xrandr , startx 桌面管理器,窗口管理器

问题: 了解这几个的含义。 显示服务器 这个不是很明白 显示管理器, 知道就行了,也不是很明白。 窗口管理器。 桌面管理器。 这个其实就是 桌面环境了, 我们的板卡上使用的是xface 。 这个 xface 是一个集合,这里面…

亚马逊IP关联及其解决方案

在电子商务领域,亚马逊作为全球领先的在线购物平台,吸引了众多商家和个人的参与。然而,随着业务规模的扩大,商家在使用亚马逊服务时可能会遇到IP关联的问题,这不仅影响账户的正常运营,还可能带来一系列不利…

基于SpringBoot+Vue的个性化视频推荐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

ComfyUI安装节点过程中被降低了版本的软件包重新安装

最近在安装2个没怎么及时更新节点时,安装节点依赖性过程中,将原高版本的软件包,给降到了低版本,解决的办法就是:1、再次删除软件包,2、指定版本号重新安装回高版本软件包。

Centos7.9部署Gitlab-ce-16.9

一、环境信息 软件/系统名称版本下载地址备注Centos77.9.2009https://mirrors.nju.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.isogitlab-cegitlab-ce-16.9.1https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.9.1-ce.0.el7.x86_64.rpm…

使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上

文章目录 1. 添加树莓派到 Agent Pool1.1 添加pool1.2 添加agent 2. 将树莓派添加到 Deployment Pool2.1 添加pool2.2 添加target 3. 添加编译流水线3.1 添加编译命令3.2 配置触发器 4. 添加发布流水线4.1 添加命令行4.2 配置artifact和触发器 5. 完成 1. 添加树莓派到 Agent P…

从基础到进阶:利用EasyCVR安防视频汇聚平台实现高效视频监控系统的五步走

随着科技的飞速发展,视频监控技术在社会安全、企业管理、智慧城市构建等领域扮演着越来越重要的角色。一个高效智能的视频监控管理系统不仅能够提升监控效率,还能在预防犯罪、事故预警、数据分析等方面发挥巨大作用。 一、需求分析 在设计视频监控管理…

如何自学SQL(从入门到精通)?

SQL语言对于各个数据库是通用的,学习SQL数据库语言是一个系统的过程,可以分为几个阶段:入门、进阶、实践和精通。 下面是一些建议,可以帮助你从入门到精通自学SQL: 1. 学习方法 a. 理解基本概念 数据库理论&#xf…

rk3568 parameter.txt 添加自己的分区,或者去掉已有的分区

问题: 客户在 之前的核心板上 可以烧写自己的镜像,但是在最新的核心板上却烧写不上,新旧核心板 只是变了emmc , 由 江波龙 ------->星火。 分析: 客户的镜像的分区是经过自己的定制的,所以有可能 是 由…

iPhone 16预售已开,沙漠金色最抢手,喜提新机后别忘了这件事!

9月13日20点,iPhone 16系列正式开启官方预购。今年全新的iphone16不仅新增相机按钮和AI功能,还增加了沙漠金配色。“加量不加价”的iPhone 16系列开售依旧火爆,iPhone 16系列开售1分钟内,苹果官方网站一度被消费者买到崩&#xff…

P4779 【模板】单源最短路径(堆优化dijkstra)

堆优化dijkstra&#xff0c;时间复杂度&#xff0c;我个人写习惯的模版。 #include<bits/stdc.h> using namespace std; #define PII pair<int,int> #define fi first #define se second const int N2e510;int read(){int x0,f1;char chgetchar();while(!isdigit(…

html+css+js网页设计 旅游 龙门石窟4个页面

htmlcssjs网页设计 旅游 龙门石窟4个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

用Kimi输出流程图

1.输入 我希望设计一个ERP系统&#xff0c;请帮我简单列一个流程图&#xff0c;用mermaid输出2.输出

深入理解Java虚拟机:Jvm总结-虚拟机字节码执行引擎

第八章 虚拟机字节码执行引擎 8.1 意义 不受物理条件制约地定制指令集与执行引擎的结构体系&#xff0c;能够执行那些不被硬件直接支持的指令集格式。输入的是字节码二进制流&#xff0c;处理过程是字节码解析执行的等效过程&#xff0c;输出的是执行结果 8.2 运行时栈帧结构…