Riak中的链接:与图形数据库相比,它们可以做什么/不做什么?

Jes*_*ose 6 riak

熟悉的Neo4j将人际关系视为一等公民; 即席查询/遍历,完整性(如果一个节点被删除,链接消失)等.它还将广告作为表示关系以及优于关系数据库连接的唯一机制.

Riak链接表示关系有多强大?它们是否可以用来回答临时查询,例如"为每个收入超过x的人获取爱好列表"朋友的朋友,假设合适的功能如二级索引?通常,它们可以模拟RDBMS中连接输出吗?

它们是否也意味着大量使用,例如社交书签系统,其中有很多人和书签的链接?或者它们是否意味着谨慎使用(所有结构都必须是非循环图)?


在"不做"类别中:

  1. 不强制实施链接完整性
  2. 它无法回答"这个节点的链接是什么?"

Iva*_*kov 5

Riak中的链接只是与值一起存储的一些元数据(对外键的单向引用列表).它们通常用作MapReduce的输入,可以随心所欲地执行任何操作,包括模拟RDBMS连接.

没有完整性检查或任何额外的魔术,如找到反向链接.它们只是一个方便的API,绝对可以通过将这些外键列表存储在值中,以某种方式序列化来实现.

对于社交书签示例,我建议使用Riak Search,因为它允许更灵活的查询,如http://example.com/*,并具有适当的分布式索引和查找.