Firebase firestore中的成本效率和可扩展性以及报告

Firebase firestore中的成本效率和可扩展性以及报告,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,应生成firestore内的子集合以节省成本。在本例中,我打算为每个注册用户创建一个文档,并嵌套我需要的其他数据。这样,我将只有一个阅读每个用户谁输入和其他信息将包括在子集合,根据 未来的问题是报告。如果有100个用户,如果需要有一个完整的报告,那么它将是100个读数,当有50000个用户时,它将是相同的。此外,尽管我不太了解快照的主题,但每种快照都会产生额外的更新成本 我想知道是否有人可以支持我的建议或帮助我澄清这一点: 是否可能有一个包含所有信息的主文档,并且该文档是否用于报告和用户获取数

应生成firestore内的子集合以节省成本。在本例中,我打算为每个注册用户创建一个文档,并嵌套我需要的其他数据。这样,我将只有一个阅读每个用户谁输入和其他信息将包括在子集合,根据

未来的问题是报告。如果有100个用户,如果需要有一个完整的报告,那么它将是100个读数,当有50000个用户时,它将是相同的。此外,尽管我不太了解快照的主题,但每种快照都会产生额外的更新成本

我想知道是否有人可以支持我的建议或帮助我澄清这一点:

  • 是否可能有一个包含所有信息的主文档,并且该文档是否用于报告和用户获取数据?也就是说,不是每个用户有N个文档,而是有一个文档“maindoc”,这将有包含所有用户数据的子集合

<强>注:以补充报表的解决方案,如数据导出到BigQuote和API服务,我不认为它们是相关的,因为它们也根据文档数量

占用N个读。 我将只有一个阅读每个用户谁输入和其他信息将包括在子集合

事实并非如此,因为Firestore查询本质上是浅层的,这意味着在获取文档时它不会返回子集合的值。子集合的存在是为了使数据更容易理解,而不是为了节约成本。更多信息,请查看问题

未来的问题是报告

每读取100000份文档,您就会收到0.06美元的账单(我所在地区和您所在地区的价格可能有所不同),因此,除非您需要每天多次使用报告功能并拥有数百万份文档,否则我认为这是可以的

是否可能有一个包含所有信息的主文档,并且该文档是否用于报告和用户获取数据

这是一个非常糟糕的主意,因为您不仅要为文档读取付费,还要为网络出口付费,即您使用的网络带宽量。这样做意味着每个用户都必须下载一个巨大的文档,这会减慢应用程序的速度并占用大量带宽

查看成本基础基于数据大小而不是读/写的SQL替代方案是更好的选择吗


这取决于您的用例。但对我来说,考虑到Firebase文档很难击败的其他BaaS选项,定价上的差异并不大。

感谢您的澄清,这是非常有效的。要找到一个尽可能完整的解决方案并不容易,我很高兴能提供帮助