LSM树已经在许多非sql引擎中被成功使用,它的数据是按键排序的,而不是像哈希表那样,因此可以在kv存储之外的许多潜在用途。例如,时间序列数据库(TSDB)可能非常适合使用级别db作为其引擎。那么传统的RDBMS和许多表格系统呢?像LSM-tree这样的数据引擎也很适合吗?
发布于 2016-08-03 20:12:11
可能是吧。如果你打算以一种方式来设计索引,以利用leveldb的优势(即快速顺序读取),那么它可能工作得很好。
实际上,我已经在leveldb (linqdb)上构建了小型关系数据库,其中索引只是作为键值存储列的排序值。我的发现是,查询这种结构的速度没有sqlite的索引列快(大约慢40% ),但写入的速度要比sqlite快很多。
当然,影响查询速度的因素有很多,LSM只是一种底层数据结构,在编写方面表现最出色。
其他信息here
https://stackoverflow.com/questions/38732766
相似问题