第2期 关系数据库与非关系数据库的区别

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 第2期 关系数据库与非关系数据库的区别

概述

我们常常遇到的数据库有关系数据库非关系数据库,MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。今天小编就带着大家一起学习下关系数据库和非关系数据库,如果大家觉得有收获,记得给小编点赞

什么是关系数据库

由二维表及其之间的联系所组成的一个数据组织。

  1. 在不同的引擎上有不同的存储方式。
  2. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
  3. 开源数据库的份额在不断增加,mysql的份额页在持续增长。
  4. 缺点就是在海量数据处理的时候效率会显著变慢。

优点:

  • 易于维护:表结构
  • 使用方便:SQL语言通用
  • 复杂操作:支持SQL,支持复杂查询

缺点:

  • 读写性能比较差
  • 固定的表结构,灵活度稍欠
  • 硬盘I/O是一个很大的瓶颈

什么是非关系数据库

非关系型数据库(NoSQL),属于文档型数据库。先解释一下文档的数据库,即可以存放XML、JSON、BSON类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。是一种数据结构化存储方法的集合。

  1. 存储方式:虚拟内存+持久化。
  2. 查询语句:是独特的MongoDB的查询方式。
  3. 适合场景:事件的记录,内容管理或者博客平台等等。
  4. 架构特点:可以通过副本集,以及分片来实现高可用。
  5. 数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
  6. 成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

优点:

  • 格式灵活:存储格式可以是key,value、文档、图片形式等。
  • 速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
  • 高扩展性
  • 成本低:nosql数据库部署简单,基本都是开源软件。

缺点:

  • 不提供sql支持
  • 无事务处理
  • 数据结构相对复杂,复杂查询方面稍欠缺。

常见的数据库分类

传统关系数据库: Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Sqlite大数据常见数据库:Hive、Impala、Presto、ClickHouse非关系数据库: redis/hbase/mongoDB/CouchDB/Neo4J

MongoDB优势与劣势

优势:

  1. 在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。
  2. MongoDB的高可用和集群架构拥有十分高的扩展性。
  3. 在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。
  4. MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。

劣势:

  1. 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。
  2. 应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。
  3. MongoDB占用空间过大。
相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
目录
相关文章
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
3月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
15天前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
44 2
|
4天前
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
8 0
|
2月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
3月前
|
Oracle 关系型数据库 数据库
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
141 1
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
|
3月前
|
SQL 关系型数据库 数据库
数据库空间之谜:彻底解决RDS for SQL Server的空间难题
【8月更文挑战第16天】在管理阿里云RDS for SQL Server时,合理排查与解决空间问题是确保数据库性能稳定的关键。常见问题包括数据文件增长、日志文件膨胀及索引碎片累积。利用SQL Server的动态管理视图(DMV)可有效监测文件使用情况、日志空间及索引碎片化程度。例如,使用`sp_spaceused`检查文件使用量,`sys.dm_db_log_space_usage`监控日志空间,`sys.dm_db_index_physical_stats`识别索引碎片。同时,合理的备份策略和文件组设置也有助于优化空间使用,确保数据库高效运行。
75 2
|
3月前
|
关系型数据库 数据库 数据安全/隐私保护
"告别繁琐!Python大神揭秘:如何一键定制阿里云RDS备份策略,让数据安全与效率并肩飞,轻松玩转云端数据库!"
【8月更文挑战第14天】在云计算时代,数据库安全至关重要。阿里云RDS提供自动备份,但标准策略难以适应所有场景。传统手动备份灵活性差、管理成本高且恢复效率低。本文对比手动备份,介绍使用Python自定义阿里云RDS备份策略的方法,实现动态调整备份频率、集中管理和智能决策,提升备份效率与数据安全性。示例代码演示如何创建自动备份任务。通过自动化与智能化备份管理,支持企业数字化转型。
89 2
|
3月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
77 0
|
3月前
|
存储 数据管理 数据库
下一篇
无影云桌面