1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

TIDB基础架构

什么是TIDB基础架构?

TIDB基础架构是一种多节点、分布式的数据库管理系统,与传统的单机数据库相比,拥有更好的扩展性和弹性的阔缩容。TIDB不仅支持ACID事务,还兼容大多数Mysql的语法,可以在大多数场景下直接替换Mysql。

TIDB基础架构

TIDB默认支持高可用,在副本失效的情况下,数据库可以自动进行数据修复和故障转移。对于一些有强一致性需求的场景,如银行转账,TIDB也可以满足要求。

TIDB基础架构的组成部分

TIDB基础架构主要由以下几个部分组成:

  • TiDBServer:TiDBServer是TIDB基础架构的SQL层,对外暴露MySQL协议的连接endpoint,负责解析SQL、执行SQL优化,最终生成分布式执行计划。TiDBServer本身是无状态的,可以通过负载均衡组件对外提供统一的接入地址。
  • TIDBPD:TIDBPD(Placement Driver)负责存储每个TiKV节点实时的数据分布情况和集群的整体拓扑结构,提供TIDBDashboard管控界面,并为分布式事务分配事务ID。PD本身也是由至少3个节点构成,拥有高可用的能力。
  • TiKVServer:TiKVServer负责存储数据,存储数据的基本单位是region,每个region负责存储一个KeyRange左闭右开区间的数据。TiKV中的数据都会自动维护多副本,天然支持高可用和自动故障转移。

RAFT日志复制

在TIDB中,使用RAFT协议来实现数据复制。具体实现过程如下:

  1. propose请求操作,leader将请求变成写入日志。
  2. append将日志持久化写入的到RocksDB。
  3. replicate将node1日志复制给node2,node3….,接收到日志后也要自己进行append。
  4. committed不仅仅是leader持久化log,其他节点>50%节点保障log在多个节点丢失不了后进行commit。
  5. APPLY将rocksdbraft日志写入到rocksdbkv中(实际一个kv有两个rocksdb)。

以上是TIDB基础架构的一些介绍,希望对各位读者有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6504.html