admin管理员组文章数量:1028177
【赵渝强老师】TiDB的数据存储模型
TiDB作为数据保存系统,首先要决定数据的存储模型,即数据的保存形式。TiKV选择使用Key-Value模型,并提供有序遍历方法。TiKV数据存储的两个关键点:
- TiKV实现了一个巨大的Map用于存储Key-Value Pairs(键值对)。
- Map中的键值对按照键的二进制顺序排序。
视频讲解如下:
TiKV的KV存储模型与SQL中的表无关。SQL表中的一行数据会被转换成Key-Value的键值对形式存储在RocksDB中。
TiKV将整个Key-Value空间分成很多段,每一段是由一系列连续的Key组成。这里的段就叫做Region。Region可以用[StartKey,EndKey)这样一个左闭右开区间来描述。每个Region中保存的数据量默认维持在256M左右,可以通过配置进行修改。
将数据划分成Region后,TiKV执行两项重要操作:
- 数据按Key切分成多个Region。在不考虑多副本的情况下,每个Region的数据仅保存在一个节点上。TiDB系统中的PD组件负责将Region尽可能均匀地分布在集群节点上,实现存储容量的水平扩展。当集群中增加新节点后会自动进行调度,从而避免某节点存储过多数据而其他节点存储较少。为了确保上层客户端能访问所需数据,PD组件会记录Region的分布情况,可通过任意Key查询其所在的Region及其对应的节点。
- TiKV以Region为单位进行数据复制,一个Region的数据会保存多个副本,称为Replica。Replica之间通过Raft保持数据一致性,构成一个Raft Group,其中一个Replica作为Leader,其他作为Follower。默认情况下,所有读写操作均通过Leader进行。
【赵渝强老师】TiDB的数据存储模型
TiDB作为数据保存系统,首先要决定数据的存储模型,即数据的保存形式。TiKV选择使用Key-Value模型,并提供有序遍历方法。TiKV数据存储的两个关键点:
- TiKV实现了一个巨大的Map用于存储Key-Value Pairs(键值对)。
- Map中的键值对按照键的二进制顺序排序。
视频讲解如下:
TiKV的KV存储模型与SQL中的表无关。SQL表中的一行数据会被转换成Key-Value的键值对形式存储在RocksDB中。
TiKV将整个Key-Value空间分成很多段,每一段是由一系列连续的Key组成。这里的段就叫做Region。Region可以用[StartKey,EndKey)这样一个左闭右开区间来描述。每个Region中保存的数据量默认维持在256M左右,可以通过配置进行修改。
将数据划分成Region后,TiKV执行两项重要操作:
- 数据按Key切分成多个Region。在不考虑多副本的情况下,每个Region的数据仅保存在一个节点上。TiDB系统中的PD组件负责将Region尽可能均匀地分布在集群节点上,实现存储容量的水平扩展。当集群中增加新节点后会自动进行调度,从而避免某节点存储过多数据而其他节点存储较少。为了确保上层客户端能访问所需数据,PD组件会记录Region的分布情况,可通过任意Key查询其所在的Region及其对应的节点。
- TiKV以Region为单位进行数据复制,一个Region的数据会保存多个副本,称为Replica。Replica之间通过Raft保持数据一致性,构成一个Raft Group,其中一个Replica作为Leader,其他作为Follower。默认情况下,所有读写操作均通过Leader进行。
本文标签: 赵渝强老师TiDB的数据存储模型
版权声明:本文标题:【赵渝强老师】TiDB的数据存储模型 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747500650a2169282.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论