栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

TIDB学习笔记(二)-体系架构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TIDB学习笔记(二)-体系架构

TIDB的优势:分布式,高度兼容MySQL,高可用,支持ACID事务(事务模型:Percolator),丰富的工具链生态

TiDB
SQL层,解析SQL,将数据读取请求发给TiKV/TiFlash

功能:

    处理客户端的连接SQL语句的解析和编译关系型数据与KV的转化SQL语句的执行在线DDL的执行GC

TiDB中的KV模块处理简单的等值查询,DIstSQL处理较复杂的查询,将其进行拆分为简单查询。在线DDL,不阻塞读写。同一时刻只能进行一个job,在TiKV中排队处理。TiDB轮流作为owner去调度job。GC回收MVCC产生的过期的历史数据。GC lifetime默认10min

TiDB缓存组成:SQL结果,线程缓存,元数据,统计信息

缓存管理:tidb_mem_quota_query,oom-action
PD
集群的大脑。元信息管理模块,负责存储每个 TiKV 节点实时的数据分布情况和集群的整体拓扑结构,分配分布式事务ID,根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的 TiKV 节点

功能:

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

TiKV
存储数据,分布式提供事务的KV存储引擎
存储数据的基本单位是Region,每个TiKV会负责多个Region,默认SI(Snapshot Isolation)隔离级别
以 Region 为单位,将数据分散在集群中所有的节点上,并且尽量保证每个节点上服务的 Region 数量差不多。
以 Region 为单位做 Raft 的复制和成员管理。

功能:

    数据持久化分布式事务支持副本的强一致性和高可用性MVCCCoprocessor(算子下推)

TiFlash

功能:

    列式存储提高分析查询效率支持强一致性和实时性业务分离智能选择


RocksDB 单机持久化KV存储引擎

Raft协议
重要功能:Leader(主副本)选举,成员变更,日志复制

Region
将KV的空间分成若干段,Region为其中一段,是一个左闭右开的区间,存储数据的大小不超过96MB

调度

TiKV->Region->Replica
每个Region有多个副本,这些副本分布在不同的TiKV节点上。Leader负责读写,Follower负责同步Leader同步过来的Raft log
分布式高可用存储系统需满足:

    副本数量不能多也不能少副本需要根据拓扑结构分布在不同属性的机器上节点宕机或异常能够自动合理快速地进行容灾

良好的分布式系统需满足:

    维持整个集群的 Leader 分布均匀维持每个节点的储存容量均匀维持访问热点分布均匀控制负载均衡的速度,避免影响在线服务管理节点状态,包括手动上线/下线节点

调度操作:增加、删除副本,将 Leader 角色在一个 Raft Group 的不同副本之间 transfer
信息收集:

    每个 TiKV 节点会定期向 PD 汇报节点的状态信息每个 Raft Group 的 Leader 会定期向 PD 汇报 Region 的状态信息

调度策略:

    一个 Region 的副本数量正确一个 Raft Group 中的多个副本不在同一个位置副本在 Store 之间的分布均匀分配Leader 数量在 Store 之间均匀分配访问热点数量在 Store 之间均匀分配各个 Store 的存储空间占用大致相等控制调度速度,避免影响在线服务
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778657.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号