MongoDB 简介

1.关于NOSQL

NoSQL,(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,指的是非关系型的数据库。

2.关于WEB2.0

随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题

1)High performance - 对数据库高并发读写的需求

2)Huge Storage - 对海量数据的高效率存储和访问的需求

3)High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求

在上面提到的“三高”需求面前,关系数据库遇到了难以克服的障碍,而对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地

1)数据库事务一致性需求

2)数据库的写实时性和读实时性需求

3)对复杂的SQL查询,特别是多表关联查询的需求

关系数据库在这些越来越多的应用场景下显得不那么合适了,为了解决这类问题的非关系数据库应运而生,与传统的关系数据库的对比,特点有

1)灵活的数据模型

2)大数据量,高性能

3)易扩展

4)高可用

2.MongoDB

MongoDB是一个基于分布式文件存储的NOSQL。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

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

1)丰富的数据模型

MongoDB没有模式,它采用面向文档的数据模型,文档的键不会事先定义也不会固定不变

2)容易扩展

MongoDB可以自动在多台服务器之间分割数据,还可以平衡集群的数据和负载,自动重排文档

3)功能丰富

--支持索引

--存储JavaScript,可用于实现RDBMS中的存储过程

--聚合

--固定集合

--文件存储

----为了提高扩展性,不支持联接和复杂的多行事务

4)高性能

--使用MongoDB传输协议作为与服务器交互的主要方式

--对文档进行动态填充,预分配数据文件(试图为每一个数据库保留一个额外的空数据文件,来避免文件分配所产生的阻塞),用空间换取性能的稳定

--默认的存储引擎中使用了内存映射文件,将内存管理工作交给操作系统去处理

--动态查询优化器会“记住”执行查询最高效的方式

5)易于管理

尽量让服务器自治来简化数据库的管理

4.参考资源

NOSQL http://baike.baidu.com/link?url=lDAm05kXHf6ZZdNhEB-Diu7tOSK3w_oOI2TqXnnwTA0eL5jd0nEwSJYsiLmgclXtQCxAaAM8BMOXPy7_tHJilq

MongoDB http://baike.baidu.com/subview/3385614/9338179.htm?fr=aladdin

《MongoDB权威指南》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值