关于SQL+NoSQL : NewSQL数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 一、什么是数据库? 一般一个数据库系统(Database System)可分为两个部分: 数据库(Database) 数据管理系统(Database Management System,DBMS) A Database is an organized collection of data. —— Wikipedia数据库 就是 有组织的数据集合 ,存储在一个或多个磁盘文件中,俗称「数据的仓库」。

一、什么是数据库?

一般一个数据库系统(Database System)可分为两个部分:

  1. 数据库(Database)
  2. 数据管理系统(Database Management System,DBMS)
  • A Database is an organized collection of data. —— Wikipedia

数据库 就是 有组织的数据集合 ,存储在一个或多个磁盘文件中,俗称「数据的仓库」。广义上来讲,只要能储存数据的都能算数据库(如txt文档、Excel表格等)。

  • Database Management Systems (DBMS)

数据管理系统 就是 操作和管理数据库的应用软件,用于建立、使用和维护数据库(持久化存储、优化读写、保证数据的有效性等)。

狭义上来讲,我们说的“数据库”,通常都是指「数据库管理系统 (DBMS)」。

二、为什么要用数据库?

1. 如果数据保存到内存里:

  • 优点:读写非常快
  • 缺点:程序关闭导致数据丢失

2. 如果数据保存到文件系统里:

  • 优点:数据可以永久保存
  • 缺点:1. 频繁地IO操作,效率不高;2. 数据管理不方便,如果查询某个数据需要全部读取出来,再匹配。

3. 如果数据保存到数据库里:

  • 底层数据的持久化存储
  • 保证了底层数据的一致性和稳定性
  • 提供了接口对数据进行操作和检索
  • 支持SQL语句,可用于复杂的查询
  • 方便对数据的日常维护和管理
  • 比普通文件系统更细粒度的控制和呈现
  • 可以在程序里使用数据库的读写接口
  • 提供了并发控制访问和数据容错机制
    ....

千言万语一句话:方便、效率、安全

三、地球上有哪些数据库?

数据库受欢迎程度排名:

WX20181117_112351_2x

  • 数据库版图
    database

1. 关系型数据库 (RDBMS)

  • Relational Database Management Systems (RDBMS)

关系型数据库 (RDBMS) 是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,是当前应用最广泛的数据库管理系统。

「关系数据库之父」埃德加·弗兰克·科德 (Edgar Frank Codd, 1923-2003) 简介

  • 在关系型数据库中,主要有如下名词:
  1. 数据库:表的集合
  2. 数据表:数据的集合
  3. 数据行:一行数据就是一个对象
  4. 数据列:也称字段,表示对象的属性
  • 一个关系型数据库就像一个Excel文件,文件中的sheet就像是表,sheet中每个列的逻辑定义就是表的字段,sheet中行就是表的数据行。
  • 关系型数据库的代表产品:
数据库 简介 应用场景
Oracle 由于其诞生早、结构严谨、高可用、高性能、高安全等特点,使其在传统数据库应用中近乎垄断,金融、通信、能源、物流、零售、制造等各个传统行业的大型公司都在使用,甚至早期的世界500强企业几乎全部都是Oracle的用户。 主要在传统行业的数据化业务中,比如:通信、银行、金融这样的对可用性、健壮性、安全性、实时性要求极高的业务;或者零售、物流、能源这样对海量数据存储分析要求很高的业务。通常搭配Oracle大型服务器和磁盘阵列使用,售价非常昂贵。
MySQL Web时代使用最广泛的关系型数据库,MySQL的早期定位的主要应用场景就是互联网开发。可以说,是互联网的爆发成就了MySQL,LAMP架构风靡天下。而由于MySQL更多的的追求轻量、易用,在传统的数据库应用场景中,份额极少。 其应用实例也大都集中于互联网方向,MySQL的高并发存取能力并不比大型数据库差,同时价格便宜,安装使用简便快捷,深受广大互联网公司的喜爱。并且由于MySQL的开源特性,针对一些对数据库有特别要求的应用,可以通过修改代码来实现定向优化,比如淘宝网。
Microsoft SQL Server 是Microsoft公司在软件集成方案中的重要一环,由于只能在Windows上使用,流行程度不如前两者。一般配置ASP.Net开发,也为Windows系统在企业级应用中的普及做出了很大贡献。 Microsoft SQL Server主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具。也提供了整套的软件方案,基本上一套Windows系统装下来就齐活了。因此,不那么缺钱,但很缺IT人才的中小企业,会偏爱 Microsoft SQL Server 。
  • 大数据时代到来,关系数据库的缺点:
  1. 处理数据格式单一:关系数据库所采用的二维表格数据模型不能有效地处理多维数据,不能有效处理互联网应用中半结构化和非结构化的海量数据,如Web页面、电子邮件、音频、视频等。
  2. 高并发读写性能低:Web2.0网站数据库并发负载非常高,往往要达到每秒上万次读写请求。关系型数据库勉强可以应付上万次SQL查询,但硬盘I/O往往无法承担上万次的SQL写数据请求。
  3. 可扩展性低:当一个应用系统的用户量和访问量与日俱增的时候,传统的关系型数据库却没有办法像Web服务器那样简单地通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供不间断服务的系统来说,对数据库系统进行升级和扩展往往需要停机维护和数据迁移。

根据这种情况,NoSQL技术应运而生。


2. 非关系型数据库 (NoSQL)
  • Originally referring to "non SQL", "non relational" or "not only SQL" (NoSQL)

NoSQL 泛指的是非关系型的数据库。是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

  • NoSQL相比关系数据库的主要优势:
  1. 低延迟的读写速度:应用快速地反应能极大地提升用户交互速度;
  2. 高性能和可扩展性:基于键值对,数据没有耦合性,容易进行分布式扩展;
  3. 非结构化和不可预知的数据:NoSQL的存储格式是Key-Value形式、文档形式、图片形式等等,而关系型数据库则只支持基础类型。

  • NoSQL 在近几年非常流行,分为四大类:
  1. 键值型(Key-Value)
    Redis、 Riak

内容缓存,主要用于处理大量数据的密集IO型高访问负载。
键值数据库是形式最简单的NoSQL,数据中的每一个值(value)都有专门的键(key)与之匹配,能够实现针对相对简单数据集的超快应用性能,查找速度非常快。

  1. 文档型 (Document)
    MongoDB、 CouchDB

Web应用,收集和处理来自网页和移动应用的数据。
文档数据库以类似文档的结构存储数据,可以采用无模式的形式,数据结构要求不严格,表结构可变。

  1. 列存储 (Big tables)
    HBase、 Cassandra

通常应用于互联网搜索、其他大规模的网页应用和PB级数据的分析应用。
以列簇式存储,将同一列数据存在一起,在处理大数据集的时候,就可以具备更高的性能和扩展性(如HBase+Hadoop架构)。

  1. 图形 (Graph)
    Neo4J、 GraphDB

社交网络,推荐系统等,专注于构建关系图谱。

类似于图的结构存储数据,可以利用图结构相关算法,便于探索数据之间的联系。

  • NoSQL的缺点:
  1. 不支持SQL语句:不提供SQL支持,学习和使用成本较高;
  2. 提供的功能有限:无事务处理,完整的解决方案和报表等支持不好;
  3. 稳定性:产品的完善程度和稳定性,不能和几十年的历史的关系型数据库相提并论。

3. SQL+NoSQL : NewSQL

NewSQL数据库是一种开源软件产品,相较于传统关系型数据库和NoSQL,它既能够使用SQL语句来查询数据,同时具备现代化,分布式,高容错,基于云的集群架构。

NewSQL 结合了RDBMS丰富灵活的数据互动能力以及稳定和管理机制,也能提供NoSQL针对大数据和快数据的实时扩展能力。


本文最终解释权归本文作者所有,未经允许不得私自转载

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
1
分享
相关文章
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
用 SQL 还是 NoSQL?Apipost 的回答是:两个都要!
构建API如同经营公司,需根据任务选择合适工具。数据库世界中,SQL(关系型)和NoSQL(非关系型)各有所长。SQL如高档餐厅的预约系统,结构化、规则明确,适合管理清晰格式的数据;NoSQL像美食车留言墙,灵活自由,适应多样化数据格式。 Apipost同时支持SQL与NoSQL,助你应对复杂应用场景。例如开发健身App,用SQL管理用户注册、付款等结构化数据,用NoSQL存储健身日记、自拍等灵活内容。选对工具,事半功倍,让API开发更智能高效!
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
65 16
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
JetBrains DataGrip 2025.1 发布 - 数据库和 SQL 跨平台 IDE
JetBrains DataGrip 2025.1 (macOS, Linux, Windows) - 数据库和 SQL 跨平台 IDE
95 0
数据库数据恢复—SQL Server报错“错误 823”的数据恢复案例
SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份不可用,那么就需要通过专业手段对数据库进行数据恢复。
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
124 9
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等