MySQL8.0-第一章

一、SQL VS NoSQL

SQL:关系型数据库,用SQL语句来操作数据

NOSQL:非关系型数据库,NoSQL的含义是不仅仅有SQL,而实际上大多数NoSQL不用SQL来操作数据

常见的关系型数据库:MySQL、Oracle、SQLServer、PostGreSQL

常见的非关系型数据库:HBase、MongoDB、Redies

关系型数据库的特点:

1.按照一定结构进行存储,如数据都存储在二维的表结构中,每一行数据具有相同的列属性

关系型数据库的改进:Json属性的列可以存储非结构化的数据

2.支持事务的原子性、一致性、隔离性、持久性

3.支持用SQL语言对存储在其中的数据进行操作

关系型数据库的使用场景:

1.数据之间存在着一定的关系,需要关联查询数据的场景

2.需要事务支持的业务场景

3.需要使用SQL语言灵活操作数据的场景

非关系型数据库的特点:

1.存储结构灵活,不需要固定的结构,如在MongoDB中每一行的数据以Json的形式存在,每一行的数据的列属性可以不同,但是这样的存储方式也有坏处,在不考虑压缩的情况下每一行都有自己的列属性,会占用许多存储空间,对于同样大小的数据非关系型数据库耗费的存储空间更多。

2.对事务的支持比较弱,查询或写入数据时,不需要检查数据的结构完整性,节约了很多时间,因此对数据的并发处理性能高。

3.大多数不用SQL语言来操作,如MongoDB采用js来操作数据

非关系型数据库的适用场景:

数据结构没法确定的场景,以及不同的行有不同的属性的场景,如有的数据的列属性是质量、长、宽、而有的数据的列属性是颜色、厚度

对事务要求不高对数据的完整性要求不高而对并发量要求高的场景

对数据的处理操作比较简单的场景

二、如何选择关系型数据库

1.数据库的广泛性,使用得多的数据库更稳定,而且可以查找的资料更多

2.数据库的可拓展性

3.数据库的安全性和稳定性

4.数据库所支持的系统,如有的数据库在linux系统上是免费的

5.数据库的使用成本,在主流的关系型数据库中MySQL是免费的而且性能好

三、MySQL的优势

1.开源免费且性能仅次与Oracle数据库

2.可扩展性好:支持基于二进制日志的逻辑复制,配置灵活

3.市场上存在多种第三方数据库中间层,支持读写分离及分库分表,如myCat

4.安全性和稳定性:MySQL主从复制集群可到99%的可用性,配合主从复制高可用架构可以达到99.99%的可用性,支持对存储在MySQL的数据进行分级安全控制。

5.支持linux和windows系统

6.社区版本免费,使用人群多方便获取技术支持。

相关文章