2012-02-29 51 views

回答

2

在完全規範化的關係數據庫中,每個插入通常需要在其他表(和其自己的表)中進行多次查找以保持數據完整性(FK)。這通常是一件好事,但需要時間。通常情況下,您需要一次更新不同表中的多個行,導致更多查找和事務開銷。

查詢數據庫通常還需要查看許多不同的表併合並它們。

另一方面,mongoDB文檔是一個更簡單的構造。每個集合都像一個大的非規範化表,但所有的字段都是可選的(但仍然是可索引的),所以幾乎沒有空間開銷(與具有相同設置的關係數據庫相比)。

,提供在複雜查詢的成本靈活性和速度以及去除數據完整性邏輯從服務器向客戶端(客戶端數據庫,而不是最終用戶的客戶端;))。

兩個有它的用途,但是那已經正常了這個問題:「我們需要不同從關係數據庫的東西嗎?」現在應該是「我們需要比文檔數據庫更復雜的東西嗎?」 imo,絕大多數項目不會。

0

我認爲,如果你很高興與關係型數據庫給你的任務,你不必切換到MongoDB的。我認爲mongodb應該比rdbms更簡單。對於一些任務,我想我認爲你可以從mongodb中的靈活模式中獲益。我認爲這主要是有意義使用一些數據庫的具體任務進行討論。