Log-structured-merge-tree

栏目: 数据库 · 发布时间: 6年前

内容简介:LSM Tree是一种基于排序和合并的数据存储方式,与一般数据存储引擎需要反复修改硬盘上的数据不同,LSM Tree的数据一旦写到磁盘上就不会再更改了。并且由于LSM Tree的数据都是连续写入到磁盘上的,因为磁盘的连续写入效率高于随机写入,所以LSMTree的数据写入速度往往高于BTree的数据写入速度;不过由于LSMTree的数据在查询时需要涉及到多个磁盘文件以及数据的合并操作,所以LSMTree的数据查询速度一般都会低于BTree的数据查询速度。LSM Tree的核心原理分为以下几块

LSM Tree是一种基于 排序 和合并的数据存储方式,与一般数据存储引擎需要反复修改硬盘上的数据不同,LSM Tree的数据一旦写到磁盘上就不会再更改了。并且由于LSM Tree的数据都是连续写入到磁盘上的,因为磁盘的连续写入效率高于随机写入,所以LSMTree的数据写入速度往往高于BTree的数据写入速度;不过由于LSMTree的数据在查询时需要涉及到多个磁盘文件以及数据的合并操作,所以LSMTree的数据查询速度一般都会低于BTree的数据查询速度。

LSM Tree的核心原理分为以下几块

  • 数据在内存中有序的保存,此时存储数据的部分叫做内存表(memtable)
  • 内存中的数据达到一定条件之后会被写入到磁盘上的SSTable(Sorted String Table)中,这里的写入时连续写入
  • 磁盘上SSTable达到了一定的条件之后会触发归并操作,即把多个较小的SSTable归并为一个大的SSTable
  • 数据在SSTable中是有序的,所以可以给SSTable建立一个索引以提高数据查询速度
  • 使用transaction log来避免内存中的数据丢失问题

memtable


以上所述就是小编给大家介绍的《Log-structured-merge-tree》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux程序设计

Linux程序设计

Neil Matthew、Richard Stones / 陈健、宋健建 / 人民邮电出版社 / 201005 / 99.00元

时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟、高效和稳定的操作系统,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。 本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮......一起来看看 《Linux程序设计》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试