首页 > 数据库 >关系型数据库 和 非关系型数据库

关系型数据库 和 非关系型数据库

时间:2022-12-30 08:55:25浏览次数:57  
标签:关系 存储 NoSQL 数据库 SQL 数据

1、关系型数据库

概述

关系型数据库,被称为SQL,是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。

其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据。


主流的关系型数据库

Oracle、MySQL、PgSQL、SQL Server、Microsoft Access、DB2 等。


ACID原则

  • 原子性(Atomicity)

  • 一致性(Consistency)

  • 隔离性(Isolation)

  • 持久性(Durability)

关系型数据库强调ACID规则。

可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作,而且可以充分满足数据库操作的高性能和操作稳定性的要求。并且关系型数据库十分强调数据的强一致性,对于事务的操作有很好的支持。关系型数据库可以控制事务原子性细粒度,并且一旦操作有误或者有需要,可以马上回滚事务。


2、非关系型数据库

概述

非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言)。

NoSQL主要是指非关系型、分布式、不提供ACID (数据库事务处理的四个基本要素)的数据库设计模式。

对NoSQL 最普遍的定义是“非关联型的”,强调Key-Value 存储和文档数据库的优点。


主流的非关系型数据库

Redis、Amazon DynamoDB、Memcached、Microsoft Azure Cosmos DB、Hazelcast等。


不遵循ACID原则


使用范围

分布式数据库,近几年分布式数据库用的比较火的是redis。


3、数据库区别

1、数据存储方式不同

SQL:

关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。

NoSQL:

与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。

2、扩展方式不同

SQL和NoSQL数据库最大的差别可能是在扩展方式上。

SQL:

为了支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。

因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。

NoSQL:

而NoSQL数据库是横向扩展的。因为非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。

3、对事务性的支持不同

SQL:

如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。

NoSQL:

虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。


参考文章:

关系型数据库与非关系型数据库详解

标签:关系,存储,NoSQL,数据库,SQL,数据
From: https://www.cnblogs.com/luckest/p/17014023.html

相关文章

  • Mysql数据库查看Database的大小的方法
    最简单的方法为:selectconcat(round(sum(data_length/1024/1024),2),'MB')asdatafromINFORMATION_SCHEMA.tableswheretable_schema='XXXXX2206'; 另外发现备......
  • Java面试题-数据库
    数据库的存储引擎以及锁机制锁的存在是为了数据的一致性,mysql在修改数据层面是支持并发修改的,那么在多个线程同时修改一个数据时产生的线程安全问题。我们知道MySQL主要有......
  • oceanbase云数据库的介绍
    一.导言OceanBase云数据库是由蚂蚁集团开发的分布式数据库。在发布OceanBase3.0的同时,OceanBase宣布正式开源,并成立了OceanBase开源社区。社区官网同步上线,300万行核心代......
  • day48 连接数据库
    链接数据库软件连接命令行连接mysql-uroot-p123456​updatemysql.usersetauthentication_string=password('123456')whereuser='root'andHost='localho......
  • 中国亲戚关系计算器
    中国亲戚关系计算器。该项目实现了中国亲戚关系及称呼之间的换算,可以将中国复杂的亲戚关系及称呼通过计算器的方式简单的运算出来。在线使用:https://passer-by.com/relati......
  • 超融合一体流式引擎,打造分布式数据库新纪元
    12月28日,“数智驱动 全栈赋能”亚信科技2022年度系列产品发布会“数据库专场”线上成功举办,亚信科技重磅发布“超融合一体流式引擎”的AntDBV7.2数据库,并分享了在通信、......
  • 某银行客户Db2下移分布式数据库OceanBase单元化改造案例
    某银行客户Db2下移分布式数据库OceanBase单元化改造案例涂山·发表于 2022.09.13实践本文由阿里技术专家严军(花名吉远)撰写于2022年2月。 项目背景长久以来,IOE技术......
  • 虽然现在用APACHE COMMONS DBCP可以非常方便的建立数据库连接池,
    虽然现在用APACHECOMMONSDBCP可以非常方便的建立数据库连接池,但是像这篇文章把数据库连接池的内部原理写的这么透彻,注视这么完整,真是非常难得,让开发人员可以更深层次的理......
  • oracle数据库表数据回滚到某一时间
    1、查询某一时间点该表的数据select*from表asoftimestampto_timestamp('2020-07-0212:11:11','yyyy-mm-ddhh24:mi:ss');2、对表进行行迁移altertable表enable......
  • K8S各资源之间的关系
    在K8S中一切都是资源。而这些资源包含了很多,如Namespace、Pod、Label、Deployment、Service。这些资源之间又有相互的联系。NamespaceNamespace是K8S中比较重要的资源,主......