【发布时间】:2019-08-20 10:37:50
【问题描述】:
我正在考虑将 Google Cloud Firestore 用于多租户应用程序。
我浏览了这个页面,该页面提供了有关比例的建议:https://cloud.google.com/firestore/docs/best-practices#designing_for_scale
还有这个页面显示限制:https://cloud.google.com/firestore/quotas
我想出了这个解决方案,它可以以最少或不增加额外成本来提高应用程序的性能和弹性。
解决方案:我可以在应用程序中为每个多租户集合使用不同的集合,例如:products_1、orders_1、products_2、orders_2。
我想使用它,因为:
1- 它将具有更好的性能,因为我将拥有更小的表/索引。否则从长远来看,它可能包含太多文档。
2- 这是可行的,因为代码与具有名称的集合进行交互,我不必显式创建集合。与使用关系数据库/ORM 组合相比,这似乎不是一个大问题。
3- 我可以使用不同名称创建多少个集合没有限制。
所以我的问题: 我的任何假设是否不正确,以至于它不会在性能方面获得任何收益,或者即使没有记录,创建无限数量的集合也是不可行的。
最后,这种方法是否会造成我目前无法意识到的长期维护问题?
感谢您的宝贵时间。
【问题讨论】:
标签: google-cloud-firestore database-performance multi-tenant