【发布时间】:2015-08-21 14:47:24
【问题描述】:
【问题讨论】:
【问题讨论】:
我遇到了同样的问题,但我最终写了一个 OSQL 查询来计算图中的连接组件,这里是 my solution
【讨论】:
以下是OrientDB website 的摘录。我已经突出显示了一些相关部分。
OrientDB 可以像任何其他文档数据库一样嵌入文档,但是 也支持关系。它不使用昂贵的 JOIN。反而, OrientDB 在记录之间使用超快速、持久的指针,采用 来自图形数据库世界。您可以遍历部分或全部 只需几毫秒即可生成树和记录图。
此插图显示了原始文档的处理方式 拆分为使用客户记录 ID #8:124 链接的两个文档 将订单连接到客户文档。可以想到链接 作为内存中的指针,但在磁盘上持久存在。
[剪辑]
配备文档和关系型 DBMS,您的数据越多 有,数据库会越慢。连接的运行时间很长 成本。相反,OrientDB 将关系作为物理链接处理 记录,仅分配一次,当创建边缘时 O(1)。比较 这对于每次“计算”关系的 RDBMS 您查询数据库 O(LogN)。 使用OrientDB,遍历速度不 受数据库大小影响。它始终是恒定的,无论是对于一个 记录或 1000 亿条记录。 这在 Big 时代至关重要 数据!
下面是一个来自tutorial document 的示例查询,它将获取名为 Luca 的人的所有朋友。
SELECT EXPAND( BOTH( 'Friend' ) ) FROM Person WHERE name = 'Luca'
【讨论】: