一、数据库
MongoDB作为2016年数据库流行度排行榜第四位的数据库,其受欢迎程度也是越来越高。
数据库:Database,是按照数据结构来组织,存储和管理数据的仓库。它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,这里大致分为两类:关系型数据库和非关系型数据库,总的来说数据库是用来存放大数据的,而对数据库的操作就是CURD(增删改查)。
1.1 数据库
1、关系型数据库
关系型数据库,是指采用了关系模型来组织数据的数据库,在关系型数据库中,所有的数据都通过行和列的二元表现形式表现。如:MySQL,Oracle,SQLServer等(MySQL作为一款开源的免费数据库,在国内是相当流行的哦)。
2、非关系型数据库:NoSQL,如MongoDB,SQLite(移动端的主要数据库),非关系型数据库是除关系型数据库外的其他数据库的总称,所以也叫 Not only SQL。与前面说到的关系数据库以行和列的二元表形式存储数据不同的是,MongoDB这类非关系型数据库是在键值对的形式存储数据的,类似于JSON对象写法的Key=Value形式。
1.2 MongoDB简介
MongoDB是一个基于分布式文件存储的数据库。(分布式:物理上不在一起,是分开的。例如一个网页里面有html标签,该页面中加载了css样式,图片,还有视频,这些资源中,html,js,css可能在服务器A上面,图片可能在服务器B上面,视频可能在服务器c上面。)
当数据量大时,可以把MongoDB分布部署到服务器上,因为MongoDB是用C++语言编写的,所以它的运行效率是非常高的,MongoDB在NoSQL型数据库中用得是最多的,它是开源(当你觉得它的功能不能满足你时,你可以自己在它的源码基础之上操作),免费的,操作简单的。
优点及特点:
1、使用高效的二进制数据存储,包括大型对象(如视频等)。
2、文件存储格式为BSON(一种JSON的扩展)
3、支持完全索引,包含内部对象。
4、面向集合存储,易存储对象类型的数据。1.3 BSON
BSON:Binary JSON, 是一种类似json的二进制形式的存储格式,支持内嵌的文档对象和数据对象。BSON作为一种数据交换格式, BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想
特点:轻量性,可遍历性,高效性。1.4 非关系型数据库与关系型数据库的区别
非关系型数据库:
1、性能:nosql是基于键值对的,可以想象成表中的主键和值的对应关系,所以性能非常高
2、可扩展性:同样也是基于键值对,数据之间没有耦合性,所以非常容易水平扩展
关系型数据库:
1、复杂查询:非关系型的复杂查询只是针对一个表,而关系型数据库的复杂查询是可以多个表的查询的(join的多表查询机制)。可以用SQL语句方便的在多个表之间做非常复杂的数据查询。
2、事务支持
一系列的操作合并起来完成一个操作叫事务,使得对于安全性能很高的数据访问要求得以实现
1、数据库功能是用来存储数据的。
2、数据库分为关系型数据库和非关系型数据库
3、传统的关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档的。
4、非关系型数据库文件存储格式为BSON(一种JSON的扩展。)