关于SQL+NoSQL : NewSQL数据库

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 一、什么是数据库? 一般一个数据库系统(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针对大数据和快数据的实时扩展能力。


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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
3天前
|
存储 缓存 NoSQL
常见的 NoSQL 数据库有哪些?
常见的 NoSQL 数据库有哪些?
6 2
|
4天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
5天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
15天前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
15 2
|
19天前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
46 2
|
20天前
|
SQL JSON Java
没有数据库也能用 SQL
SPL(Structured Process Language)是一款开源软件,允许用户直接对CSV、XLS等文件进行SQL查询,无需将数据导入数据库。它提供了标准的JDBC驱动,支持复杂的SQL操作,如JOIN、子查询和WITH语句,还能处理非标准格式的文件和JSON数据。SPL不仅简化了数据查询,还提供了强大的计算能力和友好的IDE,适用于多种数据源的混合计算。
|
19天前
|
存储 SQL NoSQL
数据库技术深度探索:从关系型到NoSQL的演变
【10月更文挑战第21天】数据库技术深度探索:从关系型到NoSQL的演变
26 1
|
21天前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
22天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)