开发工作中我们常用的数据库大致分为关系型数据库和非关系型数据库两种,那这两种到底是什么呢?
1.关系型数据库
所谓关系型数据库,是建立在关系模型基础上的数据库。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
常见的关系型数据库
Oracle:
属于大型数据库,采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象存储的数据支持,除此之外,它还具有很好的并行处理功能,收费比较昂贵。
SQL Server:
微软全家桶的一员,常搭配微软下开发语言使用)
MySql:
目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
2.非关系型数据库
非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
1、格式灵活:存储数据的格式可以是key --》value、文档、图片等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。
缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。
非关系型数据库的分类和比较:
1、文档型
2、key-value型
3、列式数据库
4、图形数据库
Redis就是一种典型的 KRY-VALUE 型数据库
如果觉得《关系型数据库与非关系型数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!