NoSQL和MongoDB

 NoSQL(NoSQL=Not Only SQL),意即“不仅仅是SQL”。关系数据库关注在关系上,NoSQL关注在存储上。

发展背景

(1)传统关系型数据库遇到了性能瓶颈。

  • 高并发读写(High performance)
  • 对海量数据的高效率存储和访问(Huge Storage)
  • 对数据库的高可扩展性和高可用性(High Scalability && High Availability)

(2)关系数据库的很多主要特性无用武之地

  • 数据库事务一致性需求 
  • 数据库的写实时性和读实时性需求 
  • 对复杂的SQL查询,特别是多表关联查询的需求 

分类

              

特点

  • 易扩展
  • 大数据量,高性能
  • 灵活的数据模型
  • 高可用

 

什么是MongoDB?

      MongoDB的名字来自于“humongous”(不知道是什么),它是一个开源的,面向文档的数据库,并且是领先的非关系型数据库。

  MongoDB是由C++语言编写的,是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便。

为什么要使用MongoDB?

    1、Document-Oriented Storage(面向文档的存储)

    2、Full Index Support(对任何属性可索引)

    3、Replication&High Availability(复制和高可用性)

    4、Auto-Sharding(自动分片)

    5、Quering(丰富的查询)

    6、Fast In-Place Updates(快速地更新)

MongoDB比RDBMS的优势

    1、架构:MongoDB是文档型数据库,其中一个集合保存不同的不同的文件。字段的数量,内容和该文件的大小可以是不同于从一个文件复制到另一个。

    2、一个单一的对象是结构清晰。

    3、没有复杂的连接

    4、深查询能力。 MongoDB支持动态查询使用基于文档的查询语言,如SQL几乎一样强大的文件

    5、调优

    6、易于规模化:MongoDB是易于扩展

    7、不需要数据库对象的应用程序对象转换/映射

    8、使用内部存储器存储(窗口)工作组,从而实现更快的数据存取

MongoDB在什么情况下使用?

   1、大数据

   2、内容管理和交付

   3、移动和社交基础设施

   4、用户数据管理

   5、数据平台

posted @ 2016-06-29 15:22  sweetyu  阅读(261)  评论(0编辑  收藏  举报