关系型数据库与非关系型数据库详细比较

  1. 1.关系型数据库通过外键关联来建立表与表之间的关系,
  2. 2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
  3. 3.非关系型数据库中,我们查询一条数据,结果出来一个数组,关系型数据库中,查询一条数据结果是一个对象。

区别

关系型数据库

非关系型数据库(Nosql)

存储方式

表格式存储。

存储在表的行和列中。他们之间很容易关联协作存储,提取数据很方便

而Nosql数据库则与其相反,他是大块的组合在一起。

通常存储在数据集中,就像文档、键值对或者图结构。

存储结构

结构化数据。

数据表都预先定义了结构(列的定义),结构描述了数据的形式和内容。这一点对数据建模至关重要,虽然预定义结构带来了可靠性和稳定性(优点),但是修改这些数据比较困难(缺点)。

而Nosql数据库基于动态结构,使用与非结构化数据。因为Nosql数据库是动态结构,可以很容易适应数据类型和结构的变化。

存储规范

数据存储为了更高的规范性,把数据分割为最小的关系表以避免重复,获得精简的空间利用。虽然管理起来很清晰,但是单个操作设计到多张表的时候,数据管理就显得有点麻烦

而Nosql数据存储在平面数据集中,数据经常可能会重复。单个数据库很少被分隔开,而是存储成了一个整体,这样整块数据更加便于读写

存储扩展

系型数据库是纵向扩展,也就是说想要提高处理能力,要使用速度更快的计算机。因为数据存储在关系表中,操作的性能瓶颈可能涉及到多个表,需要通过提升计算机性能来克服。虽然有很大的扩展空间,但是最终会达到纵向扩展的上限

而Nosql数据库是横向扩展的,它的存储天然就是分布式的,可以通过给资源池添加更多的普通数据库服务器来分担负载。

查询方式

结构化查询语言来操作数据库(就是我们通常说的SQL)

关系型数据库表中主键

关系型数据库使用预定义优化方式(比如索引)来加快查询操作

以块为单元操作数据,使用的是非结构化查询语言(UnQl),它是没有标准的

Nosql中存储文档的ID

更简单更精确的数据访问模式

事务

遵循ACID规则(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))

支持对事务原子性细粒度控制,并且易于回滚事务。

遵循BASE原则(基本可用(Basically Availble)、软/柔性事务(Soft-state )、最终一致性(Eventual Consistency))

Nosql数据库是在CAP(一致性、可用性、分区容忍度)中任选两项,因为基于节点的分布式系统中,很难全部满足,所以对事务的支持不是很好,虽然也可以使用事务,但是并不是Nosql的闪光点。

性能

为了维护数据的一致性付出了巨大的代价,读写性能比较差。在面对高并发读写性能非常差,面对海量数据的时候效率非常低。

Nosql存储的格式都是key-value类型的,并且存储在内存中,非常容易存储,而且对于数据的 一致性是 弱要求。Nosql无需sql的解析,提高了读写性能。

授权方式

关系型数据库通常有SQL Server,Mysql,Oracle。大多数的关系型数据库都是付费的并且价格昂贵,成本较大。

主流的Nosql数据库有redis,memcache,MongoDb。

而Nosql数据库通常都是开源的。

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

数据库
类型
特性 优点 缺点
关系型数据库
SQLite、Oracle、mysql
1、关系型数据库,是指采用了关系模型来组织
数据的数据库;
2、关系型数据库的最大特点就是事务的一致性;
3、简单来说,关系模型指的就是二维表格模型,
而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;
2、使用方便:通用的SQL语言使得操作关系型数据库非常方便;
3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;
4、支持SQL,可用于复杂的查询。
1、为了维护一致性所付出的巨大代价就是其读写性能比较差;
2、固定的表结构;
3、高并发读写需求;
4、海量数据的高效率读写;
非关系型数据库
MongoDb、redis、HBase
1、使用键值对存储数据;
2、分布式;
3、一般不支持ACID特性;
4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
1、无需经过sql层的解析,读写性能很高;
2、基于键值对,数据没有耦合性,容易扩展;
3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。
1、不提供sql支持,学习和使用成本较高;
2、无事务处理,附加功能bi和报表等支持也不好;

关于Nosql

1.Nosql

非关系型数据库,Not only sql。

2.Nosql特点:

(1)易扩展,数据之间没有关系的。

(2)大数据量,高性能。高性能读写非常灵活的。

(3)灵活的数据模型。不需要事先对存储数据建立字段。

(4)高可用。

简单概括:用于高并发读写、海量数据的高效率存储和访问、高可扩展性和高可用性。

3.Nosql主要主流产品

Redis(广泛应用),CouchDB,mongoDB,Cassandra等。Nosql中比较火的三个数据库Redis、Memchache、MongoDb。

4.Nosql数据库四大分类:

(1)键值对存储(key-value):Redis键值对存储,优势:快速查询,缺点:存储数据缺少结构化。

(2)列存储:Hbase,优势:快速查询,扩展性强。缺点:功能相对于局限。

(3)文档数据库存储:MongoDB,早起应用多。优势:要求不特别的严格。缺点:查询性不高,缺少统一查询语法。

(4)图形数据库存储:应用于社交网络,优势:利用图结构相关算法。缺点:需要整个图计算才得出结果,不容易做分布式集群方案。

关系型数据库与非关系型数据库详细比较相关推荐

  1. 关系型数据库和非关系型数据库的详细分析

    目录 前言 1. 定义 2. 优缺点 前言 数据库分为关系型数据库和非关系型数据库 补充关于二维表格组成的数据中常见的定义: 关系:二维表 元组:二维表中行(数据库称为记录) 属性:二维表中列(数据库 ...

  2. 数据库知识 | 关系型数据库与非关系型数据库小记录

    用一句话来概括数据库作用--数据库用来组织.存储.管理数据.现在信息时代,可以说数据已经成为了一个十分重要的资源,对一家企业来说甚至可以称为最为核心的竞争力,管理好数据资源尤为重要. 文章目录 一.数 ...

  3. 关系型数据库和非关系型数据库的优劣对比?

    关系型数据库和非关系型数据库的优劣对比? 关系型数据库和非关系型数据库的优劣对比? 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织. 优点: 1.易于维护:都是使用表结构 ...

  4. 1、数据库是什么?关系型数据库和非关系型数据库又是什么?

    在学习数据库之前,应该先理解什么是数据.本节先介绍数据以及数据库的概念,再对关系型数据库和非关系型数据库的优缺点进行分析. 描述事物的符号称为数据.数据有多种表现形式,可以是数字,也可以是文字.图形. ...

  5. 关系型数据库、非关系型数据库

    2019-02-25  20:38:36 转自 https://www.cnblogs.com/zylq-blog/p/7595979.html 关系型数据库和非关系型数据的比较 一.关系型数据库 关 ...

  6. [数据库]---nosql,非关系型数据库整理

    1.关系型数据库与非关系型数据库的区别 Tables 关系型数据库 非关系型数据库 成本 好的收费 开源的,都免费的 存储与查询 硬盘存储,相对查的慢 内存存储,查的快 存储格式 只能是基本格式 多种 ...

  7. MySQL数据库是非关系_MySQL(数据库)基础知识、关系型数据库yu非关系型数据库、连接认证...

    什么是数据库? 数据库(Database):存储数据的仓库 高效地存储和处理数据的介质(介质主要是两种:磁盘和内存) 数据库系统:DBS(Database System):是一种虚拟系统,将多种内容关 ...

  8. 关系型数据库和非关系型数据库的区别

    关系型数据库和非关系型数据库的区别 待会总结,先自我学习先 一 关系型数据库 有 我们只需要 记住常用的几个:mysql /oracle/sql server/sqlite 几个即可 我还有一篇文章 ...

  9. 简述关系型数据库和非关系型数据库

    当前数据库分为关系型数据库和非关系型数据库 关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库. 关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据 ...

最新文章

  1. MindInsight计算图可视设计
  2. 《城市大脑全球标准研究报告2020》摘要内容
  3. ASP.net实现邮件发送
  4. 解决svn:E200030: sqlite[S11]:database disk image is malformed
  5. android 获取phone实例,Android ContentProvider获取手机联系人实例
  6. I.MX6 Manufacturing Tool V2 (MFGTool2) Emmc mksdcard-android.sh hacking
  7. Linux 命令(97)—— info 命令
  8. CentOS 5.3 安装后的基本软件配置
  9. qq四国军旗2.1 beat03 builde017记牌器开发思路(二)
  10. 14届数独-真题标准数独-Day 1-20220116
  11. 【遥感数字图像处理】实验:遥感专题地图制作经典流程(Erdas版)
  12. 淘宝电商需求文档的书写
  13. 十大实用网站推荐(1)
  14. R学习之统计实验(四)--蒲丰投针(R语言编程)-----数模
  15. CAD偏移曲线(com接口c#语言)
  16. MySql连接数据库
  17. DCC尺寸链计算与公差仿真分析软件 软件应用案例以及授权文件
  18. 常微分方程——非齐次线性微分方程与常数变易法
  19. Unity app提高设备可用性
  20. 这两个能这样搭配?海关数据+决策人挖掘,用过的外贸人都说好!

热门文章

  1. 现在常用的java框架有哪些
  2. 如何使用OpenAI API和Python SDK构建自己的聊天机器人
  3. PySide6的安装
  4. 电脑计算机怎么用键盘计算,电脑计算器还能这么用?
  5. java获取当前时间的小时
  6. Java实现固定长度得01子串
  7. 重学java——套娃
  8. java rnn生成古诗_Char-RNN生成古诗
  9. mysql的启动,与登录命令
  10. 【雷达成像】雷达SAR成像仿真的应用(Matlab代码实现)