TiDB初学

TiDB是PingCAP公司设计的开源的分布式数据库,兼容MySQL协议,支持水平扩展、具备强一致性和高可用性。

TiDB具有以下特征:

  1. 高度兼容Mysql

  2. 水平弹性扩展

  3. 支持分布式事务

  4. 无需分库分表 天然支持超大表的高效读写

TiDB集群主要包括三个核心部分: TiDB Server, PD Server, TiKV Server。

TiDB Server 负责接收Sql请求,处理相关逻辑 通过PD找到存储计算所需数据的TiKV地址,与TiKV交互获取数据。 TiDB是无状态的,不存储数据只负责计算,可以无限水平扩展

PD Server (Placement Driver) 是整个集群的管理模块,其主要工作有三个,一是存储整个集群的元数据(某个Key存储在哪个TiKB节点)。 二是对TiKV集群进行调度和负载均衡。三是分配全局唯一且递增的事务ID。 PD Server 通过Raft协议保证数据的安全性,leader负责处理 所有操作,其他的PD Server仅用于保证高可用,PD Server的数量最好为奇数。

TiKV Server 负责存储数据,TiKV是一个分布式的提供事务的 Key-Value 存储引擎,存储数据的基本单位是 Region,每个Region负责存储一个 Key Range(从 StartKey 到 EndKey 的左闭右开区间)的数据,每个TiKV节点负责多个Region,TiKV也使用Raft协议做复制,保证数据的一致性 和容灾。副本以Region为单位进行管理,不同节点上多个Region构成一个Raft Group,互为副本。数据在多个TiKV之间的负载由PD调度。

TiDB适用于大数据量,高并发访问和分布式的场景.

{“callUuid”:”01SO174JP8EQ14433R11C2LAES0F7ADU”,”mainCallUuid”:”01SO174JP8EQ14433R11C2LAES0F7ADU”,”udEnterpriseId”:”2100001”, “userParam”: “{"dcdParam":{"buyLocation":"北京","carModel":"朗逸"}}”, “robotRecallTimes”: 0}

Written on November 11, 2019