MongoDB背景(数据库,DBMS,RDBMS,NO SQL之间的关系)

本来要写MongoDB的文章,为了对他有个全面的了解(大局观),就从数据库开始说起吧

文章概览


数据库与DMBS


数据库

是什么

按照数据结构组织、存储和管理数据的仓库

为什么用

计算机本身就是处理数据用的机器,我们知道应用程序(程序数据)需要运行在内存中,靠CPU运算。然鹅,如果把数据存储到内存,一旦程序结束或者计算机断电,程序数据自动丢失,所以把数据放到硬盘中。在硬盘中把数据组织起来,我们叫数据库

DBMS(数据库管理系统)

是什么

一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,说白了,管理数据库的软件

两者关系,见下图(图片来自百度百科)

如果不那么严格分明,人们通常把数据库管理系统就叫作数据库


RDBMS与NO SQL


DBMS(数据库管理系统)主要分为两种

  • RDBMS
  • NO SQL

两者区别与联系

  RDBMS NO SQL
是什么 关系型数据库 非关系型.
分布式
不提供ACID
数据库设计模式(Not Only SQL)
为什么用 解决统一当时复杂化
的数据模型如树型,星型等
超大规模数据存储不适用RDBMS
存储形式

二维表

描述实体,及实体间的关系

没有预定义的模式

键值存储

列存储

文档存储

图形存储

优点 严格一致性(ACID属性)
结构简单

高可扩展性
分布式计算

架构灵活

缺点 不适合大规模数据
复杂查询功能差
没有标准化
最终一致是不直观的程序

NO SQL与MongoDB


MongoDB

  • MongoDB是NO SQL中的一种,存储形式为文档,数据结构由键值对组成
  • MongoDB文档类似于JSON对象,在这个里面叫BSON
  • 字段值可以包含其他文档,数组及文档数组,见下图(来自菜鸟教程)

发布了156 篇原创文章 · 获赞 49 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/shang_0122/article/details/103641599