2012-04-17 56 views
2

在我們的網絡應用程序中,我們有大量的數據與每個用戶相關聯。所以我們正在考慮爲每個用戶分配一個單獨的數據庫。因此,這將需要一個大的號碼。的數據庫。MongoDB - 大量的數據庫

所以,我的問題是 - 是否有限制沒有。的數據庫,like there is a 24,000 limit集合在單個數據庫中。

編輯

事實上,我們決定有一個單獨的數據庫爲每個用戶 - 這並不表示以任何方式設計錯誤?

實際上,Web應用程序是一種庫存系統(略比這更復雜),我們必須與每個用戶(更不用提他們的會話數據也)相關的信息小塊的很多 - 我們需要存儲在數據庫中。

我們已決定使用數據庫中的集合來存儲與用戶相關的信息的差異「類型」。由於Mongo DB沒有比「集合」更高級別的抽象,我們被迫使用單獨的數據庫來分隔用戶。

+0

接受更多答案。不用擔心答案,雖然你的問題「這是否表明以任何方式錯誤的設計」可以安全地回答「是」。 – 2012-04-17 12:38:44

+3

我在大約120個數據庫和大約689的災難發生後開始出現問題。日誌沒有提供真正的提示,但mongo(v2.2.0)不會再次啓動。即使像show dbs這樣的東西也會失敗 – thanos 2014-02-10 16:37:31

回答

4

如果您爲每個用戶使用一個數據庫,並且數據庫之間沒有數據流,那麼沒有限制,因爲您可以將某個胖客戶端的數據庫始終放在其自己的服務器上。

如果你正在談論分片羣,那麼我認爲你很好。您擁有的數據庫越多,內存配置服務器將使用的內存越多。當配置服務器超過它的機器時,那麼你知道你有很多數據庫。

+0

是的,兩個用戶之間絕對沒有數據流。但我想知道MongoDB系統是否可以像數百萬數據庫一樣。 – treecoder 2012-04-17 12:30:35

+0

@good_computer:我懷疑有人試過。但從我所知道的情況來看,它應該沒問題(使用集羣時)。如果您不使用集羣,那麼您肯定不會遇到問題,因爲數據庫將位於自己的mongodb服務器上。 – 2012-04-17 12:37:04