关系型数据库和非关系型数据库

什么是数据库?
数据库是数据的仓库。
与普通的“数据仓库”不同的是,数据库依据“数据结构”来组织数据,因为“数据结构”,所以我们看到的数据是比较“条理化”的
也因为其“数据结构”式,所以有极高的查找速率(比如B-Tree查找法),(由于专精,可以根据自己的结构特性来快速查找,所以对于数据库的查找会比较快捷;不像普通文件系统的“查找”那么通用)
如果与EXCEL来比的话,能明显的看出数据库的好处,我们能给一个个“字段”添加“约束”(比如约束一列的值不能为空)
数据库与普通的文件系统的主要区别(起因):数据库能快速查找对应的数据
常说的XX数据库,其实实质上是XX数据库管理系统。数据库管理系统是一个软件,是数据库管理的程序实现。
当前数据库分为关系型数据库和非关系型数据库

关系型数据库

关系型数据库: 指采用了关系模型来组织数据的数据库。
关系模型: 就是“一对一、一对多、多对多”等关系模型,指的就是二维表格模型(行和列),而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
关系模型中常用的概念:
关系: 一张二维表,每个关系都具有一个关系名,也就是表名
元组: 二维表中的一行,在数据库中被称为记录
属性: 二维表中的一列,在数据库中被称为字段
域: 属性的取值范围,也就是数据库中某一列的取值限制
关键字: 一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成
关系模式: 指的是对关系的描述。格式为关系名(属性1.。。。属性N),在数据库中称为表结构
关系型数据库的优点:
1.容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解
2.使用方便:通用的SQL语言使得操作关系型数据库非常方便,SQL语言是通用的,可以用于复杂查询
3.易于维护:表结构一致,丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
关系型数据库的缺点:
1.读写性能差,海量数据的效率低,网站每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的
2.固定的表结构,灵活度差
3.存储,网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
常用的关系型数据库:
MySql,Sql server,Oracle,DB2,PostgreSQL,Microsoft SQL Server

非关系型数据库

非关系型数据库: 指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
非关系型数据库以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些时间和空间的开销。严格来说不是一种数据库,是一种数据结构化存储方法集合,可以是文档或者键值对形式。
非关系型数据库的分类:
1.高性能并发读写的key-value的数据库:REDIS
2.面向海量数据访问的文档类型数据库:mongoDB
3.面向搜索数据内容的搜索引擎:Elasticsearch
4.面向可扩展性的分布式数据库:Microsoft Azure Cosmos DB
非关系型数据库的优点:
1.格式灵活,适用于大数据
2.速度快:nosql可以使用硬板以及随机存储器作为载体
3.成本低:都是开源软件
4.高扩展性
非关系型数据库的缺点:
1.不提供sql支持
2.无事务处理
3.数据结构相当复杂,复杂查询有点问题,只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,关系型数据库显的更为合适。不适合持久存储海量数据

最近的数据库排名
网站地址:https://db-engines.com/en/ranking
关系型数据库和非关系型数据库
可以发现现在主流的还是关系型数据库,非关系型数据库中RedisMongoDB最受欢迎