美文网首页
LSM存储结构

LSM存储结构

作者: Wu杰语 | 来源:发表于2021-06-18 11:24 被阅读0次

数据库存储有两种数据结构,一种B+树,另外一种是LSM。数据库,我们知道是用B+树,但是对于LSM,就不是所有人都知道。因为这种数据结构适用大数据的存储场景,适用于写多读少的场景。

LSM数据结构

LSM

LSM数据结构如上图,写入数据时:

  • 先写入WAL,用于故障恢复,如果断电,由于有WAL Log的存在,不会导致数据丢失。
  • 再写入MemTable中,如果MemTable满,则数据被迁移到Imutable Memtable中。
  • 后台线程发现有Imutable Memtable,就写入到SStable, SStable的key都是有序的。
  • 当level0的ssTbale满,就把数据迁移到level1,并且和level1的数据进行归并排序,依次类推

各种操作

  • 写入操作,写入WAL Log和Memtable就认为成功
  • 读取,先到Memtable和Imutable memtable查找,如果查不到就到SSTable中查找,查找每个SStable,使用布隆过滤器进行加速,指导找到数据。
  • 删除,只进行标记,在合并SSTable时才会被真正删除
  • 修改,知识插入数据,合并数据时,才会将旧值删除。数据读取时,新数据位置总是比旧数据位置高,因此总能读到最新值。

LSM存储引擎

名称 语言
levelDB C++
RocksDB C++
Pebble go
BadgerDB go
WiredTiger C++

小结

LSM这种数据结构也是头次听说,不懂的东西还比较多,特别是大数据,需要尽快补充该领域的知识。

相关文章

  • [Hbase] hbase的存储设计

    1.Hbase中的LSM存储思想 1.1 什么是LSM树?LSM树是日志结构合并树,是由两个或两个以上的存储结构组...

  • LSM存储结构

    数据库存储有两种数据结构,一种B+树,另外一种是LSM。数据库,我们知道是用B+树,但是对于LSM,就不是所有人都...

  • LSM-Tree优化方案调研

    LSM-Tree历史 LSMs(Log Structured Merge Trees)结构在现今数据存储系统中非常...

  • HBase与LSM树

    一、LSM树的原理 讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来: 哈希存储引擎是哈希表...

  • (DDIA)数据存储与检索(二)——LSM简介

    一、SSTables and LSM-Trees 在图3-3中,每个日志结构的segment文件存储的都是键值对。...

  • RocksDB 的 Group Write 机制

    RocksDB 是 LSM-tree 结构的 KV 存储,写入的数据先通过 WAL 持久化,再写入到 memtab...

  • 08. HBase数据存取优化

    存储优化(LSM) 检索(获取)优化

  • HBase的Compaction设计综述

    HBase使用的存储结构为LSM树,它的优势是能大大提升写效率。同时由于这种特性在HBase中,它的存储会形成一个...

  • HBase的存储结构——LSM-Tree

    LSM-Tree是什么 LSM-Tree(Log Structured Merge Tree),一种分层、有序、面...

  • 01. HBase的LSM存储思想

    什么是LSM树? 三种基本的存储引擎——LSM树的由来 哈希存储引擎 是哈希表的持久化实现,支持增、删、改以及随...

网友评论

      本文标题:LSM存储结构

      本文链接:https://www.haomeiwen.com/subject/ardkyltx.html