我正在爲Android製作一個即時通訊應用程序,並在後端使用Java和應用程序引擎。在處理海量數據時,在數據存儲中定義實體的正確方法是什麼?
要在後端存儲對話和消息,我有2個選項(如我所見)來存儲數據。
創建2個根實體: 對話(ID,消息ID)和消息(ID,「text」)。
OR
會話(ID)消息(會話實體的孩子)(ID, 「文本」)
雖然在技術上都可以工作,我不明白有關數據存儲的限制(如1對於某些實體,寫/秒),在查詢時擔心CPU開銷,並且可能有數百萬個消息根條目。我想我不確定是否需要祖先實體,或者最適合這樣的應用。
tl; dr構建這樣一個數據庫的最佳方式是什麼?
這正是我所想的/擔心的。謝謝你對我的確認很清楚。 – Japes
你編輯讓我困惑。我認爲數據存儲在acestral結構中只允許1次寫入/秒。所以在一個可以讓很多人快速發送消息的羣體對話中,這種對話是有限的。 我想如果結構和寫入速度有限制,爲什麼我不能在根中創建所有類型? – Japes
但是每個獨特的對話是在兩個人之間對嗎?他們不會那麼快寫下來,如果他們在爆發時做出來,你可以用指數回退來處理 –