关系型数据库和非关系型数据库的优缺点和对比

今天看到一篇文章,里面有一句话,先摘录下来:
面对压力,我可以挑灯夜战、不眠不休;面对困难,我愿意迎难而上、永不退缩。

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

数据是数据库中存储的基本对象,是按一定顺序排列组合的物理符号。数据有多种表现形式,可以是数字、文字、图像,甚至是音频或视频,它们都可以经过数字化后存入计算机。

数据库是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

数据库分类

数据库通常分为层次式数据库网络式数据库关系式数据库三种。

而不同的数据库是按不同的数据结构来联系和组织的。

而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库非关系型数据库

关系型数据库

关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。(百度百科)

  • 1、关系型数据库,是指采用了关系模型来组织数据的数据库;
  • 2、关系型数据库的最大特点就是事务的一致性;
  • 3、简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

代表:Oracle、SQL Server、MySQL

关系型数据库特点

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 1.数据以表格的形式出现
  • 2.每行为各种记录名称
  • 3.每列为记录名称所对应的数据域
  • 4.许多的行和列组成一张表单
  • 5.若干的表单组成database

非关系型数据库

非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言)。NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库,2009 年,在一次分布式开源数据库的讨论会上,再次提出了NoSQL 的概念,此时NoSQL主要是指非关系型、分布式、不提供ACID (数据库事务处理的四个基本要素)的数据库设计模式。同年,在亚特兰大举行的“NoSQL(east)”讨论会上,对NoSQL 最普遍的定义是“非关联型的”,强调Key-Value 存储和文档数据库的优点,而不是单纯地反对RDBMS,至此,NoSQL 开始正式出现在世人面前。

NoSQL数据库在存储速度与灵活性方面有优势,也常用于缓存。
代表:Redis、Mongodb

非关系型数据库特点

  • 1、使用键值对存储数据;
  • 2、分布式;
  • 3、一般不支持ACID特性;
  • 4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

关系型数据库和非关系型数据库的优缺点以及区别

关系型数据库:

  • 优点:
    • 1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;
    • 2、使用方便:通用的SQL语言使得操作关系型数据库非常方便;
    • 3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
      • 保持数据的一致性(事务处理)(最大优势)
      • 由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)
    • 4、支持SQL,可用于复杂的查询。
  • 缺点:
    • 1、为了维护一致性所付出的巨大代价就是其读写性能比较差;
    • 2、固定的表结构,灵活度稍欠;
    • 3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;
    • 4、海量数据的高效率读写性能差;

非关系型数据库:

  • 优点:
    • 1、无需经过sql层的解析,读写性能很高;
    • 2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
    • 3、基于键值对,数据没有耦合性,容易扩展;
    • 4、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。
    • 5、成本低:nosql数据库部署简单,基本都是开源软件。
  • 缺点:
    • 1、不提供sql支持,学习和使用成本较高;
    • 2、无事务处理,附加功能bi和报表等支持也不好;

对比

RDBMS vs NoSQL
RDBMS

  • 高度组织化结构化数据
  • 结构化查询语言(SQL)
  • 数据和关系都存储在单独的表中。
  • 数据操纵语言,数据定义语言
  • 严格的一致性
  • 基础事务

NoSQL

  • 代表着不仅仅是SQL
  • 没有声明性查询语言
  • 没有预定义的模式
  • 键 - 值对存储,列存储,文档存储,图形数据库
  • 最终一致性,而非ACID属性
  • 非结构化和不可预知的数据
  • CAP定理
  • 高性能,高可用性和可伸缩性

关系型数据库与NoSQL数据库并非对立而是互补的关系,即通常情况下使用关系型数据库,在适合使用NoSQL的时候使用NoSQL数据库,让NoSQL数据库对关系型数据库的不足进行弥补。

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关系型数据库非关系型数据库都有自己的优缺点关系型数据库的优点: 1. 数据一致性:关系型数据库使用 ACID(原子性、一致性、隔离性、持久性)模型,可以保证事务的一致性和数据的正确性。 2. 数据结构化:数据存储在表格中,易于查询和分析。 3. 容易维护:数据模型清晰明了,易于管理和维护。 4. 支持 SQL:SQL 是一种广泛使用的查询语言,能够方便地进行数据查询、更新和删除等操作。 非关系型数据库的优点: 1. 高扩展性:非关系型数据库使用分布式架构,可以方便地实现数据的水平扩展。 2. 更好地支持大数据:非关系型数据库可以更好地处理海量数据。 3. 更灵活的数据结构:非关系型数据库可以存储各种不同类型的数据,例如文档、图像和视频等,数据结构更加灵活。 4. 更好的性能:非关系型数据库可以提供更高的并发和读写性能,支持更快的数据检索。 关系型数据库的缺点: 1. 可扩展性有限:关系型数据库的扩展性有限,难以支持大规模数据集群。 2. 处理海量数据的性能较差:关系型数据库对于海量数据的处理性能较差。 3. 不支持非结构化数据:关系型数据库只能存储结构化数据,不支持非结构化数据。 非关系型数据库的缺点: 1. 数据一致性难以保证:非关系型数据库不支持 ACID,数据一致性难以保证。 2. 缺乏标准化:不同的非关系型数据库之间缺乏标准化,难以实现互操作性。 3. 不支持 SQL:非关系型数据库不支持 SQL 查询,需要使用特定的 API 进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值