我正在嘗試使用set
api來設置Firebase中的對象。該對象相當大,序列化的json大小爲2.6 MB。根節點有大約90個孩子,並且在json樹中大約有10000個節點。在Firebase中加載批量數據
set
api似乎掛起,並沒有調用回調。 這似乎也會導致Firebase實例出現問題。
有關如何解決此問題的任何想法?
我正在嘗試使用set
api來設置Firebase中的對象。該對象相當大,序列化的json大小爲2.6 MB。根節點有大約90個孩子,並且在json樹中大約有10000個節點。在Firebase中加載批量數據
set
api似乎掛起,並沒有調用回調。 這似乎也會導致Firebase實例出現問題。
有關如何解決此問題的任何想法?
由於這是一個常見的要求,我會繼續並將Robert和Puf的註釋合併爲其他人的答案。
有一些工具可用於幫助處理大數據導入,例如firebase-streaming-import。他們在內部執行的操作也可以很容易地爲自己動手製作:
1)使用GET request和shallow=true獲取沒有下載所有數據的密鑰列表。可能根據應用程序的數據結構和動態性遞歸執行此操作。
2)在某種節制方式中,使用PUT requests或API的set()方法將「塊」上載到Firebase。
這裏要記住的關鍵組件是請求中的字節數和請求頻率將影響其他查看應用程序的性能,並且還會計入您的帶寬。
一個很好的經驗法則是,您不希望在導入過程中每秒執行超過100次寫入操作,最好低於20次以最大化其他用戶的實時速度,並且應該保留數據塊在低MB中 - 當然不是GB塊。請記住,所有這些都必須通過互聯網。
將JSON解析爲一個對象並以較小的塊創建節點。 –
另請參閱https://github.com/firebase/firebase-streaming-import –