当前位置: 首页 > 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;…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...