是否存在用于存储元组的专门存储,即t =(点击次数,展示次数,ctr)在多个值上进行散列 - 例如pageId,categoryId,userId,sessionId等等。
我知道我可以使用MySQL,MongoDb等来做到这一点。但我更喜欢一些专门的和mabye甚至嵌入式(在Java中)商店。它不需要提供复杂的查询语言或RDMBS之类的事务。但原子性和耐久性将是一个专业人士。 ;)
我认为这也可以用于存储多维度聚合数据的DWH类型应用程序,但我还没有找到任何此类产品。
答案 0 :(得分:0)
您最好的选择是使用
HashMap<Key1Type, HashMap<Key2Type, ValueType>>
或者如果您的项目都可以通过字符串表示,您可以连接它们的值并将它们全部存储在
中HashMap<string, ValueType>
答案 1 :(得分:0)
如果您可以使用定期加载过程,则可以使用Mondrian或SQL Server Analysis Services等OLAP服务器。尽管底层数据结构不是哈希表,但它们确实做到了这一点。实际上,您需要将数据暂存到数据库中,并将数据从数据库加载到多维数据集中。
答案 2 :(得分:0)
使用键值存储,您始终可以使用键组合在单键列中存储多个列。这说wiredtiger确实提供了关键和值的多个列,并且能够进行投影以构建索引。
关键组合是在单个值中打包多个值的实践,最简单的组合使用char作为分隔符,例如$string = str_replace('/', '_', $newFile);
。