我的问题类似于this。我需要数据结构来存储和访问大量的时间序列数据。在我的情况下,插入率非常高 - 每秒10-100k插入。数据项是包含时间戳,传感器ID和传感器值的元组。而且我有非常多的传感器。在我的情况下,必须删除比某个时间点早的值。
我需要按传感器ID和时间范围查询数据集。所有数据必须存储在外部存储器中,无法将其装入主存储器中。
我已经知道TSB-tree了,但是TSB-tree很难实现,并且无法保证它能完成这项工作。我怀疑TSB树在高插入率下表现不佳。
还有其他选择吗?也许像LSM树这样的东西,但对于多维数据?
答案 0 :(得分:3)
因为你正在使用外部存储器,你可能想要阅读Henrik Jonsson's thesis中的B树章节 - B-trees本身是一种非常流行的方法来索引外部存储器中的数据,你应该能够找到任何语言的实现,Jonnson讨论了如何使它们适应存储时间序列数据。