目前,我正在使用Firestore构建应用程序。 Google一直在推广Firestore的可扩展性,但我认为10 000 writes/second limit不符合这一承诺。如果您存储用户的喜欢,通知以及不存储在Firestore中的内容,我想很容易超过该限制。我有什么想念的吗?此限制仅适用于新文档还是适用于文档更新?
先谢谢了。
答案 0 :(得分:2)
我不熟悉GCP产品,但是我对其他云的经验表明您可以执行以下操作:
这些技巧可能无法完全回答您的问题,但是我希望与我分享经验可以帮助您找到全面的解决方案。
答案 1 :(得分:2)
Firestore专为可扩展性强的 read 操作而设计。具体地说,它的成名主要在于,无论您要查询的集合中有多少数据,运行特定查询都将花费固定的时间。因此,如果您要从包含10K文档的集合中读取10个文档,并且要花费(例如)1秒,那么当有10M文档或10B文档时,可以确保相同的读取(在相同的客户端条件下)需要1秒在那个集合中。
Cloud Firestore的写入吞吐量限制主要由物理限制决定。 10K文档/秒是一个,但是您更有可能遇到每秒大约写一次每个文档的限制。这些限制的原因在于Firestore的其他保证。例如:Firestore保证写操作的即时一致性;因此,一旦写入操作完成,任何客户端都不会从服务器获取较旧的数据。为此,它必须在确认写入之前更新多个数据中心中数据的所有索引,这仅需要花费一定的时间,从而导致其对写入吞吐量的限制。同样,这些选择也有其他限制。
如果您需要更高的写入吞吐量并愿意接受其他性能保证,则可能需要寻找另一个满足这些需求的数据库。