什么是数据库?redis
- 数据库是数据的仓库。
- 与普通的“数据仓库”不一样的是,数据库依据“数据结构”来组织数据,由于“数据结构”,因此咱们看到的数据是比较“条理化”的(好比不会跟之前的普通文件存储式存储成一个文件那么不条理化,咱们的数据库分红一个个库,分红一个个表,分红一条条记录,这些记录是多么分明)
- 也由于其“数据结构”式,因此有极高的查找速率(好比B-Tree查找法),(因为专精,能够根据本身的结构特性来快速查找,因此对于数据库的查找会比较快捷;不像普通文件系统的“查找”那么通用)
- 若是与EXCEL来比的话,能明显的看出数据库的好处,咱们能给一个个“字段”添加“约束”(好比约束一列的值不能为空)
- 数据库与普通的文件系统的主要区别(原由):数据库能快速查找对应的数据
- 常说的XX数据库,其实实质上是XX数据库管理系统。数据库管理系统是一个软件,是数据库管理的程序实现。
什么是关系型数据库?数据库
- 关系型数据库是依据关系模型来建立的数据库。
- 所谓关系模型就是“一对1、一对多、多对多”等关系模型,关系模型就是指二维表格模型,于是一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
- 关系型数据能够很好地存储一些关系模型的数据,好比一个老师对应多个学生的数据(“多对多”),一本书对应多个做者(“一对多”),一本书对应一个出版日期(“一对一”)
- 关系模型是咱们生活中能常常碰见的模型,存储这类数据通常用关系型数据库
- 关系模型包括数据结构(数据存储的问题,二维表)、操做指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。
数据的存储形式:安全

关系的处理形式:数据结构

下面是一个E-R图,是多个模型一块儿用的状况:分布式

常见的关系型数据库:spa
Oracle、DB二、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQLblog
关系型数据库的特色:索引
安全(由于存储在磁盘中,不会说忽然断电数据就没有了)、内存
容易理解(创建在关系模型上)、文档
但不节省空间(由于创建在关系模型上,就要遵循某些规则,比如数据中某字段值即便为空仍要分配空间)
什么是非关系型数据库?
- 非关系型数据库主要是基于“非关系模型”的数据库(因为关系型太大,因此通常用“非关系型”来表示其余类型的数据库)
- 非关系型模型好比有:
- 列模型:存储的数据是一列列的。关系型数据库以一行做为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,IO很快,主要是一些分布式数据库)
- 键值对模型:存储的数据是一个个“键值对”,好比name:liming,那么name这个键里面存的值就是liming
- 文档类模型:以一个个文档来存储数据,有点相似“键值对”。
常见非关系模型数据库:
列模型:Hbase

键值对模型:redis,MemcacheDB

文档类模型:mongoDB
非关系型数据库的特色:
效率高(由于存储在内存中)、
但不安全(断电丢失数据,但其中redis能够同步数据到磁盘中),如今不少非关系型数据库都开始支持转存到磁盘中。