是否有多键键值存储?
是否有专门的存储来存储元组,即 t=(clicks,impressions, ctr) 散列在多个值上 - 比如说 pageId、categoryId、userId、sessionId 等。
我知道我可以使用 MySQL、MongoDb 等来做到这一点。但我更喜欢寻找一些专门的、甚至嵌入式(Java)商店。它不需要像 RDMBS 那样提供复杂的查询语言或事务。但原子性和持久性将是一个优点。 ;)
我认为这也可用于在多个维度存储聚合数据的 DWH 类型应用程序,但我还没有找到任何此类产品。
Is there a specialized store for storing tuples i.e. t=(clicks, impressions, ctr) hashed on multiple values - let's say pageId, categoryId, userId, sessionId et cetera.
I know I could do this using MySQL, MongoDb et cetera. But I am more looking for some specialized and mabye even embedded (in Java) store. It does not need to offer a complex query language or transactions like RDMBS. But atomicity and durability would be a pro. ;)
I figure this could also be of use for DWH-type applications storing aggregate data in multiple dimensions but I have not found any such product.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您最好的选择是使用
或者如果您的项目都可以通过字符串表示,您可以连接它们的值并将它们全部存储在
Your best bets are to either to use
or if your items can all be represented via string, you could concatenate their values and store them all in
如果您可以接受定期加载过程,则 OLAP 服务器(例如 Mondrian 或 SQL Server Analysis Services)可能适合您。尽管底层数据结构不是哈希表,但它们正是这样做的。实际上,您需要将数据暂存到数据库中并将数据从数据库加载到多维数据集中。
If you can live with a periodic load process an OLAP server such as Mondrian or SQL Server Analysis Services might work for you. They do exactly this sort of thing, although the underlying data structure is not a hash table. Practically you will need to stage the data into a database and load the data from the database into the cube.
使用键值存储,您始终可以使用键组合在单个键列中存储多个列。也就是说 wiredtiger 确实提供了键和值的多个列,并且能够进行投影来构建索引。
键组合是将多个值包装在单个值中的做法,最简单的组合使用字符作为分隔符,例如
":"
。Using a key-value store you can always use key composition to store multiple columns in single key column. That's said wiredtiger does offer multiple columns on key and value with the ability to do projection to build indices.
Key composition is the pratice of packing a multiple value in single value the simplest composition use a char as separator such as
":"
.