首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向对象的数据库和文档数据库有什么不同?

面向对象的数据库和文档数据库有什么不同?
EN

Stack Overflow用户
提问于 2012-03-27 14:30:11
回答 1查看 2K关注 0票数 9

面向对象的数据库和文档数据库有什么不同?

我没有使用面向对象的数据库,但是当我使用文档数据库(RavenDb)时,我可以毫不费力地存储和读取常见的面向对象的类。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-27 21:28:06

我从面向对象数据库( db4o )转到了RavenDB (文档数据库)。我发现,最大的不同之处在于,对象数据库存储了完整的对象,当一个对象与另一个对象一起存储在其中时,该子对象是完整存储的,并且是该对象的最新版本。对于document DB,仍然存储对象,但它们的组织方式不同。聚合/根对象将存储子对象的部分,以便聚合/根对象是自包含的。当您检索根对象时,您并没有伸手去抓取与其相关的对象。

OODB会这样存储一个团队:

代码语言:javascript
复制
TeamName
City
List<Player>  // The entire player objects would be stored here

文档DB将以这种方式存储团队:

代码语言:javascript
复制
TeamName
City
List<string> PlayerNames

PlayerNames将存储在这里,因为这是team对象所需的全部内容。

RavenDB在这里很好地解释了文档数据库的理论:

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

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9884407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档