暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hubble硬核技术干货集锦——LSM Tree存储格式

原创 Hubble 2023-01-31
245

在“拿来主义”的数据库市场中,天云数据坚定不疑地走硬核路线。十余年沉浸在数据库技术世界里,如今天云数据HTAP数据库Hubble融合了Oracle交易和MPP数仓的数据库替代升级,在新型大数据环境中扮演了越来越重要的角色。

酒香也怕巷子深,细说Hubble数据库硬核技术——LSM Tree存储格式

一、什么是LSM Tree存储格式?

LSM Tree,即日志结构合并树(Log-Structured Merge-Tree),是一种被精心设计的数据结构,常用于处理大量写入的场景。通过对写入操作进行顺序写入优化实现性能提升。

LSM tree 是很多数据库内部的核心数据结构。

二、为什么要用LSM Tree存储格式?

传统关系型数据库使用B-Tree或一些变体作为存储结构,能高效进行查找,但保存在磁盘中时它也有一个明显的缺陷,那就是逻辑上相离很近但物理却可能相隔很远,这就可能造成大量的磁盘随机读写。

随机读写比顺序读写慢很多,为了提升IO性能,我们需要一种能将随机操作变为顺序操作的机制,在海量数据和高吞吐写的场景下,LSM Tree诞生了,LSM 能解决更快速的写,更快速的读。

LSM Tree 通过将数据增删改全部转化为顺序写入从而显著提高写的性能。这个特点在分布式系统上更为看重。

三、Hubble硬核技术价值

Hubble的LSM tree将随机写转化为顺序写,尽量保持日志型数据库的写性能优势,并提供相对较好的读性能。

Hubble的LSM treen 优势:

  1. 当有写操作(或update操作)时,写入位于内存的buffer,内存中通过某种数据结构保持key有序;

  2. 将数据追加写到磁盘Log文件,以备必要时恢复;

  3. 内存中的数据定时或按固定大小刷到磁盘,更新操作不断地写到内存,并不更新磁盘上已有文件;

  4. 定时对文件进行合并操作(compaction),消除冗余数据,减少文件数量。

“技术至上,技术人员至上”的理念让天云数据在技术上“开花结果”,述说着属于Hubble的硬核故事。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论