作者:追逐时光者
链接:https://www.zhihu.com/question/24225007/answer/1707736658
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


关系型数据库(SQL)

什么是(SQL)关系型数据库:

关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库。

什么是关系模型:

关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。

常见关系型数据库管理系统(ORDBMS):

  • Oracle
  • MySql
  • Microsoft SQL Server
  • SQLite
  • PostgreSQL
  • IBM DB2

关系型数据库的优势:

  • 采用二维表结构非常贴近正常开发逻辑(关系型数据模型相对层次型数据模型和网状型数据模型等其他模型来说更容易理解);
  • 支持通用的SQL(结构化查询语言)语句;
  • 丰富的完整性大大减少了数据冗余和数据不一致的问题。并且全部由表结构组成,文件格式一致;
  • 可以用SQL句子多个表之间做非常繁杂的查询;
  • 关系型数据库提供对事务的支持,能保证系统中事务的正确执行,同时提供事务的恢复、回滚、并发控制和死锁问题的解决。数据存储在磁盘中,安全可靠。

关系型数据库存在的不足:

随着互联网企业的不断发展,数据日益增多,因此关系型数据库面对海量的数据会存在很多的不足。

  • 高并发读写能力差:网站类用户的并发性访问非常高,而一台数据库的最大连接数有限,且硬盘 I/O 有限,不能满足很多人同时连接。海量数据情况下读写效率低:
  • 对大数据量的表进行读写操作时,需要等待较长的时间等待响应。可扩展性不足:不像web server和app server那样简单的添加硬件和服务节点来拓展性能和负荷工作能力。
  • 数据模型灵活度低:关系型数据库的数据模型定义严格,无法快速容纳新的数据类型(需要提前知道需要存储什么样类型的数据)。

非关系型数据库(NOSQL)

什么是(NOSQL)非关系型数据库:

非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定,常用于存储非结构化的数据。

常见的NOSQL数据库:

  • 键值数据库:Redis、Memcached、Riak
  • 列族数据库:Bigtable、HBase、Cassandra
  • 文档数据库:MongoDB、CouchDB、MarkLogic
  • 图形数据库:Neo4j、InfoGrid

非关系型数据库的优势:

  • 非关系型数据库存储数据的格式可以是 key-value 形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
  • 速度快,效率高。 NoSQL 可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
  • 海量数据的维护和处理非常轻松,成本低。
  • 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
  • 可以实现数据的分布式处理。

非关系型数据库存在的不足:

  • 非关系型数据库暂时不提供 SQL 支持,学习和使用成本较高。
  • 非关系数据库没有事务处理,无法保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
  • 功能没有关系型数据库完善。
  • 复杂表关联查询不容易实现。

非关系型数据库和关系型数据库区别(转载)相关推荐

  1. 关系型数据库和非关系型数据库有哪些?区别有哪些?

    数据库 数据库 指的是以一定方式储存在一起.能为多个用户共享.具有尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合.当前数据库分为 关系型数据库 和 非关系型数据库 . 一.关系型数据库 关系型 ...

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

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

  3. Mysql数据库(关系型与非关系型数据库)

    什么是数据库?什么是关系型数据库?什么是非关系型数据库? 数据库就是一个存储数据的仓库. 关系型数据库是依据关系模型(就是"一对一.一对多.多对多"等关系模型,关系模型就是指二维表 ...

  4. 考前复习必备MySQL数据库(关系型数据库管理系统)

    大家好,我是魔王哪吒,话不多说,今天带来的是一篇<考前复习必备MySQL数据库(关系型数据库管理系统)>文章,欢迎大家喜欢. 前言 MySQL是一个关系型数据库管理系统,在web应用方面, ...

  5. 关系型数据库与分布式数据库

    关系型数据库 当前主流的关系型数据库有Oracle.DB2.PostgreSQL.Microsoft SQL Server.Microsoft Access.MySQL 关系数据库,是建立在关系模型基 ...

  6. 关系型数据库与NoSQL数据库简述

    一. 关系型数据库 简单定义,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织. 关系模型中常用的概念: 关系:可以理解为一张二维表,每个关系都具有一个关 ...

  7. 患者数据库mysql_关系型数据库之MySQL基础总结_part1

    一:数据库的操作语言的种类 MySQL 是我们最常使用的关系型数据库,对于MySQL的操作的语言种类又可以分为:DDL,DML,DCL,DQL DDL:是数据库的定义语言:主要对于数据库信息的一些定义 ...

  8. mysql 5.74安装教程_MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐。接下来,就给大家说一下,MySQL的...

    MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐.接下来,就给大家说一下,MySQL的下载和安装: 一.MySQL的下载 第一 ...

  9. MySQL 01 什么是数据库(关系型数据库?)

    1.1 为什么要学数据库 JavaEE:企业级 Java 开发,主要做的是 Web 开发.(需要结合 前端 后台 数据库 三大必备技能.) 前端:页面,用来展示数据. 后台:作为一个连接点,中转站.与 ...

  10. neo4j 图数据库初步调研 图数据库与关系型数据库差异-f

    相关文章 neo4j 图数据库初步调研 三元组.属性图.图模型.超图.RDF demo项目(python+vue) 本文目录 相关文章 一.技术关键字 二.前言 三.图数据库与传统数据库 1.反规范化 ...

最新文章

  1. R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵、并使用summary函数基于混淆矩阵输出分类模型评估的其它详细指标(kappa、npv等13个)
  2. ES6与canvas实现鼠标小球跟随效果
  3. ios app上架被拒的问题
  4. 检查本机显卡的cuda信息及适配cuda-sdk版本
  5. 阿里云发布时间序列数据库TSDB,关于时序你了解多少?
  6. 活跃用户数怎么计算_【数据运营】|如何做好活跃用户的运营?
  7. 面向对象设计原则之3-里氏替换原则
  8. Tensorflow官方文档学习理解 (二)
  9. 传统IT架构转型,从云原生平台到微服务应用构建
  10. Matlab2018a破解出现licensing error:-8523
  11. dnf修改服务器时间限制,DNF历史性革新,团本刷新时间改为周六,为黑鸦让路
  12. 部署ASDM图形化工具
  13. Shopee平台有哪些电商大促活动?大促活动如何报名?
  14. linux 压缩除去某些文件夹,Linux tar压缩时 排除某个文件/文件夹
  15. python刷题记录:买帽子
  16. 微信小程序开发日记1
  17. kettle定时调度管理平台
  18. Python手册--目录
  19. C语言修改终端文字颜色
  20. 如何设置分布式IO模块Profinet的地址

热门文章

  1. Unix环境高级编程(十九)终端I/O
  2. R中读取文件,找不到路径问题 No such file or directory
  3. ABP(现代ASP.NET样板开发框架)系列之20、ABP展现层——动态生成WebApi
  4. Android TextView drawableLeft 在代码中实现
  5. js 测试正则表达式
  6. 17.凤凰架构:构建可靠的大型分布式系统 --- 技术演示工程实践
  7. 10.软件架构设计:大型网站技术架构与业务架构融合之道 --- 事务一致性
  8. 4. ubuntu php composer
  9. java Session生命周期讨论
  10. QAliber - 介绍一款开源的GUI自动化测试工具