2010-01-13 35 views
3

我來自MySQL背景,我對面向文檔的數據庫,特別是CouchDB感興趣。我感興趣的其中一件事是數據完整性。面向文檔的數據庫如何處理這個問題?例如,在RDBMS中,有許多方法可以防止記錄重複,或者保證如果你有一點信息,就會有另一個,或者根本沒有。做文件導向的數據庫有沒有完整性?

我猜更廣泛的,我的問題是,在RDBMS中切什麼樣類型的問題出來,相比DODBes用於問題?我看了一些其他stackoverflow問題的解釋,但沒有找到任何好的。

而且,我在工作中的數據庫,我做了很多報告,以總結和平均值,並歷史趨勢。這適用於面向文檔的數據庫嗎?

回答

2

大部分文檔的數據庫都僅支持非常有限的完整性或不完整性檢查。他們依靠應用程序來確保數據是正確的。我可以告訴你它是如何在CouchDB中。

到第二部分。我認爲RDBMS在報告和分析數據方面做得非常好。事實上,您可以使用連接,聚合,函數等對數據運行復雜的查詢,這使得RDBMS成爲一個非常強大的報表工具。 文檔數據庫確實非常適合存儲'實時'應用程序數據。將檢索對象圖存儲到文檔數據庫非常容易。無模式設計可以輕鬆擴展新應用程序功能的模型。但是,這隻有在您可以將應用程序數據分成好文檔時纔有效。否則,你會失去很多優雅。

如果你想這樣做主要是報告,我寧願一個RDBMS。當存儲大量平坦,簡單的記錄時,很容易進行報告。工具等非常適合報告。然而,當想要對複雜的結構化數據進行報告時,您可能更願意使用其他數據庫而不是RDBMS。

然而,這並不意味着你需要限制自己RDBMS。你可以結合這兩種技術。想象一下博客軟件。您可以將「實時」應用程序數據(如博客帖子和評論)存儲到文檔數據庫中。用於報告的數據(如點擊和登錄統計信息)存儲在RDBMS中。另見Rob Conerys post

相關問題