TiDB架构浅析

因为最近在做TiDB的一个hackthon,需要先对TiDB架构有个了解,然后再确定选题方向,进行方案设计;

TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB 的目标是为 OLTP (Online Transactional Processing) 和 OLAP (Online Analytical Processing) 场景提供一站式的解决方案。

1.KV分布式存储引擎

TiKV的底层是使用RockDB构建的,基于Raft 协议的进行分布式存储。分区分块存储,其中一个重要的概念就是“Region”

TiKV 是以 Region 为单位做数据的复制,也就是一个 Region 的数据会保存多个副本; 
Replica 之间是通过 Raft 来保持数据的一致,一个 Region 的多个 Replica 会保存在不同的节点上,构成一个 Raft Group。其中一个 Replica 会作为这个 Group 的 Leader,其他的 Replica 作为 Follower。所有的读和写都是通过 Leader 进行,再由 Leader 复制给 Follower。
 
  • 以 Region 为单位,将数据分散在集群中所有的节点上,并且尽量保证每个节点上服务的 Region 数量差不多
  • 以 Region 为单位做 Raft 的复制和成员管理 

2.关系模型到Key-Value模型的映射

 

猜你喜欢

转载自www.cnblogs.com/shawshawwan/p/9954646.html
今日推荐