含PPT下载

在这个全国抗疫的特别时刻,阿里CIO学院期望与更多企业的CIO、CTO、技能专家、程序员站在一同,因而举行攻“疫”技能公益训练,同享技能在人类灾祸前能够呈现的价值。在阿里CIO学院攻“疫”技能公益训练的榜首场直播中,达摩院数据库首席科学家,阿里巴巴副总裁,ACM出色科学家李飞飞为我们带来了企业级云原生分布式数据库系统的同享,以下内容由视频直播内容收拾而成。

阿里妹预告:今晚7点30,阿里巴巴集团副总裁华先胜开课啦!点击文末“阅览原文“,立刻占位直播间。

一、云原生分布式数据库系统的开展进程

数据库商场剖析与猜测

首要为我们将介绍整个数据库商场剖析与猜测。依据Gartner公司的剖析陈述,2018年全球根底软件如虚拟化软件、操作系统、存储等的商场规划大约为2000亿美金,其间数据库占20%,大约为461亿美金。而我国的数据库商场规划大约为161亿人民币,但这一数字实际上由于各种原因被远远轻视了。2018年数据库商场的添加率是18%,其间云数据库占比到达了22.75%,而Gartner猜测在未来的2到3年内云数据库的占比或许会到达75%。在世界范围内,云数据库的首领毫无疑问当然是亚马逊。亚马逊是最早在云数据库商场发力的厂商,也是现在做的最好的一家云厂商。而在AWS做云数据库之前,这个商场处于“None-Player”的状况,传统数据库商场的巨子是Microsoft、IBM、Oracle,而AWS未能跻身其间。但云数据库赛道为AWS带来了开展的机会,其开展速度十分快,它的云原生数据库Aurora在2018年就到达了3亿美金的营收。

数据库系统演进

数据库现已开展了40年,能够说是一个传统又陈旧的范畴。回忆数据库的开展前史,1980年到1990年归于商业起步阶段,此刻Oracle、IBM DB2、Sybase以及SQL Server和Informix等开端呈现。

1990年至2000年,开源数据库开端展露头角,呈现了PostgreSQL和MySQL等。与此一起,呈现了一些剖析型数据库,由于之前呈现的都是OLTP,而现在跟着许多数据的呈现,需求关于这些数据进行剖析,因而呈现了OLAP,而为了防止读写抵触,就需求树立剖析型数据库系统,Teradata、Sybase IQ、Greenplum等就快速生长起来。

2000年到2010年期间,以谷歌为代表的互联网公司逐步推出了NoSQL数据库。尤其是谷歌的GFS、Google Bigtable、Google MapReduce三大件。Google File System处理了分布式文件系统问题,Google Bigtable处理了分布式KV存储的问题,Google MapReduce处理了在分布式文件系统和分布式KV存储上面怎么做分布式核算和剖析的问题。之所以发生了这三大件,是由于数据强共同性对系统的水平拓宽以及海量数据迸发式添加的剖析才干呈现了断层。因而就需求处理这个问题,把这种数据的强共同性需求弱化,换来能够运用用分布式的集群做水平拓宽处理。谷歌三大件在业界诞生今后,很快的衍生了一个新的范畴叫NoSQL,便是针对非结构化、半结构化的海量数据处理系统。现在也有许多很好的商业公司依据NoSQL开展,比方说文档数据、缓存等我们往常运用开发都会用到的NoSQL系统。

而在2010年今后,AWS Aurora、Redshift、Azure SQL Database、Google Spanner以及阿里云的POLARDB和AnalyticDB等都开展起来了,它们的特色便是云原生、一体化分布式、多模和HTAP的才干。

总结而言,数据库的演进阅历了从结构化数据在线处理到海量数据剖析,从SQL OLAP的RDBMS到ETL OLAP的Data Warehouse和Data Cube,再到今日异构多源的数据类型的开展进程。

数据库:云上运用的要害一环

现在,上云现已成为一种趋势。而在上云的进程中,数据库则被认为是云上十分重要的一环。由于云最开端供给的是IaaS,而跟着各种智能化运用的鼓起,数据库就成为了从IaaS到智能化运用衔接的重要一环。

数据库开展:事务视角

我们知道,数据库能够分为几类:

最经典的是传统联系型OLTP数据库,其主要用于事务处理的结构化数据库,典型比方是银行的转账记账、淘宝下单、订单以及产品库存办理等。其面对的中心应战是高并发、高可用以及高功用下的数据正确性和共同性。

其次是NoSQL数据库及专用型数据库,其主要用于存储和处理非结构化或半结构化数据,不强制数据的共同性,以此换来系统的水平拓宽、吞吐才干的进步。

再次是剖析型数据库 ,其运用场景便是海量的数据、数据类型杂乱以及剖析条件杂乱的状况,能够支撑深度智能化剖析。其面对的应战主要是高功用、剖析深度、与TP数据库的联动,以及与NoSQL数据库的联动。

除了数据的中心引擎之外,还有数据库外围的服务和办理类东西,比方数据传输、数据备份以及数据办理等。

终究便是数据库的管控渠道,无论是私有云、专有云、混合云仍是自己的IDC机房内进行布置,总要有一套数据库管控系统来办理数据库实例的发生和消亡、实例的资源消费等,能够以简略的方法供给给DBA以及数据库开发者。

数据库系统DBMS的价值

如下图所示的是文件方法的数据存储系统和DBMS的差异。数据库系统的中心方位在操作系统和SQL的接口之间,简略而言便是在存储系统与上层笼统之间架起了一个系统来办理关于事务有用的数据,假如不这样规划则需求运用一些高档程序言语开发运用程序来与操作系统交互并办理这些数据。而数据库将关于数据的办理、存储以及消费笼统出来,这样一来不必每次都在运用程序里写相关的逻辑了,而能够专心于事务逻辑,数据办理相关的逻辑悉数交给数据库系统完结,而且用Structured Query Language结构化查询言语关于数据拜访接口进行笼统。

数据库系统的中心模块

将数据库系统拆开来看,其间心模块包含运用接口、SQL接口、查询履行引擎、数据拜访模块和存储引擎。其间,查询履行引擎进一步能够拆分为计划生成器、计划优化器和计划履行器;数据拜访模块则能够分为事务处理、内存处理、安全办理以及文件和索引办理等模块;而且事务处理是最中心的模块,其间包含了溃散康复和并发操控;最底层的存储引擎则包含数据文件、索引文件和系统及元数据文件。

查询剖析处理进程

数据库查询剖析处理进程是这样的:首要,经过SQL句子或许大数据系统的Dataframe API将查询使命提交上来,之后经过Simba PraserSimba Parser进行处理,此刻会有各式各样的履行方法,并生成Catalog和逻辑履行计划;之后关于逻辑履行计划进行优化,并生成物理履行计划;之后在凭借系统的核算信息,如索引办理、内存办理来生成一个优化后的物理履行计划,再履行并生成终究成果或许RDD。

简略而言,数据库系统的架构便是耐久化存储的数据依照Data Page的方法进行存储,这些数据块在查询拜访的时分会被带到内存里边。系统中有内存池,每个内存池能够装载一个Page,此刻的问题便是内存池的巨细是有限的,假如数据存储十分大,需求进行优化。此外,还触及到优化数据拜访的问题,一般经过索引处理,主要是Hash索引和树形索引。

数据库系统应战

数据库系统最要害的应战便是并行拜访时的写写抵触和数据共同性问题。此外,还有读和写的抵触问题,比方在数据库里做批量写入的时分系统宕机,应该考虑怎么让系统主动康复。

为处理以上的问题,数据库系统提出了一个中心概念——事务。简略而言,事务便是一系列动作能够被看作一个全体,从用户视角来看事务是阻隔运转的,一个用户的事务和另一个用户没有联系。假如系统呈现异常,事务要么悉数履行结束,要么一个也没有被履行。这样引申出来事务的中心概念:原子性、共同性、阻隔性、耐久性。

数据库系统的应战

数据库系统与大数据系统十分相关,而在剖析型数据库系统里边也会面对十分多的应战,比方猜测用户的退货率需求进行十分杂乱的查询剖析而且需求十分杂乱的机器学习模型。

二、数据库系统架构的对等到趋势

云原生数据:要处理什么问题?

传统架构依靠于高端硬件,每套数据库系统服务器少,架构相对简略,但无法支撑新事务的扩展需求。而云核算组织的中心逻辑便是经过虚拟化技能带来池化资源。云原生数据库选用分布式数据库架构,完结大规划扩展,每套数据库系统横跨多台服务器和虚拟机,带来了全新的系统办理应战。其间最中心的应战便是怎么完结弹性以及高可用,完结按需按量运用,使得资源高效运用。

云原生数据库管控渠道:DBaaS智能化简化办理维护

云原生数据期望管控渠道能够完结多实例一致办理;全图形化,无需命令行;分钟级装置,集群布置;主动备份,时刻点康复;动态扩容和缩容;以及功用监控和优化调整。

阿里巴巴数据库开展前史

在2005到2009年,其时阿里巴巴具有亚太最大规划的Oracle RAC集群;在2010年到2015年开端,运用开源数据库以及分库分表的技能来处理关于商业数据库的依靠;从2016年开端到现在,阿里巴巴都在自研数据库上发力,TP方面包含POLARDB和OceanBase,AP方面则有剖析型数据库AnalyticDB。

灵敏的布置形状

跟着云核算的开展,数据库的布置方法也发生了很大的改变。传统的数据都是布置在客户机房里边,与客户的机器绑定。而在云环境下,期望数据库能够在多种形状下布置,比方公有云、专有/私有云、混合云以及软硬件一体化独立布置,以及纯软件输出。

Oracle等数据库厂商也正在向着AWS的布置方法转型。

多模数据库系统

数据库系统别的的一个趋势便是多模。数据库系统的演进阅历了从最早的联系型数据库OLTP到半结构化,再到剖析型数据库OLAP等非结构化的数据库,再开展到现在的多模数据库。关于多模数据库而言,主要有两种维度,南向维度是数据库能够有多种存储港方法,北向维度是能够有多种查询接口和规范,而期望由同一套数据库引擎来支撑。

数据库智能化 主动化管控渠道

凭借于机器学习、人工智能技能,期望能够与数据库内核进行结合,使得数据库能够愈加主动化和智能化,完结自感知、自决议计划、自康复和自优化。

新硬件: 软硬件一体化规划

未来,下一代的企业级数据库必定要结合软硬件一体化的规划理念,而不能把软件和硬件离隔,只要将软硬件结合在一同,才干把系统的优势发挥出来。

行存储VS.列存储

TP和AP的要害差异便是行存储和列存储,前者依照即将数据存储起来,其长处是能够高效简易拜访一整条记载来处理更新,缺陷是需求拜访和读取不需求的数据信息;后者的长处是只需求读取所需数据,缺陷是更新一条记载不同特点时需求屡次拜访。

HTAP:事务处理与剖析处理一体化

HTAP期望能够将行存和列存结合起来,在一套系统里边完结队伍混存,可是这样也会遇到许多应战,最中心的便是数据共同性的应战。

云原生架构: 弹性x高可用x企业实践x敞开生态

传统数据库架构选用单节点架构,其有点是布置和开发简略,缺陷便是十分难于做弹性缩扩容。云原生架构是依据RDMA等网路完结分布式同享存储,使得上层运用看起来存储是一份,在上层完结存储与核算别离,使得存储和核算能够完结独立的缩扩容,这就带来了极致的弹性,也为云原生带来了很好的办理方法,如阿里云的POLARDB、AWS的Aurora等都是依据这样架构。

还有别的一种便是分布式架构,其关于数据库进行分库分片,其特色是水平扩展才干特别强,当数据质变大、并发质变高的时分只需求添加节点即可,其缺陷是假如要求不改动上层事务逻辑,就有必要要有才干去处理分布式事务和分布式查询,典型的代表有蚂蚁的OceanBase、阿里的POLARDB-X、ADB、TDSQL等。

下一代企业级数据库:云原生 分布式 HTAP

下一代的企业级数据库架构应该是将云原生架构和分布式架构以及HTAP完美结合起来。上层是分库分表Shared-Nothing的架构,基层是存储与核算别离的云原生架构,这种架构的优点在于既能够水平扩展,又能够完结高可用的才干。而且面对高并发的状况时,所需求的分片数量会大大减小,因而分布式事务的杂乱性也会大大下降。

分布式系统CAP理论

为了便于我们了解,这儿为我们介绍一些分布式系统的理论,其间最中心的是CAP理论,即共同性、可用性、分区容错性。处理上述问题存在不同的架构,包含单机单节点数据库架构、对数据进行分区分片、中间件架构,此外最好的方法便是一体化分布式,系统内部进行协谐和处理并将终究成果返还给用户。

分布式数据库系统:高可用

这儿触及到高可用的问题,那便是分库分表之后数据库呈现问题该怎么办。分布式高可用数据库能够经过数据共同性协议来保证分区数据共同性,业界供给了两个比较优异的分布式数据共同性协议,即Paxos和Raft。协议的内容大致便是分区进程必定能够对一个数据的取值达到共同,对一个数据的取值必定能够有一个可取值被提议,一旦分区进程对一个数据的取值达到共同,那么一切的分区进程终究都能够得到这个取值。

三、云数据库技能高速开展的现状

数据库技能与产品是完好的生态系统

本部分结合阿里巴巴的数据库产品进行介绍。阿里云数据库不仅在云上供给服务,还会支撑整个阿里巴巴集团内部经济体的一切活动。2019年双11,在零点刚过的榜首秒,阿里的数据库系统峰值添加了大约135倍,瞬间迸发,这就需求数据库具有较高的可扩展性、弹性以及高可用。数据库技能与产品有必要是一个完好的生态系统,因而需求POLARDB、ADB等东西来支撑。

云原生数据库: POLARDB

POLARDB底层是依据RDMA的分布式同享存储,经过Parallel Raft协议在分布式同享存储里完结高可用,上层完结了多个核算节点,完结一写多读,由于底层看到的是一份逻辑数据,因而事务处理体现十分好,而且能够依据需求完结分钟等级的弹性缩扩容。此外,这种架构不触及到分库分表的兼容性改造,因而能够供100%兼容MySQL、100%兼容PG和Oracle的版别。

POLARDB Box:高功用一体机

为了支撑多种形式的数据库布置,阿里云在2019年也推出了一体机的产品处理计划。

POLARDB-X:分布式版别支撑水平扩展 HTAP

阿里巴巴将XDB和POLARDB的才干以及DRDS的才干进行了交融,完结了分布式数据库POLARDB-X。其上层便是DRDS,主要做分布式的事务处理和查询处理,下面一层便是POLARDB层能够完结水平扩展和弹性扩展。POLARDB-X的存储引擎运用了X-Engine。

三节点金融级可用集群

在一个AZ里边想要完结三节点的金融级高可用,则运用Raft协议保证三副本之间的数据规范共同,保证高可用、高可用以及功用。

两地多中心

跨AZ的布置存在较大的应战,一般来说是在同城的三副本之间跑AZ的Raft协议,而跨城或许跨域则运用日志的同步技能完结,比方经过DTS完结,基本上便是经过解析Binlog的方法将源端的日志解析出来同步到远端再Replay。

Big Data Fast Data:将海量数据转化在线实时可用

现在业界的趋势是将大数据和FastData结合起来,也便是在线剖析和交互核算在线化和实时化。

依据分布式集群的大数据核算与剖析系统:由数据库系统演而来

无论是MapReduce仍是Spark等大数据系统,其形式都是由数据库系统演从而来的,只不过Spark的处理都是在内存中进行的,这样能够大大下降系统的开支。

Spark SQL:大数据和数据库技能在快速交融

Spark SQL是现在十分盛行的运用SQL处理数据和剖析的结构化模块,Spark SQL的形式和数据库内核的形式十分相似,只不过是将SQL的输入转化为Spark的Job去履行。

大数据系统的中心:并行处理方法

依据BSP模型的大数据系统面对的最中心应战便是并行处理时使命履行进展不共同而导致的同步问题,而现在期望大数据系统能够和数据库系统相同能够完结并行的同步。

依据DAG的调度和计划器

无论是数据库系统仍是大数据系统,其调度方法都是依据DAG的调度和计划器。也便是将履行计划看做一个有向无环图,进行分组履行,每一轮履行完结之后进行同步,再进行到下一轮。

技能趋势:Serverless Storage Serverless Compute

大数据和数据库系统正在进行交融,向着在线实时化开展。而在线实时化中最为中心的应战便是要处理多个数据源和要进行Serverless Computing。

四、阿里云数据库总结

智能化OLAP:AnalyticDB实时交互式数据仓库

举例而言,阿里云完结了智能化的OLAP,实时交互式数据仓库AnalyticDB,其也依据BSP模型,因而能够进行在线核算和剖析处理。

AnalyticDB的别的一个优势便是将非结构化数据、半结构化数据有效地和结构化数据联合处理,这是由于其具有向量化核算引擎,能够关于非结构化数据完结向量化,从而完结联合处理。

Data Lake Analytics-数据湖:全域数据,大局敞开剖析

数据湖其与数据仓库的相同点是都是为了处理异构剖析处理的实质问题,可是数据仓库里边有自己的源数据办理和存储引擎,而数据湖只做了源数据办理,而没有存储引擎。数据湖只是去衔接不同的数据源,而不是将数据转化到自己的存储引擎,这是数据库服务与ADB的实质差异。在阿里云等干流的数据湖内核中一般都会结合Presto或许Spark的内核来做交互式核算,并将核算成果供给给BI东西。由于其没有自己的存储引擎,因而十分适合于做Serverless Computing的架构。

企业级NoSQL:非结构化和半结构化数据库套件

NoSQL要支撑非结构化与半结构化数据的处理,阿里云依据Redis完结了支撑KV缓存的Tair,处理文档数据的MongoDB,处理时序时空的TSDB,处理图的GDB,处理宽表的Cassandra等。总而言之,NoSQL抛弃了传统联系型数据库对ACID数据共同性的要求,换取了对非结构化、半结构化数据这种杂乱数据水平拓宽的才干。

企业数据办理功用矩阵

阿里巴巴的企业数据办理功用矩阵供给了面向研制、DBA、内审、运营决议计划的数据操作一致进口和事务报表服务。关于企业级数据库而言,存在安全管控、改变安稳、数据剖析的需求,这儿边触及SQL使命履行引擎、逻辑库履行引擎、安全规矩引擎、数据脱敏引擎等。

数据安全保证

阿里云上的数据库办理产品叫做DMS,它除了供给上述服务,还供给了数据安全保证。从“审计”到“主动阻拦”再到数据脱敏的整个流程都由DMS完结。DMS内置了安全规矩库、规矩履行器以及动作Action,这样当事务主系统呈现问题时,数据不会丢掉。

数据库备份DBS

将备份数据变废为宝,对备份数据进行剖析和查询乃至是BI的决议计划,这是现在CDM的趋势。

企业级云原生管控渠道

管控渠道的一个趋势,期望在公有云中供给“专有云”的才干。公有云管控尽管供给了实例办理的才干,但许多运用的时分需求自己去直接办理的才干。例如在公有云上能够拿到自己机房root、admin的权限,因而阿里云就做了大客户的专享集群,运用了云原生的管控才干如K8S的方法,能够尽或许的把管控透明化,把权限敞开给客户和运用。

AI for DB- DAS: 智能化数据库管控与内核

在业界,许多集成智能化和机器学习成为管控的趋势。下图是阿里云管控的全体架构,它做了一个SDDP,对每一个实例去收集功用数据,进行建模剖析,实时的进行监控。在这样的优化下,阿里云慢SQL的数量大幅度削减,内存的运用率大幅度进步。

数据安全

规范的云上数据安全包含传输进程、存储进程等,例如引证TDE、Data at Rest Encryption。阿里云对数据安全的几个维度进行了总结:如加密的数据拜访和存储、减小内部进犯危险、日志数据共同性的可验证等。

全程加密数据永不走漏

数据进入内核今后也是进行加密的,不需求解密,加密运用的是客户的密钥,其他人不行见。这样保证了即便在内部进犯的状况下,整个数据进程也是彻底保密的。

Oracle搬迁-数据库及运用搬迁改造ADAM

把Oracle现有的数据搬迁到云上,是一个从评价到决议计划、施行、优化的进程。运用主动化东西ADAM,能够经过主动化生成报表来告知用户从Oracle搬迁到方针数据库哪些运用是兼容的,哪些运用是不兼容的,这使做运用搬迁决议的时分有一个明晰明晰的进程,知道搬迁改造的本钱。

ADAM - ORACLE搬迁全链路处理计划

有了如下流程系统:运用ADAM这种主动搬迁评价东西去做运用兼容性、共同性的评价,之后做评价改造,再用DTS把数据库搬迁到不同的方针库,这样就形成了一个规范化、流程化、产品化的Oracle搬迁计划。

Oracle 搬迁的科学计划选型

主张中小型事务系统要挑选与Oracle高度兼容的方针库进行搬迁,例如PolarDB。大型中心系统将来的开展方法很有或许是相似分布式的架构,剖析型能够挑选AnalyticDB,事务型能够挑选PolarDB-X 分布式。

阿里云数据库总结

现在,阿里云在亚太商场排名榜首,全球商场排名第三。从营收来讲,在全球商场只是落后于亚马逊和微软,在云数据库的商场上现已超过了许多传统型数据库,如Oracle、Google这种十分微弱的竞争对手。

运用事例

终究介绍一些依据阿里云的产品和技能做的一些处理计划和运用事例。首要阿里巴巴的数据库产品支撑了阿里巴巴集团内部一切杂乱的事务,外部事务支撑了从国家重点项目的云上商业系统的运用,例如从制造业到世界客户、零售、金融、互娱。

阿里巴巴数据库运用的详细事例包含,协助某东部银行依据PolarDB分布式版别快速构建新式事务与小微事务的互联网架构;协助我国的某第三方跨境付出渠道依据PolarDB分布式版构建高并发、低延时的付出系统,一起运用DTS、DLA做异构多元数据处理以及实时数据同步;运用AnalyticDB替换传统的“Sysbase IQ Hadoop”处理计划,协助某中心券商完结金融加快剖析渠道。

阿里巴巴还协助天弘基金依据AnalyticDB构建了承载了500TB数据量和1亿用户的实时查询核算渠道;协助南区最大的银行之一构建依据DTS的“异地容灾”;协助我国邮政运用AnalyticDB完结全国10万多组织寄报表渠道;运用云原生的数据库技能协助银泰百货改造数据库系统,完结了弹性高可用,使其能够支撑大促20倍峰值,并将本钱削减60%以上;

总结

数据库的未来开展趋势能够总结为以下四点:

产品架构与技能创新: 云原生 分布式 。架构上分布式同享存储、存储核算别离,云原生架构 Shared Nothing分布式架构,满意弹性、高可用、水平拓宽的才干。

数据应战: 多模,结构化与非结构化数据 。结构化与非结构化数据怎么交融异构处理,比方数据湖的概念、ADB里边用向量处理引擎把非结构化数据变成结构化数据,高维向量、多源异构数据处理的技能。

数据处理与剖析: 海量数据剖析在线化 。怎么对海量数据进行在线剖析和核算,支撑实时在线交互式剖析,需求做并行处理,对并行调度核算进行优化。

系统才干进步: 智能化 安全 。如在管控渠道的层面怎么做智能化的调度、监控以及主动修正,怎样去做数据的安全处理、隐私维护、加密处理等等,使得整个数据库的运用愈加便利牢靠、运维简易。

数据库上云/搬迁是一个生态,而不是一个项目。回忆一下本文同享的一切技能,数据同步与传输技能来做数据库的同步搬迁,需求分布式云原生的系统来做弹性高可用,也需求NoSQL做图、时序/时空等非结构化数据的处理,一起需求数据同步/分发到剖析系统里边做实时核算剖析,还要备份、混合云的办理,以及针对企业数据库研制的DevOps开发流程办理套件。总而言之,只要完好的生态系统才干支撑我国的数据库商场快速开展以及走向全球。

辨认下方二维码,检查: 李飞飞直播问答、完好版PPT、视频回放。

↑↑扫码下载PPT

福利来了

现任阿里巴巴集团副总裁/高档研究员、达摩院人工智能中心及城市大脑试验室主任,美国电气与电子工程师协会会士,美国核算机协会出色科学家 华先胜 在线直播《人工智能:是风,是云,仍是雨?》。直播时刻: 2月27日

时间

2020-08-07 08:53


栏目

互联网 养老


作者

admin


分享