[Lesson 01] TiDB数据库架构概述

news2024/11/24 19:59:20

目录

一 章节目标 

二 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的七层协议,从最简单的数据持久化(存储在一个单机的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

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

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

相关文章

记录--你知道Vue中的Scoped css原理么?

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 追忆Scoped 偶然想起了一次面试,二面整体都聊完了,该做的算法题都做出来了,该背的八股文也背的差不多了,面试官频频点头,似乎对我的基础和项…

云计算的学习(四)

四、云计算中的存储基础知识 1.云计算虚拟化中的存储架构 ①虚拟化存储 在虚拟化存储架构中,最底层为物理磁盘。 底层的硬件组成存储池,存储池分为NAS存储和SAN存储;NAS存储需要文件系统;SAN存储需要对存储池进行逻辑划分产生逻…

【VSCode | 使用技巧集锦】中文插件突然失效、配置单个工程(工作区)编码

目录 ✨技巧一:中文插件失效的解决办法✨技巧二:配置单个工程(工作区)编码 ✨技巧一:中文插件失效的解决办法 问题描述:VSCode之前安装了中文插件,可以正常汉化,用了一段时间都没问题,今天打开v…

springboot+webscoket通信功能

1. 背景 项目上需要对某个页面的设计功能(低代码)进行最简单的多人协同,有以下需求点: (1)第一个进入该设计页面的人给编辑权限,后进入的所有人给在线(可申请编辑)权限 …

使用MQTTX和前端vue进行通讯

需求:根据后端给的接口,前端实现消息订阅和消息加密连接操作,不走后端直接和硬件设备进行操作 1.下载mqttx 官网链接:MQTTX: Your All-in-one MQTT Client Toolbox 根据自己电脑选择不同的操作系统,默认下载后是英文…

金鸣表格识别中何时应勾选“手写”选项?

在金鸣表格文字识别系统的表格识别模块中,有个“手写”的复选框可供用户选择性使用。这里的“手写”是手写识别的简称,设置此项的目的是为了让用户更准确地识别手写的表格图片中的文字。为何要单独设置这个选项而不是由程序全自动地进行处理呢&#xff1…

【GitOps系列】K8s极简实战

文章目录 示例应用介绍部署应用到k8s 如何使用命名空间隔离团队及应用环境?如何为业务选择最适合的工作负载类型?如何解决服务发现问题?如何迁移应用配置?如何将集群的业务服务暴露外网访问?如何保障业务资源需求和自动…

JavaWeb(3)——HTML、CSS、JS 快速入门

一、JavaScript 运算符 • 赋值运算符( ) 赋值运算符执行过程? 将等号右边的值赋予给左边, 要求左边必须是一个容器 出现是为了简化代码, 比如让 let age 18 ,age 加 2 怎么写呢 let age 18age 2console.log(age)age * 2con…

html+JavaScript实现一个好看的颜色码查询器,支持查询、转换、颜色选择器和颜色码对照表

前言 相信大家平时工作的时候应该会经常用到颜色码吧,比如说想找个好看的颜色,或者有个颜色码但是不知道这个码是什么颜色的,这个时候我们就可以用颜色码对照表或者颜色码查询来查看了。 当然也可以用截图软件或者取色器或者PS来查看&#…

如何有效检测、识别和管理 Terraform 配置漂移?

作者|Krishnadutt Panchagnula 翻译|Seal软件 链接|https://betterprogramming.pub/detecting-identifying-and-managing-terraform-state-drift-997366a74537 在理想的 IaC 世界中,我们所有的基础设施实现和更新都是通过将更新的…

【高并发】高并发架构实战:从需求分析到系统设计

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设…

Cesium 测距、测面功能实现

参考博主 功能代码参考 新需求:点击测距,此时画线逻辑已生成到运行缓存中,如果 用户误触测距,想撤销,如何操作? 代码: // 重置画图resetDraw(){// 清除可能会用到的监听事件if (this.handle…

操作系统17:外存组织方式和文件存储管理

目录 1、外存的组织方式 (1)连续组织方式 (2)链接组织方式 2.1 - 隐式链接 2.2 - 显式链接 (3)索引组织方式 3.1 - 单级索引组织方式 3.2 - 多级索引组织方式 3.3 - 增量式索引组织方式 2、文件存…

【操作系统】几种基本页面置换算法的基本思想和流程图

目录 一、概述二、最佳置换算法(OPT)三、先进先出置换算法(FIFO)四、最近最久未使用置换算法(LRU)五、三种页面置换算法优缺点对比六、运行结果七、总结 一、概述 在地址映射过程中,若在页面中发…

Linux 发行版 Gentoo 存在重大漏洞

导读网络安全公司 SonarSource 在日前研究中发现,Gentoo Linux 发行版中存在漏洞 CVE-2023-28424,黑客可以利用该漏洞进行 SQL 注入攻击。 研究人员从 GentooLinux 的 Soko 搜索组件中找到了这个漏洞。该漏洞的 CVSS 风险评分为 9.1,属于特别…

6款开源中文OCR使用介绍(亲测效果)

文章目录 前言开源ocr项目1. Paddle OCR(推荐指数:★★★★★)1.1 简介1.2 使用1.3 优缺点 2. CnOCR(推荐指数:★★★★★)2.1 简介2.2 使用2.3 优缺点 3. chinese_lite OCR(推荐指数&#xff1…

保障AI时代的图像安全:揭示解决虚假图片危机的三种策略

写在前面从 P 图到假图批量生成,AI 图像安全成可信 AI 重点关注方向三大技术:提前布局,合合信息 AI 图像安全技术助力行业健康发展✔ AI 图像篡改检测技术✔ 生成式图像鉴别技术✔ OCR 对抗攻击技术 一项标准:与中国信通院等权威机…

在本机搭建自己的ftp服务器--最简单的方法(详细教程)

在本机搭建自己的ftp服务器–最简单的方法 FTP服务器可以在局域网中快速传输文件,是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议…

vue-next-admin跨域配置

vue-next-admin,这是基于 vue3.x CompositionAPI typescript vite element plus vue-router-next next.vuex,适配手机、平板、pc 的后台开源免费模板库 这是个开源免费的后台管理系统,从v2到v3,变化比较大,但是…

Windows系统安装配置Oracle数据库连接工具PLSQL

1.解压连接工具所需轻桌面压缩包 直接将轻桌面压缩包解压到一个自定义路径下(三个里面选择其中一个,推荐选择第一个轻桌面包),后面的环境变量会用到。 2.配置Windows环境变量 NLS_LANG AMERICAN_AMERICA.AL32UTF8 ORACLE_HOME …