开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:数据库的类型(TP、AP、NoSQL、工具)(一)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19075
数据库的类型(TP、AP、NoSQL、工具)(一)
内容介绍
一、数据库系统演进及分类
二、阿里云数据库的产品目录
三、关系型数据库@阿里云
四、NoSQL数据库@阿里云
五、 数据仓库@阿里云
六、数据库生态工具@阿里云
课程目标
学习完本课程后,你将能够:
1、了解常见的数据库分类有哪些
2、掌握阿里云数据库主要分类和典型产品有哪些
3、能够根据业务场景,选择合适的云数据库
一、数据库系统演进及分类
云计算加数据库系统演进:
先看一下数据库的发展历史,它在20世纪50、60、70年代开始兴起,接着在80年代,商业数据库开始起步,此时兴起了一大批非常有名的商业数据库,有一些到现在在业务系统中还担当着非常重要的作用。这里有 Oracle、IBM DB2、Sybase、SQL Server、Informix 等等。到了90年代,开源数据库便快速兴起, MySQL 和 PostgreSQL为代表。到了20世纪和21世纪初,随着信息技术的快速发展,不仅仅要关注数据库的存储,而且把重心放在数据的分析上,希望从存储的数据中挖掘到更多的数据价值,帮助业务做更多的商业决策,这个时候分析也开始升级了。随着互联网的快速发展,大数据和数据量越来越大,数据存储的要求也越来越高。在这个时候传统数据库的 ACID模型和它的扩展性显现出来的问题非常大,在这样的背景下,诞生了NoSQL 数据库,典型的代表包括 MongoDB、Redis、HBase、SAP Hana、Hadoop 等等。随着云计算的快速兴起,云原生数据库又在数据库的舞台上发挥了重要作用, AWS Aurora、Redshift 为代表,国内的阿里云则有 polar DB 、Analytic DB 等产品,从整个数据库的发展历史,我们可以看到它的大致发展的脉络是这样。从数据结构上早期的数据库更多的是结构化的数据,满足在线处理的需求,紧接着随着数据量越来越大,我们需要处理海量的数据,而且不仅仅是存储,我们需要对它进行计算和分析,获得更多的数据价值的。随着互联网的发展以及 IOT 的发展,异构数据的存储和分析的需求也越来越多。我们看到当下的异构数据,可能包括结构,除了原来的关系数据库之外,还要存储各种类型的异构数据,列出来的包括图数据、时序数据、向量数据、空间数据、文本数据等。在这种情况下,也就形成了多种数据库并存的情况,包括关系型数据库、 NoSQL 数据库以及云原生分布式数据库。当前的云计算快速发展,我们也知道在 Gartner 的报告中也提到在2022年的时候,所有的数据库将有75%都运行在云上,可见,云计算已经对信息技术产生了重大影响。云计算的本质是资源的高效石化,数据库的核心在于数据的生产、处理、存储与消费,云计算和数据库相结合,未来的技术将以云原生加分布式为基础,会有一些新的趋势,包括计算分析一体化、存储计算分离的技术,在数据库里面将会被广泛的所运用。
百家争鸣的数据库:
根据 DB-Engines 的统计,当前的数据库总共有364种,以下是2021年2月份的数据,大家可以去这个网站看一下更新的数据。在这里把数据库分成了几个大的分类。第一类是关系型数据库,这一类是其实最经典的,可以看到左侧的这个图,一共有164个。第二个比较典型的是 Key-Value 数据库,典型的代表有 Redis 。第三个大的分类是文档数据库。
根据 DB-Engines 数据统计,共计364种数据库(2021年2月)
根据存储的数据模型分类
最受欢迎(根据 DB-Engines )的引擎
No.1关系型数据库
主要代表有: Oracle、SQL Server、MySQL 等
No.2Key-Value 数据库
主要代表有: Redis
No.3文档型数据库
主要代表有: MongoDB
在线事务型数据库( OLTP )、在线分析型数据库( OLAP )
我们按照在线事务型数据库和在线分析型数据库来对数据库进行一个大的分类。这个分类在我们的实际的大公司的整个数据处理系统中更加有意义。第一个我们先看一下纵坐标,纵坐标从下往上 SQL 能力是由弱变强的,而横坐标它的数据支持量从左到右是由小变大的,这是我们将数据的处理的要求按照这两个维度划分。比如最经典的关系型数据库,它的数据量处理通常没有那么大,相对来说比较小, SQL 的处理要求特别强,也就是第二象限,这里包括所有经典的OLTP数据库, SQL Server 、Oracle 和开源数据库 MySQL 以及新起的 polar DB polo、Aurora 等等。而第一象限则是 SQL 处理能力很强,数据要求也非常大通常是在传统数据库的 OLAP 数据库做的扩展,可以看到 SQL Server、Oracle 、包括 IBM 的 DB2 也都有一部分在这个象限,另外也有专门针对这种场景诞生的新的数据库,包括早期非常有代表性的 teradata, 以及现在的云数据库 amazon REDSHIFT和阿里云的 Analytic DB 等。再讲一下左下角的 NoSQL 数据库,它具备的特点一个是数据量有的比较小,有的也非常大,图数据库的数据不一定非常大,但它的关联性非常强,包括什么 cassandra、Mongo DB 等等,这些数据库的数据量可能也比较大,但通常它们的SQL 处理能力比较弱。另外还有一些大数据处理系统是在右下角,它的这个数据量非常大,但在这种情况下这种数据处理系统的 SQL处理能力会弱一点,有几个代表,第一个是 hadoop、spark、Google BigQuery 等等。
二、阿里云数据库的产品目录
阿里云数据库的产品目录有几个大的分类,包括关系型数据库、NoSQL 数据库、云原生数据仓库、数据仓库等,以及数据库的生态工具、数据库的专属集群。
阿里云企业级云原生数据库产品体系:
根据阿里云数据库的发展历史,我们再看一下整体是如何分类的。阿里巴巴在早期也就是2009年的时候,主要是使用商业数据库。从2010年开始逐渐开始从商业数据库转到开源数据库,发展自己的开源数据库分支 AliSQL 支撑双11,紧接着就开始进入云数据库阶段早期是以托管数据库,发布了关系型数据库 RDS 、云数据库 Redis 等,到现在以企业级云原生数据库为主。在过去的一两年中,阿里云数据库发布了云原生关系型数据库 polar DB 及其分布式版 polar DB-X 以及云原生数据仓库 Analytic DB 、云原生多模数据库 Lindorm 等。右边则是阿里云对数据库几个大的分类,第一个是关系型数据库分类、第二个是分析型数据库、第三个是 NoSQL 、也就是非结构化数据库、第四个是数据库的生态工具、第五个是数据库的专属集群,在这之下,还有阿里数据库整个的智能管控平台,以及数据库的自治服务。所有的这些数据库,都可以在公共云上去使用。另外我们也可以通过专有云输出到企业的私有环境中。