NoSQL简介

  1. 什么是NoSQL?
    NoSQL泛指非关系型的数据库。
  2. 为什么要用NoSQL?
    很多数据不适合用高度组织化结构化的方式存储。
  3. NoSQL与关系型数据库的特点与区别

MongoDB概述

MongoDB 是一个基于分布式文件存储的数据库,使用C++编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。在高负载的情况下,添加更多的节点,可以保证服务器性能。

MonoDB特点

  1. 面向文档存储的数据库,操作起来比较简单和容易
  2. 可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
  3. 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
  4. Mongodb中的Map/reduce用来对数据进行批量处理和聚合操作。
  5. GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
  6. 强大的索引支持。地理位置索引可用于构建 各种 O2O 应用、文本索引解决搜索的需求、TTL索引解决历史数据自动过期的需求。
  7. 事务

MongoDB适用场景

  • 不需要复杂join的场景
  • 对事务要求不高的场景
  • 需要快速开发迭代的场景
  • 需要大量的地理位置查询、文本查询
  • 容易扩展 例如:存储日志、地理位置信息

参考资料