一分钟玩转 MongoDB

2020-03-12 16:02:51 浏览数 (1)

一分钟玩转 MongoDB

MongoDB是什么?

MongoDB 是个可扩展、高性能、开源、面向文档(document-oriented)的,由c 实现的,介于关系数据库和非关系数据库之间,基于分布式文件系统存储的开源数据库产品。目前最新版本: 4.2

1、MongoDB名字由来

摘自英文俚语 humongous,意为“巨大”,可能也是 MongoDB 设计之初的理念,为处理大数据而生。

2、主要特点

  • 面向文档存储的数据库
  • 支持任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")。
  • 相对传统数据库有更强的扩展性
  • 分布式
  • 查询表达式丰富。查询指令使用JSON形式的标记
  • 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段
  • Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
  • GridFSMongoDB中的一个内置功能,可以用于存放大量小文件。

3、专业术语表

3.1 概念/术语

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

table

joins

表连接,MongoDB不支持

primary

key

primary key 主键,MongoDB自动将_id字段设置为主键

3.2 RDBMS/MongoDB术语

RDBMS

MongodbDB

数据库

数据库

表格

集合

文档

字段

表联合

嵌入文档

主键

主键 (MongoDB 提供了 key 为 _id )

4、RDBMS vs NoSQL

4.1 RDBMS

  • 高度组织化结构化数据
  • 结构化查询语言(SQL) (SQL)
  • 数据和关系都存储在单独的表中。
  • 数据操纵语言,数据定义语言
  • 严格的一致性
  • 基础事务

4.2 NoSQL

  • 代表着不仅仅是SQL
  • 没有声明性查询语言
  • 没有预定义的模式
  • 键 - 值对存储,列存储,文档存储,图形数据库
  • 最终一致性,而非ACID属性
  • 非结构化和不可预知的数据
  • CAP定理
  • 高性能,高可用性和可伸缩性

5、 NoSQL的优点/缺点

5.1 优点

  • 高可扩展性
  • 分布式计算
  • 低成本
  • 架构的灵活性,半结构化数据
  • 没有复杂的关系

5.2 缺点

  • 没有标准化
  • 有限的查询功能(到目前为止)
  • 最终一致是不直观的程序

6、与MySQL/pgSQL对比

6.1 底层存储引擎不同

  • InnoDB
  • mongoDB

6.2 应用场景不同

  • 关系型数据库
    • 这些数据通常需要做结构化查询,比如join,这时候,关系型数据库就要胜出一筹
    • 这些数据的规模、增长的速度通常是可以预期的
    • 事务性、一致性
  • 非关系型数据库
    • 这些数据通常用于模糊处理,如全文搜索、机器学习
    • 这些数据是海量的,而且增长的速度是难以预期的,
    • 根据数据的特点,NoSQL数据库通常具有无限(至少接近)伸缩性
    • 按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差
  • MongoDB应用场景
    • 表结构不明确且数据不断变大 MongoDB是非结构化文档数据库,扩展字段很容易且不会影响原有数据。内容管理或者博客平台等,例如圈子系统,存储用户评论之类的。
    • 更高的写入负载 MongoDB侧重高数据写入的性能,而非事务安全,适合业务系统中有大量“低价值”数据的场景。本身存的就是json格式数据。例如做日志系统。
    • 数据量很大或者将来会变得很大 Mysql单表数据量达到5-10G时会出现明细的性能降级,需要做数据的水平和垂直拆分、库的拆分完成扩展,MongoDB内建了sharding、很多数据分片的特性,容易水平扩展,比较好的适应大数据量增长的需求。
    • 高可用性 自带高可用,自动主从切换(副本集) 按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差

●ss的篡权

●AWK 专家必备的12个技巧

●远程工作日报!这样的才是老板想要的

●又一起删库跑路事件:微盟系统遭遇运维破坏

●微盟?出行巨头携程2015年的全站瘫痪还有多少人记得?

●价值100万的黄金人脉管理课程

●疫情之下,带给IT人哪些思考?

●曾经,我以为裁员降薪离我们很远

●提问的艺术

●IT人如何快乐的胖瘦自如

0 人点赞