【问题标题】:Is there a native mechanism for dealing with data duplication in FaunaDb?FaunaDb 中是否有处理数据重复的本机机制?
【发布时间】:2021-10-02 07:07:17
【问题描述】:

在调查新数据库时,Fauna 为我检查了很多框。但是,根据documentation,我无法推断 Fauna 如何/是否处理数据重复。

有人可以分享Fauna是否以某种方式处理数据重复?也许是基于模式的自动复制?

【问题讨论】:

    标签: database-design nosql faunadb


    【解决方案1】:

    如果数据在多个地方重复,那么您必须在两个地方都维护它。

    在 Fauna 中处理关系并没有什么自然而然的事情。我的意思是,GraphQL 有时感觉很神奇 :) 但它的核心只是由索引支持。索引赋予不同集合之间的双向关系。您将索引定义为开发人员(GraphQL API 可以提供很大帮助)。

    我建议跟随5-minute Quickstart 教程。您可以直接从仪表板创建包含演示数据的数据库。从那里您可以检查不同的集合,并查看这些关系是如何在实际文档中形成/保存的。

    【讨论】:

    • 谢谢。让我们把它归结为一个例子。想象一个聊天集合,每个聊天都引用一个用户。我们从 Chats 集合中获取一个页面,我们知道该查询的最有效版本是用户数据是否被复制到每个 Chat 记录中。但是如果 Chat 只包含对 User 的引用呢? Fauna 在这方面提供什么吗?或者查询会是 N+1 吗?换句话说,获取聊天记录页面,然后为每个聊天获取用户。
    • 这听起来像是一个与数据重复无关的问题。您可以在单个查询中获取多个文档的详细信息并撰写仅包含您需要的字段的特定响应。这种能力就是我们声称我们的 GraphQL API 避免了 N+1 问题的原因,因为我们可以一次完成所有请求的响应字段。
    猜你喜欢
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    相关资源
    最近更新 更多