2014-01-08 93 views
0

我正在開發一個實時消息傳遞應用程序(如WhatsApp和co),我面臨着一個大問題。 應用程序本身並不像市場上存在的那樣複雜。但是,我不確定我應該使用什麼存儲系統。我有幾個想法,但我不知道哪一個更好,其他人:什麼存儲系統用於實時消息傳遞?

  • 一個簡單的mysql數據庫與消息/會話/對話關係
  • 每個對話的複製某個MongoDB中的所有用戶談話
  • 一個Redis的存儲與在對話的所有用戶重複對話。

我不知道哪一個是我想要做的更好。如果你有一些建議,所以我可以選擇正確的解決方案。 (或者如果我沒有列出一個解決方案,甚至更好:))

注:我的API在Ruby on Rails的developped(如果這能幫助做出決定)

回答

1

數據量和數量的讀/寫應該是導致您決定的關鍵因素。如果數據量和讀/寫數量不會很大,你可以使用mysql。我相信每分鐘有幾百次讀/寫數據的TB數據庫就是SQL數據庫領域。除此之外,它是NoSQL世界。但是,如果選擇NoSQL解決方案,則應該準備好處理非SQL數據存儲設計的複雜性,查詢實現以及實現最終一致性。祝一切順利!