0


史上最全MongoDB之初识篇

MongoDB系列文章目录

  • 史上最全MongoDB之初识篇

如果本文对你们的开发之路有所帮助,请帮忙点个赞,您的支持是我坚持写博客的动力

前言

本系列课程将带着大家以面试题的方式 深入分布式专题之MongoDB。这篇文章带着大家初识MongoDB

什么是MongoDB

  • MongoDB是一个基于 分布式文件存储 的数据库。由C++语言编写。
  • 支持的数据结构非常松散,数据格式是 BSON
  • 支持动态查询
  • 支持复制和故障恢复
  • 支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言

BSON(binary json)与JSON的区别

  • Binary JSON ,和JSON一样支持内嵌的文档对象和数组对象,因此可以存储比较复杂的数据类型
  • BSON 具有更快的遍历速度
  • BSON 操作更简易
  • BSON 增加了额外的数据类型

MongoDB 历史版本

  • 2012年05月23日,MongoDB2.1 开发分支发布了! 该版本采用全新架构,包含诸多增强。
  • 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
  • 2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功能增强以及bug修复。
  • 2013年08月20日,MongoDB 2.4.6 发布。
  • 2013年11月01日,MongoDB 2.4.8 发布。
  • 2017年03月17日,MongoDB 3.0.1发布。
  • 2018年08月06日,MongoDB 4.0.2发布,支持多文档事务。
  • 2019年08月13日,MongoDB 4.2.0 发布 ,引入分布式事务。

MongoDB 与关系型数据库(RDBMS)对比

共同点

关系型数据库(RDBMS)MongoDB数据库(database)数据库(database)表(table)集合(collection)行(row)文档(document)列(column)字段(field)索引(index)索引(index)主键(primary key)_id(字段)视图(view)视图(view)表链接(table join)聚合操作($lookup)

不同点

  • MongoDB具有半结构化特点。不需要进行字段声明,且集合中字段不需要完全相同
  • MongoDB没有外键约束,表连接需要使用聚合管道技术($lookup)实现

MongoDB 名称解释

名词解释数据库(database)可以理解为逻辑上的名称空间,一个数据库包含多个不同名称的集合集合(collection)相当于关系型数据库(RDBMS)中的表文档(document)一个文档相当于数据表中的一行,由多个不同的字段组成字段(field)文档中的一个属性,等同于关系型数据库(RDBMS) 的 列(column)索引(index)独立的检索式数据结构,与SQL概念一致_id每个文档中都拥有一个唯一的id字段视图(view)虚拟的(非真实存在的)集合,与SQL中的视图类似,其通过聚合管道技术实现聚合操作($lookup)用于实现"类似"表连接(tablejoin)的聚合操作符

MongoDB 相比其他数据库的优势

  • 文档存储 MongoDB 采用BSON/JSON文档存储数据
  • 扩展性高且高可用 MongoDB 支持数据分片,复制集提供99.999%高可用
  • 易于查询 JSON 结构和对象模型接近,开发代码量低
  • 安全性高 MongoDB客户端生成的查询为BSON对象,降低了SQL注入的攻击的危险
标签: mongodb 数据库 nosql

本文转载自: https://blog.csdn.net/janyxe/article/details/125318083
版权归原作者 jany xe 所有, 如有侵权,请联系我们删除。

“史上最全MongoDB之初识篇”的评论:

还没有评论