MongoDB之学习【一】:初识Mongo,路远道长,绵绵不绝

什么是NoSQL

NoSQL就是Not only SQL的缩写,它指的是非关系型的数据库,是以key-value的结构存在的存储,和传统的关系型数据库不同,但是,它遵循的SQL标准,以及ACID属性、表结构等等。特点是:非关系型、分布式、开源、水平可扩展。

NoSQL的发展现状

目前,国内正在应用NoSQL的网站有很多,比如新浪微博,优酷运营数据分析,豆瓣等,都有用NoSQL数据的。

为什么要使用NoSQL数据库

随着互联网的不断发展,各种类型的应用层出不穷,尤其是云计算时代的到来,对技术提出了更多的要求。虽然关系型数据库在业界已经枝繁叶茂,但是,它本身的局限性,在某些时候, 还是很难满足这些需求:扩展困难、读写慢、成本高、有限的支撑容量。而NoSQL关注的点就在对数据高并发的读写和对海量数据的存储等,与关系型数据库相比,它们在架构和数据模型方面做了“减法”,而在扩展和并发等方面做了“加法”。

NoSQL数据库的优缺点

优势方面,有以下几点:
1、简单的扩展
2、快速的读写
3、低廉的成本
4、灵活的数据模型

不足的方面,有以下几点:
1、不提供对SQL的支持
2、支持的特性不够丰富
3、现有产品的不够成熟

认识MongoDB

MongoDB是一个介于关系型和菲关系型数据库之间的产品,是非关系型数据库中功能最丰富,最像关系型数据库的数据库,语法有点类似JS的面向对象的查询(很多时候,都可以按照Js的语法来进行相关操作),它是一个面向集合的,模式自由的文档型数据库。

MongoDB的组成

集合
数据被分组存储在数据中成为一个集合,每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数据的文档。集合的概念类似于关系型数据库中的表,不同的是,它不需要定义任何模式。

模式自由
MongoDB的集合里没有列和行的概念,下面两个集合可以存储在同一个集合里
{“name”:”mongo”}
{“type”:”db”}

文档型
我们存储的数据都是以键值对的型存在,键是字符串,值可以是任何类型,包含数组和文档,每个文档相当于关系型数据库中的每行记录。

MongoDB的特性

MG的特点就是高性能、易部署、易使用,存储数据非常方便,主要的特性有:
1、面向集合存储,易于存储对象类型的数据
2、模式自由
3、支持动态查询
4、支持完全索引,包含内部对象
5、支持复制和故障恢复
6、使用高效的二进制数据存储,包括大型的对象(如视频)
7、自动处理碎片,以支持云计算层次的扩展性
8、文件存储的格式为Bson(Json的扩展),不容被破坏

MongoDB的适用场景

1、持久化缓存层
2、高效的实时性
3、用于对象及JSON数据的存储
4、高伸缩性的场景
5、大尺寸,低价值的数据存储

MongoDB不适用的场景

1、要求高度事务性的系统
2、传统的商业智能应用
3、复杂的多表查询
发布了59 篇原创文章 · 获赞 2 · 访问量 5587

猜你喜欢

转载自blog.csdn.net/LDR1109/article/details/100943237