我的问题类似于this。我需要数据结构来存储和访问大量的时间序列数据。在我的例子中,插入速度非常高--每秒10-100k次插入。数据项是包含时间戳、传感器id和传感器值的元组。我有非常多的传感器。在我的例子中,早于某个时间点的值必须被擦除。
我需要按传感器id和时间范围查询数据集。所有的数据都必须存储在外部存储器中,没有办法将其放入主存储器中。
我已经知道TSB-tree了,但是TSB-tree很难实现,也不能保证它能完成这项工作。我怀疑TSB-tree在高插入率下表现不是很好。
还有别的选择吗?也许是像LSM-tree那样的东西,但对于多维数据?
发布于 2013-06-07 05:22:14
因为您使用的是外部存储器,所以您可能想通读一下Henrik Jonsson's thesis中关于B树的章节- B-trees本身是一种非常流行的在外部存储器中索引数据的方法,您应该能够找到任何语言的实现,Jonnson讨论了如何调整它们来存储时间序列数据。
https://stackoverflow.com/questions/16972161
复制相似问题