4

是否有专门的存储用于存储元组,即 t=(clicks,impressions,ctr) 散列在多个值上 - 比如说 pageId、categoryId、userId、sessionId 等等。

我知道我可以使用 MySQL、MongoDb 等来做到这一点。但我更多的是寻找一些专门的甚至可以嵌入(在Java中)的商店。它不需要像 RDMBS 那样提供复杂的查询语言或事务。但是原子性和持久性将是一个优点。;)

我认为这也可以用于存储多维聚合数据的 DWH 类型的应用程序,但我还没有找到任何这样的产品。

4

3 回答 3

0

你最好的选择是要么使用

HashMap<Key1Type, HashMap<Key2Type, ValueType>> 

或者如果您的项目都可以通过字符串表示,您可以连接它们的值并将它们全部存储在

HashMap<string, ValueType>
于 2010-11-22T16:13:44.907 回答
0

如果您可以接受定期加载过程,那么诸如 Mondrian 或 SQL Server Analysis Services 之类的 OLAP 服务器可能适合您。尽管底层数据结构不是哈希表,但它们正是这样做的。实际上,您需要将数据暂存到数据库中并将数据从数据库加载到多维数据集中。

于 2010-11-22T16:19:05.947 回答
0

使用键值存储,您始终可以使用键组合将多个列存储在单个键列中。也就是说,wiredtiger确实提供了关于键和值的多列,并且能够进行投影以构建索引。

键组合是将多个值打包成单个值的做法,最简单的组合使用 char 作为分隔符,例如":".

于 2016-12-21T15:22:22.587 回答