当前位置: 首页 > news >正文

TiDB学习1:TiDB体系架构概览

目录

1. TiDB体系结构

2. TiDBsever

3. TiKV

4. PD(Placement Driver)

5. TiFlash


1. TiDB体系结构

  • 水平扩容或者缩容
  • 金融级高可用
  • 实时 HTAP
  • 云原生的分布式数据库
  • 兼容MySQ 5.7 协议

2. TiDBsever

  • 处理客户端的连接
  • SQL语句的解析和编译
  • 关系型数据与 kv 的转化(insert语句)
  • SQL 语句的执行
  • 执行 online DDL
  • 垃圾回收(GC)

3. TiKV

  • 数据持久化(行存)
  • 副本的强一致性和高可用性
  • MVCC(多版本并发控制)
  • 分布式事务支持
  • Coprocessor(算子下推)

每个TiKV中运行了rocksdb数据库保证数据持久化,TiDB中存的是KeyValue对,键值对存在rocksdb kv实例,rocksdb raft存指令(增删改),Raft协议保证高可用,有其他副本存在其他节点(默认总共三个副本,其中一个副本是leader可读写)

一个region在96M~144M之间

4. PD(Placement Driver)

PD:集群大脑,元数据存在PD(数据在在哪些TiKV或者TiFlash上),每条sql的开始时间(TSO时间戳),事务开始和结束的TSO

  • 整个集群 TiKV 的元数据存储
  • 分配全局 ID 和事务 ID
  • 生成全局时间戳 TSO
  • 收集集群信息进行调度
  • 提供 TiDB Dashboard服务

5. TiFlash

  • 异步复制
  • 一致性
  • 列式存储提高分析查询效率
  • 业务隔离
  • 智能选择 

总结

  • 描述 TiDB 数据库的整体架构
  • 理解 TiDB server,rikv,rirlash 和PD 的主要功能

来自TiDB官方学习资料

相关文章:

TiDB学习1:TiDB体系架构概览

目录 1. TiDB体系结构 2. TiDBsever 3. TiKV 4. PD(Placement Driver) 5. TiFlash 1. TiDB体系结构 水平扩容或者缩容金融级高可用实时 HTAP云原生的分布式数据库兼容MySQ 5.7 协议 2. TiDBsever 处理客户端的连接SQL语句的解析和编译关系型数据与 kv 的转化(insert语句)S…...

Prometheus 保留或删除标签 labeldrop、labelkeep

保留或删除标签 有的时候我们也有保留或删除一些标签的需求,比如有的目标在时间序列上提供了许多额外的标签,这些标签用途不大,这个时候我们就可以使用 labelkeep 和 labeldrop 这两个操作,使用这两个操作可以有选择地保留或删除一…...

uniapp中实现保存图片,复制信息功能函数的封装

1.首先在until文件中创建common.js文件(根据你自己的实际情况定,重点在下边的函数封装中) // 复制信息 export function copyData (data) {uni.setClipboardData({data: data,success: function () {uni.showToast({title: 复制成功})}}); }/…...

C#【进阶】委托和事件

委托和事件 文章目录 1、委托1、委托概念2、基本语法3、定义自定义委托4、使用自定义委托5、委托变量可以存储多个函数6、系统定义好的委托思考 怪物死亡数据更新 2、事件1、事件概念2、事件的使用3、为什么有事件思考 热水器 3、匿名函数1、匿名函数概念2、基本语法3、使用4、…...

【class9】人工智能初步(处理单张图片)

Class9的任务:处理单张图像 为了更高效地学习,我们将“处理单张图像”拆分成以下几步完成: 1. 读取图像文件 2. 调用通用物体识别 3. 提取图像分类信息 4. 对应分类文件夹还未创建时,创建文件夹 5. 移动图像到对应文件夹 0.获取…...

cgicc开发 (结合jsoncpp)

#include <iostream> #include <fstream> //读写文件 c标准库 #include <string> //字符串类 c标准库 #include <sstream> //字符串流 c标准库 #include <assert.h> #include "json/json.h" //jsoncpp的头文件#include <cgicc/CgiD…...

HTML常用标签及属性

一、简单标签 标签作用div 自带换行&#xff0c;块级显示span 语义化标签&#xff0c;无任何修饰效果br 换行&#xff0c;单标签hr 水平分割线&#xff0c;单标签h1 ~ h6 标题标签&#xff0c;有加粗效果&#xff0c;h1最明显&#xff0c;往后依次减弱&#xff0c;独占一行&am…...

【PB案例学习笔记】-03用户名密码校验

写在前面 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git 需要源代码的小伙伴们可以自行…...

设计模式六大原则之 接口分离原则

文章目录 概念比较代码示例优势 小结 概念 要为各个类建立它们需要的专用接口&#xff0c;而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 比较 概念有了&#xff0c;再来看看比较下吧&#xff0c;和单一职责比较比较。 接口隔离原则和单一职责都是为了提高类的…...

嵌入式学习——Shell()——day21

&#xff08;1&#xff09;标准IO——有缓存 1.打开文件 fopen 2.读写文件 fgetc/fputc fgets/fputs fprintf/fscanf 3.关闭文件 fclose 1. 缓存&#xff08;标准I…...

STM32学习计划

前言&#xff1a; 这里先记录下STM32的学习计划。 2024/05/08 今天我正在学习的是正点原子的I.MX6ULL APLHA/Mini 开发板的 Linux 之ARM裸机第二期开发的视频教程&#xff0c;会用正点原子的I.MX6ULL开发板学习第二期ARM裸机开发的教程&#xff0c;然后是学习完正点原子的I.M…...

小米15曝光?可能会要稍微涨价

也许是感受到了智能机市场的逐渐复苏&#xff0c;最近各大手机品牌发售新品的速度明显加快了。从4月份的Redmi、一加&#xff0c;再到5月份一大堆vivo、OPPO新机型的发布。而近日&#xff0c;有关小米14即将发售的消息也是悄咪咪的放了出来。 去年发售的小米14可以说是狠狠地让…...

深度优先搜索汇总

常用英文 最近公共祖先&#xff08;Lowest Common Ancestor&#xff0c;简称LCA&#xff09; posterity&#xff0c;英语单词&#xff0c;主要用作名词&#xff0c;作名词时译为“子孙&#xff0c;后裔&#xff1b;后代”。 什么是深度优先搜索 深度优先搜索&#xff0c;D…...

【虚拟仿真】Unity3D中实现对大疆无人机遥控器手柄按键响应

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近项目中需要用到大疆无人机遥控器对程序中无人机进行控制,遥控器是下图这一款: 博主发…...

Python学习之路 | Python基础语法(一)

数据类型 Python3 中常见的数据类型有&#xff1a; Number&#xff08;数字&#xff09;String&#xff08;字符串&#xff09;bool&#xff08;布尔类型&#xff09;List&#xff08;列表&#xff09;Tuple&#xff08;元组&#xff09;Set&#xff08;集合&#xff09;Dict…...

【已解决】AttributeError: module ‘clip‘ has no attribute ‘load‘

问题描述&#xff1a;运行YOLO-world时出现AttributeError: module clip has no attribute load。 情况分析&#xff1a; 1. 未安装clip包。 2. clip包中没有load方法。 解决办法&#xff1a; 1.重新安装clip包。 pip install clip pip install openai-clip 2. 安装后仍然报…...

安卓实现连接wesokcet

在build.gradle里引入依赖&#xff1a; implementation org.java-websocket:Java-WebSocket:1.5.2 在Androidmanifest.xml 文件里加入网络权限&#xff1a; <uses-permission android:name"android.permission.INTERNET" /> 代码&#xff1a; package com.x…...

Xinstall助力App下载量精准统计,洞悉推广效果

在移动互联网时代&#xff0c;App的下载量是衡量一个应用受欢迎程度的重要指标。然而&#xff0c;要精准统计App的下载量并不是一件容易的事情。为了解决这一难题&#xff0c;越来越多的开发者选择了Xinstall这一专业的App全渠道统计服务商。 Xinstall作为国内领先的App统计平…...

CSS字体修饰

1&#xff09;文字大小 &#xff08; font-size &#xff09; /* 设置文字大小为24个像素 */ font-size: 24px; 2&#xff09;字体粗细 &#xff08; font-weight &#xff09; /* 字体粗细在100-900之间可以进行调整 */ /* 字体加粗 */ font-weight: bolder; /* 或 fon…...

高并发缓存服务的构建要点与陷阱

1. 缓存基础与特征 在讨论高并发环境下构建缓存服务的问题前&#xff0c;我们需要先了解缓存的基础和特征。缓存&#xff08;Cache&#xff09;是一种高速数据存储层&#xff0c;它可以存储临时数据&#xff0c;以便将来的请求能更快地获取到这些数据。从本质上讲&#xff0c;…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...