多级密钥的数据结构

时间:2016-01-06 11:21:34

标签: algorithm data-structures

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

1 个答案:

答案 0 :(得分:0)

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

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

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