2012-03-27 1 views

Répondre

10

Je suis passé de db4o (OODB) à RavenDB (document DB). La grande différence, que j'ai trouvée, est que les DB d'objets stockent les objets complets, et lorsqu'un objet est stocké avec un autre objet, ce sous-objet est stocké en entier et c'est la dernière version de cet objet. Avec un document DB, les objets sont toujours stockés, mais ils sont organisés différemment. Un objet agrégat/racine stockera parties d'un sous-objet de sorte que l'objet agrégat/racine soit autonome. Lorsque vous récupérez l'objet racine, vous ne tirez pas sur les objets qui lui sont liés.

Un OODB stockerait une équipe de cette façon:

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

Un document DB stockerait une équipe de cette façon:

TeamName 
City 
List<string> PlayerNames 

PlayerNames seraient stockés ici, parce que c'est toute l'équipe besoins de l'objet.

RavenDB a une bonne explication de la théorie du document DB ici:

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

Questions connexes