2016-01-06 43 views
0

当密钥是多个值的函数时,有效级别搜索的最佳数据结构是什么? 说我的钥匙是[Row Key] [Column Name] [ TimeStamp ]多级密钥的数据结构

+0

https://en.wikipedia.org/wiki/Multimap –

回答

0

也许您正在寻找一个多维索引或聚合索引?

聚合索引将多个键(时间戳,行键......)合并成一个单一的键,然后存储在一个普通的搜索索引(Hashmap,B-tree或类似的)中。聚合可以通过连接密钥或交织它们的位来完成。

多维索引允许同时索引和搜索多个属性。例如,如果你有[ID] [attr1] [attr2] [timestamp]那么你可以使用4维索引。您将不得不将所有值转换为整数或浮点数(对于可以使用的字符串将前几个字符转换为整数)。对于查找,您可以简单地将这些维度清空,而您不知道该值。多维索引例如是R * -Tree,X-tree,PH-Tree。还有kd树和四叉树,它们实现起来相当简单,但对于大型数据集或许多维度来说并不是那么好。