关系型数据库
采用了关系模型来组织的数据库,其以行和列的形式存储数据,便于理解。一系列的行和列被称为表,一组表构成了数据库。关系型数据库可以简单的理解为二维表个模型,一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
代表:MySQL
非关系型数据库
非关系型、分布式,强调键值对。是大量结构化数据存储方式的集合。
代表:Access
分类
1、面向检索的列存储式(Column-Oriented)
其存储结构为列式结构,通于关心型数据库的行式结构。
特点:
统计聚合操作方便,系统具有较高的可扩展性。适应海量数据的增加以及数据结构的变化,适合云计算。
代表:
Big Table、HaBase
2、面向高性能并发读/写的缓存存储(Key-Value)
结构类似于数据结构中的Hash表,每个Key分别对应一个Value
特点:
能够提供快速的查询速度、大数据存放量和高并发操作,非常适合通过主键对数据进行增删该查。
代表:
MemcacheDB、BerKeleyDB、Redis、Flare(Key—Value数据库的代表)
3、面向海量数据访问的文档存储(Document-Oriented)
和Key-Value非常类似,但这个Value主要以JSON或XML等各式的文档进行存储。
特点:
方便面箱对象的语言使用,可在海量数据中快速查询数据。
代表:
MongoDB、CouchDB等
关系数据库和非关系数据库的区别
数据库类型 | 关系数据库 | 非关系数据库 |
---|---|---|
特点 | 1.使用关系组织数据库 2.事务一致性 3.二维表格模型 |
1.使用键值对存数据 2.分布式 3.一般不支持ACID特性 4.严格意义上不是数据库,而是一种数据结构化存储集合 |
优点 | 1.易理解 2.使用方便 3.易维护 4.支持SQL可复杂查询 |
1.无SQL层解析,读写性能高 2.基于键值对,数据没有耦合性,易于扩展 3.存储数据格式多样化 |
缺点 | 1.维护成本高 2.结构固定 |
1.不支持SQL 2.无事务处理 |
常见数据库的信息
MySQL
端口:3306
默认库information_schema和其中的表SCHEMATA(存储用户创建所有数据库的库名[SCHEMA_NAME])、TABLES和COLUMNS
SQLSever
端口:1433
Oracle
端口:1521
PostgreSQL
端口:5432或5433
BD2
端口:5000
SQLite
一种轻量级数据库,常用于移动端。
特点:一个库多个表,可用sqlite或sqlite2打开