2012-03-27 106 views

回答

10

我從db4o(OODB)轉到RavenDB(文檔DB)。我發現,最大的區別是對象數據庫存儲完整的對象,並且當一個對象與另一個對象一起存儲時,該子對象被完整存儲並且是該對象的最新版本。對於文檔數據庫,對象仍然存儲,但它們的組織方式不同。聚合/根對象將存儲子對象的部分,以便聚合/根對象是自包含的。當你檢索根對象時,你並沒有伸出手去抓取與它相關的對象。

的面向對象數據庫將存儲團隊這樣說:

TeamName 
City 
List<Player> // The entire player objects would be stored here 

文檔數據庫將存儲團隊這樣說:

TeamName 
City 
List<string> PlayerNames 

PlayerNames將被存放在這裏,因爲這是所有球隊對象需求。

RavenDB具有文件DB的理論在這裏的一個很好的解釋:

http://ravendb.net/docs/theory/document-structure-design

相關問題