В чем разница между объектно-ориентированной и документной базой данных? - PullRequest
9 голосов
/ 27 марта 2012

В чем разница между объектно-ориентированной и документной базами данных?

Я не использовал объектно-ориентированные базы данных, но когда я использую базу данных документов (RavenDb), я храню и читаю обычные объектно-ориентированные классы безпроблемы.

1 Ответ

10 голосов
/ 27 марта 2012

Я перешел с db4o (OODB) на RavenDB (документ DB).Большая разница, которую я обнаружил, заключается в том, что объектные БД хранят полные объекты, и когда объект хранится вместе с другим объектом внутри него, этот подобъект сохраняется полностью, и это самая последняя версия этого объекта.В базе данных документов объекты по-прежнему хранятся, но они организованы по-другому.Агрегатный / корневой объект будет хранить частей подобъекта, так что агрегатный / корневой объект будет автономным.При извлечении корневого объекта вы не тянетесь и не захватываете связанные с ним объекты.

OODB будет хранить команду следующим образом:

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

ADocument DB будет хранить команду таким образом:

TeamName
City
List<string> PlayerNames

Здесь будут храниться PlayerNames, потому что это все, что нужно объекту команды.

RavenDB имеет хорошее объяснение теорииБД документов здесь:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...