TiDB初学
TiDB是PingCAP公司设计的开源的分布式数据库,兼容MySQL协议,支持水平扩展、具备强一致性和高可用性。
TiDB具有以下特征:
-
高度兼容Mysql
-
水平弹性扩展
-
支持分布式事务
-
无需分库分表 天然支持超大表的高效读写
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}