本文主要是介绍SSTables和LSM-Tree,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SSTables 可以类比Kafka:将数据按键排序写入磁盘,并分为多个段,组织段的稀疏索引,并定期合并段文件(kafka因为不存在重复数据,所以不需要合并)
LSM-Tree是基于SSTables的:在内存中维护两个Tree(交替工作),当Tree的大小达到一定的阈值之后,写操作转移到另一个tree,并将当前tree写入磁盘,形成一个SSTables实例,当读的时候,先从内存实例中查找,然后依次从磁盘的SSTables查找,并且写的时候为了避免宕机,会先写一个顺序预写日志(这也是Rockes和Level-DB的视线)
这篇关于SSTables和LSM-Tree的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!