【问题标题】:Are the same document ids in subcollections lead to hotspots in Firestore?子集合中的相同文档 ID 是否会导致 Firestore 中的热点?
【发布时间】:2023-04-11 07:50:01
【问题描述】:

我计算了一些用户特定的数据,例如在用户文档中收到喜欢和关注者。
由于每秒写入 1 次的限制,我想将计数器从用户文档移动到子集合中:

users
    userId1
        userCounters
            likesCounter
            followerCounter
    userId2
        userCounters
            likesCounter
            followerCounter
    ...

所以每个用户都在他的子集合中获得了这些具有相同名称的计数器文档。
我想知道子集合中的文档使用相同的名称是否会导致热点?
在这里使用自动生成的 id 更好还是没关系?

【问题讨论】:

    标签: firebase google-cloud-firestore data-structures counter


    【解决方案1】:

    当文档被写入不同的(子)集合时,文档自己写入不会引起热点。子集合在这里本质上是单独的分片,因此文档 ID 本身并不重要。

    当您在 userCounters 集合上有一个集合组索引时,这种情况下的热点可能发生,因为来自所有这些(子)集合的文档将最终出现在同一个索引中。在集合组索引中,文档由它们的路径标识(而不仅仅是它们的 ID),但由于必须将它们全部写入同一个索引,它仍然更有可能导致热点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-21
      • 2022-07-08
      • 2021-08-30
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 2018-08-08
      • 2022-10-19
      相关资源
      最近更新 更多