美文网首页
关系模型和文档模型的区别(转)

关系模型和文档模型的区别(转)

作者: 非典型程序员 | 来源:发表于2016-08-31 21:21 被阅读124次

       关系模型需要你把一个数据对象,拆分成零部件,然后存到各个相应的表里,需要的是最后把它拼起来。举例子来说,假设我们要做一个CRM应用,那么要管理客户的基本信息,包括客户名字、地址、电话等。由于每个客户可能有多个电话,那么按照第三范式,我们会把电话号码用单独的一个表来存储,并在显示客户信息的时候通过关联把需要的信息取回来。

      而MongoDB的文档模式,与这个模式大不相同。由于我们的存储单位是一个文档,可以支持数组和嵌套文档,所以很多时候你直接用一个这样的文档就可以涵盖这个客户相关的所有个人信息。关系型数据库的关联功能不一定就是它的优势,而是它能够工作的必要条件。 而在MongoDB里面,利用富文档的性质,很多时候,关联是个伪需求,可以通过合理建模来避免做关联。

文档模型的优点:

读写效率高-由于文档模型把相关数据集中在一块,在普通机械盘上读数据的时候不用花太多时间去定位磁头,因此在IO性能上有先天独厚的优势;

可扩展能力强-关系型数据库很难做分布式的原因就是多节点海量数据关联有巨大的性能问题。如果不考虑关联,数据分区分库,水平扩展就比较简单;

动态模式-文档模型支持可变的数据模式,不要求每个文档都具有完全相同的结构。对很多异构数据场景支持非常好;

模型自然-文档模型最接近于我们熟悉的对象模型。从内存到存储,无需经过ORM的双向转换,性能上和理解上都很自然易懂。

相关文章

  • 关系模型和文档模型的区别(转)

    关系模型需要你把一个数据对象,拆分成零部件,然后存到各个相应的表里,需要的是最后把它拼起来。举例子来说,假设...

  • 单表CRUD操作

    存储:把对象模型变成关系模型加载:关系模型变成对象模型(把数据库里的记录变成实体对象) 一、get和load区别 ...

  • 【转】IO模型及select、poll、epoll和kqueue

    【转】IO模型及select、poll、epoll和kqueue的区别 (一)首先,介绍几种常见的I/O模型及其区...

  • DOM学习总结

    初识DOM DOM是Document Object Model,即是文档对象模型。 文档对象模型有三种节点关系。分...

  • DOM

    DOM Document Object Model(文档对象模型)文档对象模型 (DOM) 是HTML和XML文档...

  • 面试知识点

    盒模型: 基本概念:标准模型 + IE模型 标准模型 和 IE模型的区别标准盒模型不包括padding和borde...

  • 任务9_CSS盒模型

    课程目标 掌握盒模型相关知识点 了解IE盒模型和W3C 盒模型区别 学习建议 视频未覆盖的知识点会提供详细的文档资...

  • 使用MJExtension时用到的核心代码

    最简单的字典转模型 JSON字符串转模型 模型中嵌套模型 A模型中有数组属性T,T里面是B模型 模型中的属性名和字...

  • NoSQL数据模型设计

    NoSQL数据模型设计和关系型数据库模型设计有很大的不同,在浏览MongDB官方文档时发现有不少篇幅介绍数据模型设...

  • 复习sheet

    生成式模型和判别式模型的区别?典型模型有哪些?

网友评论

      本文标题:关系模型和文档模型的区别(转)

      本文链接:https://www.haomeiwen.com/subject/rrkcettx.html