事实上,LSM树并不像B+树、红黑树一样是一颗严格的树状数据结构,它其实是一种存储结构,目前HBase,LevelDB,RocksDB这些NoSQL存储都是采用的LSM树。 2.png 如上图所示,LSM树有以下三个重要组成部分: MemTable:MemTable是在内存中的数据结构,用于保存最近更新的数据,会按照Key有序地组织这些数据。因为数据暂时保存...
LSM树,即日志结构合并树(Log-Structured Merge-Tree)。其实它并不属于一个具体的数据结构,它更多是一种数据结构的设计思想。大多NoSQL数据库核心思想都是基于LSM来做的,只是具体的实现不同。所以本来不打算列入该系列,但是有朋友留言了好几次让我讲LSM树,那么就说一下LSM树。 LSM树诞生背景 传统关系型数据库使用...
本期视频跟大家聊聊B+树、LSM树等存储结构。因为内容较多,所以这期视频还是分为了上、中、下三期。先说明一下,这期视频比较偏向于理论,有点类似于一期综述。所以可能会有些抽象,如果你想看一些更具体的内容的话,我近期会出一期视频对MySQL中update一行数据的过程做特别特别深入的解读,可以关注一下哦~...
LSM树原理 LSM树由两个或以上的存储结构组成,比如在论文中为了方便说明使用了最简单的两个存储结构。一个存储结构常驻内存中,称为C0 tree,具体可以是任何方便健值查找的数据结构,比如红黑树、map之类,甚至可以是跳表。另外一个存储结构常驻在硬盘中,称为C1 tree,具体结构类似B树。C1所有节点都是100%满的,节点的大...
LSM树由两个或以上的存储结构组成,比如在论文中为了方便说明使用了最简单的两个存储结构。一个存储结构常驻内存中,称为C0 tree,具体可以是任何方便健值查找的数据结构,比如红黑树、map之类,甚至可以是跳表。另外一个存储结构常驻在硬盘中,称为C1 tree,具体结构类似B树。C1所有节点都是100%满的,节点的大小为磁盘块...
本期视频跟大家聊聊B+树、LSM树等存储结构。因为内容较多,所以这期视频还是分为了上、中、下三期。先说明一下,这期视频比较偏向于理论,有点类似于一期综述。所以可能会有些抽象,如果你想看一些更具体的内容的话,我近期会出一期视频对MySQL中update一行数据的过程做特别特别深入的解读,可以关注一下哦~...
本期视频跟大家聊聊B+树、LSM树等存储结构。因为内容较多,所以这期视频还是分为了上、中、下三期。 先说明一下,这期视频比较偏向于理论,有点类似于一期综述。所以可能会有些抽象,如果你想看一些更具体的内容的话,我近期会出一期视频对MySQL中update一行数据的过程做特别特别深入的解读,可以关注一下哦~ ...