保持对代码的热爱并保持怀疑态度

mongodb和sql的区别

MongoDB 是一个基于分布式文件存储的数据库。

由 C++ 语言编写,是一个开源数据库系统。

旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。

MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

关系型数据库(mysql)与非关系型数据库(mongodb)的区别:

mongodb和sqlserver效率对比 mongodb数据库和sqlserver区别_node

了解两方的优缺点以及特性:

关系型数据库:

特性:

  • 关系型数据库是指采用了关系模型来组织数据的数据库
  • 关系型数据库的最大特点就是事务的一致性
  • 简单来说,关系模型指的就是二维表格模型,关系型数据库就是由二维表及其之间的关联组成的数据组织

特性:

  • 容易理解
  • 使用方便
  • 易于维护
  • 支持SQL,可用于复杂的查询

缺点:

  • 为了维护一执行需要消耗大量的性能,影响读写
  • 固定的表结构
  • 高并发读写需求
  • 海量数据的高效率读写

非关系型数据库:

特性:

  • 使用键值对存储数据
  • 分布式
  • 不支持ACID特性
  • 非关系型数据库严格上来说,不算是一种数据库,应该是一种数据结构化存储方法的集合

优点:

  • 无需经过sql层的解析,读写性能高;
  • 基于键值对,数据没有耦合性,容易扩展;
  • 存储数据的格式,nosql使用key:val的形式,文档的形式,图片形式等等,而关系型数据库则只支持基础类型

缺点:

  • 不提供sql支持,学习成本高
  • 无事务处理,附加功能和报表支持也不好