TiKV中数据如何进行组织存储
首先,我们以键-值对(key-value)数据的索引开始,key-value类型并不是唯一可以索引的数据,但它非
常简单随处可见,而且是其他更复杂索引的基础构件模块。
数据结构,在传统的单机关系数据库里,最常见的引结构是B-tree。但最近几年出现了一个很有吸引力的引
擎是LSM-tree(LogStructuredMergeTree),如何选择?还是回到业务场景本身。
在传统的OLTP系统里,写入是最昂贵的成本。
B-tree索引必须至少写两次数据,一次是预写日志(WAL),一次是写入树本身;我们需要通过 索引加速一次特定查询,就需要创建一个B-tree索引。
B-tree是一个严格平衡的数据结构,它的设计是对读友好,数据写入触发的B-tree的分裂与在平衡成本也非常高。也就是B-tree对写入相对不友好。
传统的主从(Master-slave)架构里,不管你加多少从节点,集群的写入容量都没法扩展,集群的写入容量完全由主库的机器配置决定;扩展只能通过非常昂贵的集群拆分(分库概念)
TiKV LSM Ttree数据结构
日志合并树
尽可能的在内存中进行 读写, 顺序IO 代替 随机IO
大批量查询 是不擅长的。
大批量的写 是非常快的。
TI flash
欢迎来撩 : 汇总all