簡體   English   中英

Firebase 和笛卡爾公共讀取

[英]Firebase and cartesian public reads

我正在開發一種顯示跑步比賽結果的產品。 比賽可能有成千上萬的參與者。 因此,在中型活動之后的幾天內,可能有 3000 個未經身份驗證的用戶想要瀏覽 3000 個結果。

雖然不是每個訪問者都會查看所有結果,但 3000 * 3000 的最大損壞將是 9,000,000 次讀取,按 0.06 美元(谷歌雲定價)將花費 540,000 美元(更新:我是個傻瓜,我錯過了“每 100,000 個文檔” " 部分,所以這只會是 540 美元)。

顯然,我不會為每次訪問提供所有 3000 個結果 - 會有分頁和限制。 不過,這些成本的可能性本身就有些可怕。

問題:

  • 對於這類產品,Firebase 只是錯誤的技術嗎?
  • firebase 不是真的適用於未經身份驗證的應用程序嗎? 顯然,DDOS 成為公眾訪問的一個問題,FB 對此沒有真正的保護。

我讀過的每一篇關於這些主題的文章都假定開發人員正在為經過身份驗證的用戶構建應用程序。

9,000,000 次讀取,0.06 美元(谷歌雲定價)將花費 540,000 美元

0.06 美元的Firestore 定價適用於 100,000 次文檔讀取,因此 900 萬次文檔讀取的成本為 540 美元。

除此之外:您應該以確保您讀取用戶實際看到的數據的方式對數據進行建模。 例如,如果所有用戶都將閱讀全部 3,000 個文檔,請考慮使用數據包將其分發給他們。

實際上,每個用戶更有可能只閱讀文檔的一個子集,而不是全部 3,000 個文檔。 因此,請考慮是否可以將他們將閱讀的部分組合成更具成本效益的結構。 如果這些是新聞文章:您可以將前 100 篇文章的標題和介紹段落存儲在一個文檔中,然后在每個客戶端啟動時將該文檔(我們稱之為frontpage )讀入。

根據您的應用程序的用例,還有更多方法可以對數據進行建模。 要了解有關如何考慮此類數據建模的更多信息,我建議閱讀NoSQL 數據建模並觀看優秀的了解 Cloud Firestore視頻系列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM