第1期 全栈开发关系数据库与非关系数据库的区别

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
Error: No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:578343
    at h (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:379364)
    at Generator.<anonymous> (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:380687)
    at Generator.next (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:379774)
    at Pe (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:491844)
    at a (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:492048)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:492109
    at new Promise (<anonymous>)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:491988
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:578533
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
Error: No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:578343
    at h (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:379364)
    at Generator.<anonymous> (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:380687)
    at Generator.next (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:379774)
    at Pe (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:491844)
    at a (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:492048)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:492109
    at new Promise (<anonymous>)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:491988
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:578533
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
Error: No entry or manifest in @ali/alfa-aliyundotcom-free-widget-goods-card
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:578343
    at h (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:379364)
    at Generator.<anonymous> (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:380687)
    at Generator.next (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:379774)
    at Pe (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:491844)
    at a (https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:492048)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:492109
    at new Promise (<anonymous>)
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:491988
    at https://g.alicdn.com/aliyun/developer-aliyun-com-fe/2.8.50/scripts/articleDetail.js:1:578533
简介: 我们常常遇到的数据库有关系数据库和非关系数据库,MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。今天小编就带着大家一起学习下关系数据库和非关系数据库,

概述


我们常常遇到的数据库有关系数据库非关系数据库,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,再结合云盘缩容,体验数据归档带来的成本优势。
目录
打赏
0
0
0
0
4
分享
相关文章
关系型与非关系型数据库的区别
关系型数据库是依据关系模型来创建的数据库,所谓关系模型就是“一对一”、“一对多”、“对多对”等。常见的关系型数据库有Oracle、MySQL、SQL Server等。非关系型数据库主要基于“非关系型模型”,其中非关系型模型有:列模型、键值对模型、文档类模型。比如redis属于键值对模型。 MongoDB属于文档模型 关系型数据库的优点: ● 易于维护:都是使用表结构,格式一致。 ● 使用方便:SQL语言通用,可用于复杂查询。 ● 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。 关系型数据库的缺点: ● 读写性能比较差,尤其是海量数据的高效率读写。 ● 固定的表结构,灵活
在PG数据库中,not in 和except的区别
在PG数据库中,not in 和except的区别
云数据库实战:基于阿里云RDS的Python应用开发与优化
在互联网时代,数据驱动的应用已成为企业竞争力的核心。阿里云RDS为开发者提供稳定高效的数据库托管服务,支持多种数据库引擎,具备自动化管理、高可用性和弹性扩展等优势。本文通过Python应用案例,从零开始搭建基于阿里云RDS的数据库应用,详细演示连接、CRUD操作及性能优化与安全管理实践,帮助读者快速上手并提升应用性能。
关系数据库-数据库事务处理与ACID原则
本文详细介绍了关系数据库中的事务处理和ACID原则。通过事务处理,可以确保数据库操作的原子性、一致性、隔离性和持久性,从而提高数据的可靠性和一致性。在实际应用中,可以通过事务控制语句和适当的隔离级别,确保复杂操作的正确执行。希望本文能帮助您更好地理解和应用数据库事务处理,提高数据库系统的可靠性和性能。
89 18
【HarmonyOS Next开发】云开发-云数据库(二)
实现了云侧和端侧的云数据库创建、更新、修改等操作。这篇文章实现调用云函数对云数据库进行增删改查。
88 9
【HarmonyOS Next开发】云开发-云数据库(二)
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
114 2
体验领礼啦!体验自建数据库迁移到阿里云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」上线!本方案介绍如何将自建数据库平滑迁移至云数据库RDS,解决业务增长带来的运维难题。通过使用RDS MySQL,您可获得稳定、可靠和安全的企业级数据库服务,专注于核心业务发展。完成任务即可领取桌面置物架,每个工作日限量50个,先到先得。
瑶池数据库微课堂|PolarDB/RDS+ADB Zero-ETL:一种免费、易用、高效的数据同步方式
瑶池数据库微课堂介绍阿里云PolarDB/RDS与ADB的Zero-ETL功能,实现免费、易用、高效的数据同步。内容涵盖OLTP与OLAP的区别、传统ETL存在的问题及Zero-ETL的优势(零成本、高效同步),并演示了从RDS MySQL到AnalyticDB MySQL的具体操作步骤。未来将优化和迭代此功能,提供更好的用户体验。
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
143 13
鸿蒙开发:实现键值数据库存储
对于数据量比较的小的,我们直接选择轻量级的用户首选项方式即可,而对于数据量比较大的情况下,直接可以使用数据库,而对于相对来说,比较大的数据,我们就可以使用键值型数据库方式
136 2

热门文章

最新文章