0
我必須在一個集合中存儲大約10億個mongodb文檔的原始數據。 這是個好主意嗎?我們可以分解這個單一的集合?我的應用程序通常像單獨編寫許多讀取操作一樣工作。並且我必須設計集合,以高效的方式支持集合功能。關於MongoDb模式設計的建議
是否有可能將這個集合分爲多個集合每月明智?或者我可以保留它在sigle集合本身?哪一個會是個好主意?
請建議。
我必須在一個集合中存儲大約10億個mongodb文檔的原始數據。 這是個好主意嗎?我們可以分解這個單一的集合?我的應用程序通常像單獨編寫許多讀取操作一樣工作。並且我必須設計集合,以高效的方式支持集合功能。關於MongoDb模式設計的建議
是否有可能將這個集合分爲多個集合每月明智?或者我可以保留它在sigle集合本身?哪一個會是個好主意?
請建議。
我想回答你的問題依次是:
這是一個好主意?
取決於數據的真實大小。一般來說,MongoDB可以輕鬆處理billions of documents in one collection。考慮到文檔的最大大小,您應該保留16MB的限制。
我們可以分解這個單一的集合嗎?
是的,您可以將您的收藏分佈在多個分片上。 The official documentation可以幫助你。
是否有可能每月明智地將這個集合分成多個集合?或者我可以保留它在sigle集合本身?哪一個會是個好主意?
喜歡#1,這取決於。如果在你的用例中可能的話,我會選擇第二個(保存在一個集合中)。每個月開始創建一個新集合時,您可能會遇到一些問題,例如查詢兩個集合中的數據。