使用LevelDB之类的LSM树作为RDBMS的存储引擎

时间:2016-08-03 01:04:43

标签: rdbms leveldb opentsdb rocksdb lsm-tree

已经发现LSM Tree在许多无sql引擎中成功使用,其数据按键排序,而不是像散列表一样,因此可以在kv商店之外进行许多潜在的使用。例如,时间序列数据库(TSDB)可能很适合使用级别db作为其引擎。传统的RDBMS和许多表系统怎么样? LSM树之类的数据引擎是否也很合适?

1 个答案:

答案 0 :(得分:1)

可能是。如果您要以某种方式设计索引以利用leveldb的优势(即快速顺序读取),那么它可能会运行良好。

实际上我在leveldb(linqdb)之上构建了一个小的关系数据库,其中index只是作为键值存储的列的排序值。我的发现是,查询这样的结构并不像sqlite的索引列那样快(大约慢40%),但是写出的表现要大得多。

当然,查询速度有很多因素,LSM只是一种基础数据结构,在编写时最好。

其他信息here