本文分享自天翼云开发者社区《TiDB体系架构》,作者:x****n

如图所示,TiDB体系中三大组成部分:PD、TiDB Server、TiKV

1.PD:负责产生全局的TSO时间、控制Region在TIkv中的分布、产生全局事务ID、还有其他ID。

2.TiDB:没有数据落地,接收客户端sql语句,对sql语句进行解析和编译,最终形成执行计划。DDL语句和基于MVCC的老版本数据的回收,也是TiDB Server操作。

3.TiKV:数据以键值队存储在TiKV中,主要负责数据持久化、MVCC、Coprocessor、事务以及自身副本的高可用和强一致性(由Muti-raft实现)。

4.TiFlash:列式存储引擎,主要由扩展的raft共识算法与Tikv进行数据同步,实现负载均衡、强一致读取和实时更新,对于OLTP场景这样就实现了对分析型业务和事务型业务进行隔离,对既有oltp又有olap的是有利的。

TiDB Server有六大功能:

1.处理客户端的连接

2.SQL语句的解析和编译

3.关系型数据与KV的转化

4.SQL语句的执行

5.在线DDL的执行

6.垃圾回收

TiKV的五大功能:

1.Tikv最主要的功能就是负责数据的持久化。

2.TIkv内部是选择基于lsm-tree的Rocks DB引擎作为存储引擎,而Rocksdb通过Wal机制保证数据的不丢失。

3.分布式事务支持:Tidb数据库基于percolator事务模型的两阶段提交过程中,每个Tikv会单独分配存储锁的空间,叫CF lock(列簇),这样,配合Tidb server和PD全局TSO授时服务,就实现了去中心化的两阶段提交。支持乐观锁与悲观锁。在5.0之后,实现了两阶段提交中,第二阶段异步提交功能。在oltp中的高并发、小sql场景里,大大降低了写入延迟。

4.MVCC:实现并发控制、隔离级别、分布式事务、数据快速恢复的基础。历史数据会存储一段时间,最后由GC进行回收。

5.Coprocessor:数据的过滤、部分的聚合、求最大最小值等,这些被下推分布式存储节点,可以利用Tikv的cpu能力,多个tikv可以并行的进行计算,由于他们已经过滤了数据,相比不计算上传TiDB server要少,减少了网络的交互成本,TiDB Server的计算成本也相对减少。

PD的五大功能:

1.整个集群TiKV的元数据存储

2.分配全局ID和事务ID

3.生成全局时间戳TSO

4.收集集群信息进行调度

5.提供TiDBit Dashboard服务

TiFlash的四大功能:

1.列式存储提高分析查询效率

2.支持强一致性和实时性

3.业务隔离

4.智能选择

TiDB体系架构的更多相关文章

  1. 说说面向服务的体系架构SOA

    序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面 ...

  2. 【转】XenServer体系架构解析

    XenServer是一套已在云计算环境中经过验证的企业级开放式服务器虚拟化解决方案,可以将静态.复杂的IT环境转变为更加动态.易于管理的虚拟数据中心,从而大大降低数据中心成本.同时,它可以提供先进的管 ...

  3. WebLogic集群体系架构

    WebLogic Server集群概述  WebLogic Server 群集由多个 WebLogic Server 服务器实例组成,这些服务器实例同时运行并一起工作以提高可缩放性和可靠性.对于客户端 ...

  4. F2工作流引擎这工作流引擎体系架构(二)

    F2工作流体系架构概览图 为了能更好的了解F2工作流引擎的架构体系,花了些时间画了整个架构的体系图.F2工作流引擎遵循参考WFCM规范,目标是实现轻量级的工作流引擎,支持多种数据库及快速应用到任何基于 ...

  5. Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview

    Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview   知识图谱的表示和在搜索中的展1 提升Google搜索效果3 1.找到最想要的信息.3 2.提供最全面的摘要.4 ...

  6. 《BI那点儿事》SQL Server 2008体系架构

    Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...

  7. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

  8. 、web前端的这么知识应该是怎样的一个知识体系架构?

    .web前端的这么知识应该是怎样的一个知识体系架构?之前我以为可以以W3C为纲要,把W3C的东西学会了就够了.后来发现我错了,W3C还不全面. 真正全面的覆盖了web前端知识体系的东西是——浏览器内核 ...

  9. Map/Reduce的类体系架构

    Map/Reduce的类体系架构 Map/Reduce案例解析: 先以简单的WordCount例程, 来讲解如何去描述Map/Reduce任务. public static void main(Str ...

  10. 8、WPF体系架构和运行机制

    体系架构:http://msdn.microsoft.com/zh-cn/library/ms750441.aspx 运行机制:http://www.cnblogs.com/leep2007/arch ...

随机推荐

  1. MySQL之批量更新多条记录不同值

    之前文章:https://www.cnblogs.com/xingxia/p/mysql_basic.html mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytab ...

  2. canvas(二)直线样式和虚线

    1.设置直线线帽的样式 相关语法:ctx.lineCap,通过赋值形式来设置直线线帽的样式,他有以下3个值: 值 说明 butt 默认 round 圆形线帽 square 正方形线帽 <scri ...

  3. 上位机与MES数据交互的常用方案

    一.前言 随着工业自动化水平的不断提高,我们在做上位机开发的时候,会经常涉及到与MES进行数据交互. 上位机与MES(Manufacturing Execution System,制造执行系统)之间的 ...

  4. 在PlatformIO IDE中对ESP32的CPU主频等进行配置

    前言 rt,有一天开发中需要尽可能发挥ESP32的全部性能,提高主频自然是首选,在Arduino IDE中修改主频很方便,但在PlatformIO IDE中修改主频的方法网上说的却很少,今天就总结一下 ...

  5. LLM应用实战-财经新闻自动聚合

    1. 背景 这段时间项目比较忙,所以本qiang~有些耽误了学习,不过也算是百忙之中,抽取时间来支撑一个读者的需求,即爬取一些财经网站的新闻并自动聚合. 该读者看了之前的<AI资讯的自动聚合及报 ...

  6. 明察秋毫--用ss工具统计网络栈内存使用

    前言 本文介绍了用ss工具来统计一下当前网络栈的内存使用情况 环境准备 组件 版本 操作系统 Ubuntu 22.04.4 LTS 查看socket内存相关参数,-m 参数 ss -tm State ...

  7. 中电金信:亚洲TOP1 霸榜15年

    近日,国际权威语言服务研究机构CSA Research公布了<2022年全球语言服务提供商100强>和<亚太地区TOP 30语言服务商>排名报告. 中电金信凭借卓越的品质管控. ...

  8. 开源数字人直播DH_live web整合包免训练使用教程

    资源导航首页 项目地址 基于开源项目:DH_live做的web交互系统 主要实现:免训练数字人视频制作和实时语音数字人 可搭配一些直播场控软件的语音 驱动数字人进行直播     整合包下载 「数字人( ...

  9. Docker 容器运行一个 web 应用

    Docker 容器安装和基础使用请看上一篇 Docker 容器运行一个 web 应用 使用 docker 构建一个 web 应用程序. docker pull training/webapp # 载入 ...

  10. Qt/C++音视频开发68-检查是否含有B帧/转码推流/拉流显示/监控拉流推流/海康大华宇视监控

    一.前言 为什么需要判断视频文件是否含有B帧,这个在推流的时候很容易遇到这个问题,一般来说,没有B帧的视频文件,解码后的数据帧pts和dts都是顺序递增的,而有B帧的则未必,可能有些需要先解码后面显示 ...