首页 > 数据库 >关系型数据库与非关系型数据库的区别(学习了解记录)

关系型数据库与非关系型数据库的区别(学习了解记录)

时间:2022-12-26 16:55:57浏览次数:48  
标签:关系 存储 海量 数据库 结构化 与非 数据

前言

​ 在工作中经常遇到不同的使用,对他们彼此间的关系不甚清楚,所以抽时间整理一下网络大神的详解,作为自己的学习笔记。

关系型数据库(SQL)

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

什么是关系模型

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

常见关系型数据库管理系统

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

关系型数据库优势

  1. 符合正常开发逻辑
  2. 有很好的生态开发环境与支持
  3. 可以处理非常复杂的数据关系
  4. 提供对事务的支持,能保证系统中的事务正确执行,同时提供事务的恢复,回滚,并发控制和死锁问题的解决。
  5. 数据存储在磁盘,安全可靠(怀疑)。

关系型数据库的不足

  1. 高并发读写能力差
  2. 海量数据情况下读写效率低
  3. 可扩展性不足
  4. 数据模型灵活度低
  5. 面对海量数据存在不足

非关系型数据库(NOSQL)

​ 非关系型数据是指数据以对象形式储存在数据库中,而对象间的关系由每个对象自身的属性来决定,常存储非结构化数据。

常见的非关系型数据库

  1. 键值数据库:Redis, Memcached, Riak
  2. 列族数据库:Bigtable, HBase, Cassandra
  3. 文档数据库:MongoDB, CouchDB, MarkLogic
  4. 图形数据库: Neo4j, InfoGrid

非关系型数据库的优势

  1. 以key-value形式为存储格式,使用灵活,应用场景广泛。
  2. 速度快,效率高
  3. 海量数据的维护和处理非常轻松,成本低
  4. 非关系型数据库具有扩展简单,高并发,高稳定性,成本低的优势
  5. 可以实现数据的分布式处理
  6. 非关系型数据库天然是分布式的,可以通过集群实现负载均衡

非关系型数据库的不足

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

如何选择?

目前大多数大型互联网都会选择使用MySQL+NoSQL的组合方式,因为各有优缺

关系型数据库适合存储结构化数据:比如:用户的帐户,地址

  1. 数据通常需要结构化查询
  2. 数据规模,增长速度可以预期
  3. 事务性,一致性,适合存储比较复杂的数据

NoSQL适合存储非结构化的数据,比如:文章,评论:

  1. 数据通常需要用于模糊处理,例如全文搜素,机器学习等,适合较为简单的数据
  2. 数据是海量的,并且增长难以预期
  3. 按照key值获取数据效率高,但对于join或其他结构化查询的支持就比较差

总结

其实最主要的区别在于事务的使用,与数据量的大小,如何选择全依需求而定,但就目前学习和使用过一段时间的我而言,两者中非关系型数据好像更适合后端程序开发。

但随着技术的发展,单从某些特性定义他是不是关系型数据库已经不准确,也没有意义了,我们只需了解传统意义的关系型数据库是哪几个,有啥显著特点即可。

标签:关系,存储,海量,数据库,结构化,与非,数据
From: https://www.cnblogs.com/yunlan/p/17006187.html

相关文章

  • 数据库主键分案
    一.数据库自带的自增主键在传统单体数据库中,并且并发量不高的情况下,可以使用数据库自带的自增主键。但是它不能保持连续递增,只保证单调递增,也就是说自增主键值可能是:1......
  • 【其他算法】配对关系转组+非极大值抑制
    defget_group_from_pair(pair_list):"""功能:根据成对的关系,获得group输入:对关系list,如[[1,3],[2,3],[4,5],[3,6],[6,8]]输出:组关系lis......
  • 数据库悲观锁和乐观锁使用Mybatis
    一下是转载的oracle和Mysql两种数据库悲观锁和乐观锁机制及乐观锁实现方式:一、OracleOracle数据库悲观锁与乐观锁是本文我们主要要介绍的内容。有时候为了得到最大的性能,一......
  • 7天入门小程序开发 | 04-使用云开发中云存储和数据库
            经过前面几节课的学习,对小程序开发套路有一定了解了吧。前面主要掌握了小程序的界面展示、JS前后端交互,但是小程序中的数据存储到哪里呢?之前将图片保存到小......
  • 阻尼、模态应变能法与FRP的关系
    阻尼的概念系统损耗振动能或声能的能力称为阻尼阻尼越大,输人系统的能量便能在较短时间内损耗完毕.系统从受激振动到重新静止所经历的时间就越短;阻尼也可理解为......
  • StoneDB 团队成员与 MySQL 之父 Monty 会面,共话未来数据库形态
    「9月中旬,StoneDB团队成员有幸与开源数据库MySQL和MariaDB的创始人Michael“Monty”Widenius(后文简称为Monty)见了个面,其随行的团队成员告诉我们,疫情前Monty每年还能来一......
  • 为什么NoSQL数据库这么受欢迎?
    大数据时代,NoSQL数据库是企业构建数据能力的核心工具之一。近期,在2022腾讯全球数字生态大会NoSQL数据库专场上,腾讯云发布了多项NoSQL产品能力升级,并重点讲解了其背后的自研......
  • 数据库独角兽SingleStore:没有HTAP,机器学习和人工智能都是不切实际的
    SingleStore(前身MemSQL)是一个为数据密集型应用设计的云原生数据库。它是一个分布式的关系型SQL数据库管理系统(RDBMS),具有ANSISQL支持,它以数据摄入、交易处理和查询处理......
  • 为什么NoSQL数据库这么受欢迎?
    大数据时代,NoSQL数据库是企业构建数据能力的核心工具之一。近期,在2022腾讯全球数字生态大会NoSQL数据库专场上,腾讯云发布了多项NoSQL产品能力升级,并重点讲解了其背后的自研......
  • 开源 高性能 云原生!时序数据库 TDengine 上线亚马逊Marketplace
    近日,涛思数据旗下开源、高性能、云原生的时序数据库(TimeSeriesDatabase,TSDB)TDengine 成功上线亚马逊云科技Marketplace,为用户提供了更加丰富的订阅渠道。TDengine是......