Riak 里亚克林克走路像一个连接?

Riak 里亚克林克走路像一个连接?,riak,Riak,我希望将图片存储在NoSQL数据库中(考虑单向关系,并与正常查询一样快,而不是像MapReduce那样慢 发件人: Riak处理的第一种方式 这是链接行走。每个数据 存储在Riak中可以有单向 通过与其他数据的关系 链接HTTP头。在规范的 例如,你知道乐队的键 您已存储在“艺术家”中的 bucket(Riak)bucket类似于数据库 桌子或桶)。如果那位艺术家 链接到其相册,相册位于 将“链接到”选项卡上的轨迹 相册,你可以找到所有的曲目 在一次请求中生成。我将 在下一节中描述,这是 比S

我希望将图片存储在NoSQL数据库中(考虑单向关系,并与正常查询一样快,而不是像MapReduce那样慢

发件人:

Riak处理的第一种方式 这是链接行走。每个数据 存储在Riak中可以有单向 通过与其他数据的关系 链接HTTP头。在规范的 例如,你知道乐队的键 您已存储在“艺术家”中的 bucket(Riak)bucket类似于数据库 桌子或桶)。如果那位艺术家 链接到其相册,相册位于 将“链接到”选项卡上的轨迹 相册,你可以找到所有的曲目 在一次请求中生成。我将 在下一节中描述,这是 比SQL中的连接要轻松得多 因为每一个项目都是在 独立地,而不是一桌一桌地 一段时间。下面是该查询的内容 看起来像:

得到 /原始音乐/艺术家/披头士乐队/专辑,,,/曲目,u,1 “/raw”是URL的顶部 名称空间,“艺术家”是桶, “披头士”是源对象键。 以下是匹配规格 对于要跟随的链接,请使用 桶,标签,保持三倍,在哪里 下划线匹配任何内容。第三个 参数“keep”表示返回 这一步的结果,意味着 您可以从任何步骤检索结果 你想要,任何组合,我都不想要 我知道你,但对我来说 比这更自然:

从内部轨迹中选择轨迹。* 加入曲目上的相册。相册\u id= albums.id内部加入艺术家 albums.artist_id=artists.id其中 artists.name=“披头士”乐队 链接的警告是它们是 固有的单向性,但这 不难克服 在您的应用程序中。没有 中的引用完整性约束 您的SQL数据库(哪个是ActiveRecord 过去让你很痛苦),你呢 没有可靠的保证 删除或更新不会导致行被删除 不管怎样,成为孤儿,我们有点 由于ActiveRecord处理 社团的联系 自动地

链接行走的地方 这部电影真的很精彩 自指与深度及物 关系(思考有很多:通过 写得很大)。因为你不必这么做 通过联接和连接创建虚拟表 为同一文件的不同版本添加别名 桌上,你可以很容易地做这样的事情 社交网络图 (朋友的朋友的朋友),以及 数据结构,如树和列表


链接与连接(涉及笛卡尔积)完全不同,但在某种意义上它们可以用于类似的目的,它们与HTML文档中的链接非常相似

使用链接遍历,您可以从单个键开始,也可以创建一个从多个键开始的map reduce作业。(链接遍历/遍历实际上是map reduce的一个特例。)获取这些值,根据您的规范(bucket、tag)过滤它们的链接,然后将匹配的链接传递到下一阶段当然,所有这些都是以高数据局部性并行完成的(不像连接)


此外,map reduce本身并不慢,您只是没有一个复杂的查询计划器来为您完成这项艰巨的工作;您必须考虑如何根据需要查询和组织数据。

存储在标题中,这是否意味着存储在文档中的链接是指向链接文档位置的http链接?Riak是通过HTTP访问,所以从技术上讲,是的-文档存储在HTTP链接下。但是您不必通过链接链访问文档,您可以直接访问它。