首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有复合索引,数据体用户如何处理?

没有复合索引,数据体用户如何处理?
EN

Stack Overflow用户
提问于 2014-07-03 19:00:55
回答 3查看 696关注 0票数 6

在“数据经济学”中,如何有效地执行诸如“查找华盛顿所有50岁以上的人”之类的查询(城市和年龄可能有所不同)?在关系数据库和大多数NoSQL数据库中,您都为此目的使用复合索引;据我所知,Datomic不支持类似的内容。

比如说,我开发了几个中型网络应用程序,没有一个应用程序表现得足够快,如果不是综合指数的话。数据通信用户是如何处理这个问题的?或者他们只是在玩弄小到不受此影响的数据集?我是不是遗漏了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-28 16:42:10

Update2019-06-28:0.9.5927 (Datomic )/ 480-8770 (Datomic )以来,数据组支持元组作为一种新的属性类型,它允许您具有复合索引。

票数 0
EN

Stack Overflow用户

发布于 2014-12-16 23:51:44

由于数据体中的数据(数据)结构,这个问题及其解决方案在数据体中是不一致的。有两个性能特性/策略可能会在这方面增加一些阴影:

(1)在获取数据时,可以从索引树(而不是单个项)中获取整个叶段--其中的段由潜在的数千个数据组成。然后自动缓存它,这样您就不必通过网络来获取更多的数据。

如果您在查询单个人--即单个实体,询问他们的年龄和居住地,则很可能查询对EAVT或AEVT索引的导航已经缓存了您所需的一切。您已经有效地缓存了数据块,如何导航到它,以及相关的数据(按索引中的位置划分)。

(2) 隔断可以提供一种指定引用地点的手动方法。分区会影响实体ID的值(它是用高比特编码的),并确保相关实体在彼此附近排序。因此,对于上述问题的替代实现,如果您同时需要来自城市和个人实体的信息,可以将它们包含在同一个分区中。

票数 3
EN

Stack Overflow用户

发布于 2015-03-31 23:10:42

我编写了一个库来处理这个问题:https://github.com/arohner/datomic-compound-index

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24561429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档