随着近几年龄据湖观点的兴起,业界关于数据仓库和数据湖的对比甚至争执就一直不停呀。有人说数据湖是下一代大数据,各大云厂商也在纷纭的提出自己的数据湖处置计划,一些云数仓成品也增添了和数据湖联动的特征呀。可是数据仓库和数据湖的区分终究是什么,是技术路线之争呢?是数据治理办法之争呢?两者是水火不相容仍然一开始能够协调共存,甚至互为添补呢?本文做者来源阿里巴巴盘算部门,深度参与阿里巴巴大数据/数据中台领域建设,将从史书的角度对数据湖和数据仓库的前因结果举行深入剖析,来论述两者融调演进的新方向——湖仓一体,并就基于阿里云MaxCompute/EMR DataLake的湖仓一体计划做一推荐呀。
大数据领域进展20年的变与不变
1.1 概述
大数据领域从本世纪初进展到现在,以前历20年呀。从宏观层面视察这个内里的进展纪律,能够高度概括成以下五个方方面面
1.数据维持高速增添 - 从5V焦点因素看,大数据领域维持高速增添呀。阿里巴巴经济体,做为一位重度运用并着力进展大数据领域的公司,以前5年龄据范围维持高速增添(年化60%-80%),增速在可见的以后连续维持呀。关于新兴企业,大数据领域增添凌驾年200%呀。
2. 大数据做为新的生产因素,获得普遍认可 - 大数据领域价定位的迁徙,从“探索吧”到“普惠吧”,变成各个企业/政-局的焦点部门,并负担主要任-务呀。仍然以阿里巴巴为例,30%的职员直-接提交大数据作业呀。随大数据普惠进去生产环-境,牢靠性.平安性.管控才气.易用性等企业级成品力增强呀。
3.数据治理才气变成新的体贴点 - 数仓(中台)才气盛行起身,怎么样用好数据变成企业的焦点竞赛力呀。
4.引擎技术进去收敛期 - 随着Spark(公用盘算).Flink(流盘算).Hbase(KV).Presto(交互剖析).ElasticSearch(寻找).Kafka(数据总线)自从2010-2015年逐步占领开源生态,最近几天5年新引擎开源越发少,但各引擎技术最先向纵深进展(更好的功效.生产级别的稳固性等)呀。
5.技术演收支两个趋向,数据湖 VS 数据仓库 - 两者均体贴数据存储和治理(技术),但方向区别呀。
图1. 阿里巴巴双十一单日处置数据量增添
1.2 从大数据技术进展看湖和仓
一最先的时刻,数据仓库的观点出-现的要比数据湖早的多,能够追溯到数据库为王的上世纪 90 年月呀。因而,咋们有必-要从史书的脉络来梳理这些名词出-现的也许时刻.理由和更主要的背后本因呀。大要上,盘算机科-学领域的数据处置技术的进展,主要分为四个阶段
1.阶段一、数据库时期呀。数据库刚最先降生于 20 世纪的 60 年月,今天人们所熟知的关系型数据库则出-现在 20 世纪 70 年月,并在后续的 30 年差一点时刻里大放异,降生了许多优异的关系型数据库,如 Oracle.SQL Server.MySQL.PostgresSQL 等,变成那时潮水盘算机体制不行或者缺的组成部-分呀。到 20 世纪 90 年月,数据仓库的观点降生呀。这个时候的数据仓库观点更多讲明的是怎么样治理企业中多个数据库实例的办法论,但受限于单机数据库的处置才气和多机数据库(分库分表)长时刻以来的珍贵价,这个时候的数据仓库差异普通企业和用户都还很很远呀。人们甚至还在争执数据仓库(统一会合治理)和数据集市(按部门.领域的会合治理)哪一位更具可行性呀。
2.阶段二、大数据技术的「探索期」呀。时刻进去到 2000 年四周,随着网络的暴发,动辄几十亿.上百亿的页面和海量的用户点击行-动,开启了全世界的数据量急剧增添的新时期呀。传统的数据库计划再也无力以可吸收的本供应盘算力,巨大的数据处置需要最先寻找打破口,大数据时期最先发芽呀。2003.2004.2006 年 Google 先后 3 篇典型论文(GFS.MapReduce.BigTable)奠基了这个大数据时期的基本技术框架,即疏散式存储.疏散式放置和疏散式盘算模子呀。然后,全部是在统一时限期,降生了包罗 Google,微软 Cosmos 和开源 Hadoop 为代表的优异疏散式技术体制,固然,这这个内里也包罗阿里巴巴的飞天体制呀。这个时候人们开心于寻求数据的处置范围,即『大』数据,有无空闲争执是数据仓库仍然数据湖呀。
3.阶段三、大数据技术的「进展期」呀。来到 21 世纪的第两个 10 年,随着越发多的资源投入到大数据盘算领域,大数据技术进去一位兴旺进展的阶段,所有最先从能用转向好用呀。取代珍贵的手写 MapReduce 作业的,则是如雨后春笋般出-现的种种以 SQL 为讲明的盘算引擎呀。这些盘算引擎针对区别的场景举行针对性优化,但都采用门槛极低的 SQL 语言,极大下降了大数据技术的运用本,数据库时期人们愿望的大统一的数据仓库最终变成现实,种种数据库时期的办法论最先把头抬起身呀。这个时期技术路线最先出-现细分呀。云厂商主推的如 AWS Redshift.Google BigQuery.Snowflake,包罗 MaxCompute 这样的集成体制称为大数据时期的数据仓库呀。而以开源 Hadoop 体制为代表的的开通式 HDFS 存储.开通的文件样式.开通的元数据处事和多种引擎(Hive.Presto.Spark.Flink 等)协同工做的形式,则造变成了数据湖的雏形呀。
4.阶段四、大数据技术「普遍流传期」呀。现在,大数据技术早已不-是什么火箭科技,而以前渗透到各行各业,大数据的普遍流传期以前来到呀。市场对大数据成品的乞求,除范围.功效.简易易用,提出了本.平安.稳固性等越发所有一些企业级生产的乞求呀。
开源 Hadoop 线,引擎.元数据.存储等基本零件的迭代更替进去对应稳态,民众对开源大数据技术的认知到达以前所没有一些水平呀。单方方面面,开通架构的便利带来了不错的市场份额,另单方方面面开通架构的松懈则使开源计划在企业级才气构建上遇到瓶颈,希奇是数据平安.身分权限强管控.数据治理等方方面面,协同结局较差(如 Ranger 做为权限管控组件.Atlas 做为数据治理组件,跟今天的潮水引擎居然还无法做到全笼罩)呀。同时引擎自身的进展也对已有一些开通架构提出了更多应战,Delta Lake.Hudi 这样自闭环计划的出-现使得一套存储.一套元数据.多种引擎协做的基本出-现了某种水平的裂痕呀。
着实将数据湖观点推而广之的是AWS呀。AWS 修建了一套以 S3 为中心化存储.Glue 为元数据处事,E-MapReduce.Athena 为引擎的开通协做式的成品处置计划呀。他的开通性和和开源体制相似,并在2019年推出Lake Formation 处置成品间的平安授信疑呀。只管这套架构在企业级才气上和对应成熟的云数据仓库成品相去甚远,但关于开源技术体制的用户来说,架构相近领会简易,仍然颇有吸引力呀。AWS 以后,各个云厂商也纷纭跟进数据湖的观点,并在自己的云处事上供应相似的成品处置计划呀。
云厂商主推的数据仓库类成品则进展优良,数仓焦点才气方方面面连续增强呀。功效.本方方面面极大提升(MaxCompute 完结了焦点引擎的所有升级和功效飞跃式进展,连续三年更改 TPCx-BigBench 世界纪录),数据治理才气以前所没有增强(数据中台建模理-论.智能数仓),企业级平安才气大为荣华(同时支持基于 ACL 和基于谋划等多种授权模子,列级别细粒度授权,值得信赖盘算,存储加密,数据脱敏等),在联邦盘算方方面面也普遍做了增强,一定水平上最先将非数仓自身存储的数据纳入治理,和数据湖的界限日益隐约呀。
综上所述,数据仓库是个降生于数据库时期的观点,在大数据时期随云厂商的种种数仓处事落地开花,现在平时指代云厂商供应的基于大数据技术的一体化处事呀。而数据湖则脱胎于大数据时期开源技术体制的开通计划,通过 AWS 整合张扬,一样平常为由一排列云成品或者开源组件一同组成大数据处置计划呀。
图2. 20年大数据进展之路
什么是数据湖
近几年龄据湖的观点十分炎热,可是数据湖的界说一开始不统一,咋们先看下数据湖的相关界说呀。
Wikipedia对数据湖的界说
A data lake is a system or repository of datastored in its natural/raw format,usually object blobsor files. A data lake is usually a single store of all enterprise data including raw copies of source system data and transformed data used for tasks such as reporting, visualization, advanced analyticsand machine learning. A data lake can include structured datafrom relational databases(rows and columns), semi-structured data (CSV, logs, XML, JSON), unstructured data(emails, documents, PDFs) and binary data(images, audio, video). A data lake can be established "on premises" (within an organization's data centers) or "in the cloud" (using cloud services from vendors such as Amazon, Google and Microsoft).A data swamp is a deteriorated and unmanaged data lake that is either inaccessible to its intended users or is providing little value.
数据湖是指运用大型两进制对-象或者文件这样的自-然样式贮存数据的体制呀。他平时把一切的企业数据统一存储,既包罗源体制中的本始正本,也包罗转换后的数据,好比那些用于报表, 可视化, 数据剖析和机械学习的数据呀。数据湖能够包罗关系数据库的结构化数据(行与列).半结构化的数据(CSV,日志,XML, JSON),非结构化数据 (电子邮件.文件.PDF)和 两进制数据(图像.音频.视频)呀。贮存数据湖的办法包罗 Apache Hadoop疏散式文件体制, Azure 数据湖或者亚马逊云 Lake Formation云存储处事,和诸如 Alluxio 虚拟数据湖之类的处置计划呀。数据沼泽是一位劣化的数据湖,用户无法会见,或者是没什么价呀。
AWS的界说对应简练
A data lake is a centralized repository that allows you to store all your structured and unstructured data at any scale. You can store your data as-is, without having to first structure the data, and run different types of analytics—from dashboards and visualizations to big data processing, real-time analytics, and machine learning to guide better decisions.
数据湖是一位会合式存储库,允许你以随意范围存储一切结构化和非结构化数据呀。你能够按本样存储数据(无需先对数据举行结构化处置),并运转区别种别的剖析 – 从掌控面板和可视化到大数据处置.实时光析和机械学习,以指点做出更好的决定呀。
Azure等其余云厂商也有各自的界说,本文再也不赘述呀。
但岂论数据湖的界说怎么样区别,数据湖的实质一开始都包罗以下四部-分
1.统一的存储体制
2.存储本始数据
3.富厚的盘算模子/范式
4.数据湖与上云有无关系
从上述四个标-准判断,开源大数据的Hadoop HDFS存储体制即是一位标-准的数据湖架构,具有统一的本始数据存储架构呀。而近期被普遍谈到的数据湖,现实上是一位狭义的观点,特指“基于云上信托存储体制的数据湖体制,架构上采用存储盘算分散的体制吧”呀。比如基于AWS S3体制或者者阿里云OSS体制构建的数据湖呀。
下图是数据湖技术架构的演进历程,所有上可分为三个阶段
图3. 数据湖技术架构演进
1.阶段一、自建开源Hadoop数据湖架构,本始数据统一寄存在HDFS体制上,引擎以Hadoop和Spark开源生态为主,存储和盘算一体呀。弱点和缺点是必-要企业自己运维和治理整套集群,本高且集群稳固性差呀。
2.阶段二、云上信托Hadoop数据湖架构(即EMR开源数据湖),底层物理处事器和开源软件版本由云厂商供应和治理,数据仍统一寄存在HDFS体制上,引擎以Hadoop和Spark开源生态为主呀。这个架构通过云上 IaaS 层提升了机械层面的弹性和稳固性,使企业的所有运维本有所着落,但企业依然必-要对HDFS体制和处事运转状态举行治理和治理,即运用层的运维工做呀。同时由于存储和盘算耦合在一块,稳固性不-是最优,两种资源无法自力扩张,运用本也不-是最优呀。
3.阶段三、云上数据湖架构,即云上纯信托的存储体制逐步取代HDFS,变成数据湖的存储基本装备,而且引擎富厚度也不停扩张呀。除Hadoop和Spark的生态引擎之外,各云厂商还进展出头向数据湖的引擎成品呀。如剖析类的数据湖引擎有AWS Athena和华为DLI,AI类的有AWS Sagemaker呀。这个架构依然维持了一位存储和多个引擎的特征,因此统一元数据处事十分主要,如AWS推出了Glue,阿里云EMR近期也马上公布数据湖统一元数据处事呀。该架构对应本生HDFS的数据湖架构的优势在于
帮-助用户挣脱本生HDFS体制运维难题的疑呀。HDFS体制运维有两个难题1)存储体制对比盘算引擎更高的稳固性请投降更高的运维危害 2)与盘算混布在一块,带来的扩张弹性疑呀。存储盘算分散架构帮-助用户解耦存储,并交由云厂商统一运维治理,处置了稳固性和运维疑呀。
分散后的存储体制能够自力扩张,再也没必-要要与盘算耦合,可下降所有本
当用户采用数据湖架构以后,主观上也帮-助客户完结了存储统一化(处置多个HDFS数据孤岛的疑)
下图是阿里云EMR数据湖架构图,他是基于开源生态的大数据,既支持HDFS的开源数据湖,也支持OSS的云上数据湖呀。
图4. 阿里云EMR数据湖架构
企业运用数据湖技术构建大数据,主要包罗数据接入.数据存储.盘算和剖析.数据治理.权限掌控等,下图是Gartner界说的一位遵照架构呀。现在数据湖的技术因其架构的灵巧性和开通性,在功效结局.平安掌控和数据治理上一开始不十分成熟,在面向企业级生产乞求时还存在太大应战(在第四章会有一五一十的论述)呀。
图5. 数据湖架构图(来源网络)
数据仓库的降生,和和数据中台的关系
数据仓库的观点刚最先起源于数据库领域,主要处置面向数据的繁杂盘和剖析场景呀。随大数据技术进展,大量警戒数据库的技术,比如SQL语言.盘优化器等,造变成了大数据的数据仓库,因其强盛的剖析才气,变成潮水呀。近几年,数据仓库和云本生技术相结合,又衍生出了云数据仓库,处置了企业部署数据仓库的资源供应疑呀。云数据仓库做为大数据的高阶(企业级)才气,因其开箱即用.无贫扩张.简便运维等才气,越发遭到人们的醒目呀。
Wikipedia对数据仓库的界说
In computing, a data warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a system used for reportingand data analysis, and is considered a core component of business intelligence.DWs are central repositories of integrated data from one or more disparate sources. Extract, transform, load(ETL) and extract, load, transform(E-LT) are the two main approaches used to build a data warehouse system.
在盘算机领域,数据仓库(英语data warehouse,也称为企业数据仓库)是用于报-告和数据剖析的体制,被以为是商业智能的焦点组件呀。数据仓库是来源一位或者多个区别源的集成数据的***存储库呀。数据仓库将现在和史书数据存储在一块,用于为所有企业的职员建立剖析报-告呀。对比学术的诠释是,数据仓库由数据仓库之父W.H.Inmon于1990年提出,主要功效乃是将组织透过信息体制之在线生意处置(OLTP)经年累月所累积的大量数据,透过数据仓库理-论所唯一无两数据存储架构,做一有体制的剖析整理,以利种种剖析办法如在线剖析处置(OLAP).数据挖掘(Data Mining)之举行,并进而支持如决定支持体制(DSS).主管信息体制(EIS)之建立,帮-助决定者能迅速有用的自傲量数据中,剖析出有价的信息,以利决定制定及迅速回应表-面环-境变更,帮-助建构商业智能(BI)呀。
数据仓库的实质包罗以下三部-分
1.内置的存储体制,数据通过形象的办法供应(比如采用Table或者者View),不袒露文件体制呀。
2.数据必-要清洗和转化,平时采用ETL/ELT办法
3.重伸建模和数据治理,供商业智能决定
从上述的标-准判断,岂论传统数据仓库(如Teradata)仍然新兴的云数据仓库体制(AWS Redshift.Google BigQuery.阿里云MaxCompute)均体现了数仓的计划实质,你们均有无对外袒露文件体制,而是供应了数据收支的处事接口呀。好比,Teradata供应了CLI数据导入器械,Redshift供应Copy下令从S3或者者EMR上导入数据,BigQuery供应Data Transfer处事,MaxCompute供应Tunnel处事和MMA搬站器械供数据上传和下载呀。这个计划能够带来多个优势
1.引擎深度领会数据,存储和盘算可做深度优化
2. 数据全性命周期治理,完结的血缘体制
3.细粒度的数据治理和治理
4.完结的元数据治理才气,易于构建企业级数据中台
正由于这样,阿里巴巴飞天大数据建设之初,在选型的时刻就采用了数据仓库的架构,即MaxCompute大数据呀。MaxCompute(本ODPS),既是阿里巴巴经济体的大数据,又是阿里云上的一种平安牢靠.高功效.低本.从GB到EB级别按需弹性伸缩的在线大数据盘算处事(图6.是MaxCompute成品架构,详细真相请点击阿里云MaxCompute位置)呀。做为SaaS形式的企业级云数仓,MaxCompute普遍运用在阿里巴巴经济体.和阿里云上网络.新金融.新零售.数字政-局等数千家客户呀。
图6. MaxCompute云数仓成品架构
得益于MaxCompute数据仓库的架构,阿里巴巴上层逐步构建了“数据安所有系吧”.“数据质量吧”.“数据治理吧”.“数据标签吧”等治理才气,并最终造变成了阿里巴巴的大数据中台呀。能够说,做为刚最先数据中台观点的提出者,阿里巴巴的数据中台得益于数据仓库的架构呀。
图7. 阿里巴巴数据中台架构
数据湖 VS 数据仓库
综上,数据仓库和数据湖,是大数据架构的两种计划取向呀。两者在计划的根分内歧点是对包罗存储体制会见.权限治理.建模乞求等方方面面的掌控呀。
数据湖优先的计划,通过开通底层文件存储,给数据入湖带来了最大的灵巧性呀。进去数据湖的数据可于是结构化的,也可于是半结构化的,甚至可于是一切非结构化的本始日志呀。另外,开通存储给上层的引擎也带来了更多的灵巧度,种种引擎能够依照自己针对的场景随便读写数据湖中存储的数据,而只要要遵照十分宽松的兼容性约定(这样的松懈约定固然会有隐患,后文会提到)呀。但同时,文件体制直-接会见使得许多更高阶的功效食用完成,比如,细粒度(小于文件粒度)的权限治理.统一化的文件治理和读写接口升级也好不简易(必-要完结每逐一位会见文件的引擎升级,才算升级结尾)呀。
而数据仓库优先的计划,越发体贴的是数据运用结局.大片下的数据治理.平安/合规这样的企业级发展性需要呀。数据通过统一但开通的处事接口进去数据仓库,数据平时预先界说 schema,用户通过数据处事接口或者者盘算引擎会见疏散式存储体制中的文件呀。数据仓库优先的计划通过形象数据会见接口/权限治理/数据自身,来调换更高的功效(岂论是存储仍然盘算).闭环的安所有系.数据治理的才气等,这些才气关于企业久远的大数据运用都十分主要,咋们称之为发展性呀。
下图是针对大数据技术栈,分-别对比数据湖和数据仓库各自的选择呀。
图8. 数据湖和数据仓库在技术栈上的对比
灵巧性和发展性,关于处于区别时期的企业来说,主要性区别呀。
1.当企业处于首创阶段,数据从发生到消耗还必-要一位改良探索的阶段才气逐步逐步积淀下去,那么用于支持这类营业的大数据体制,灵巧性就越发概略,数据湖的架构更适用呀。
2.当企业逐步逐步成熟起身,以前积淀为一排列数据处置流程,疑最先转化为数据范围不停增添,处置数据的本不停增添,参与数据流程的职员.部门不停增添,那么用于支持这类营业的大数据体制,发展性的利害就决定了营业能够或者者进展多远呀。数据仓库的架构更适用呀。
本文有视察到,十分一部-分企业(希奇是新兴的网络领域)从零最先架构的大数据技术栈,即是伴同开源 Hadoop 体制的盛行,经验了这样一位从探索改良到成熟建模的历程呀。在这个历程中,由于数据湖架构过火灵巧而缺少对数据看管.掌控和必-要的治理办法,致使运维本不停增添.数据治理结局下降,企业落入了『数据沼泽』的田地,即数据湖中会聚了过多的数据,倒是食用高结局的提炼着实有价的那部-分呀。最终惟有迁徙到数据仓库优先计划的大数据,才处置了营业发展到一定范围后所出-现的运维.本.数据治理等疑呀。仍然举阿里巴巴的按例,阿里巴巴成-功的数据中台战略,即是在 2015 年先后阿里巴巴整公司完结 MaxCompute(数据仓库) 对多个 Hadoop( 数据湖)的一切替换(登月事情事情)才逐步酿成的呀。
图9. 数据湖的灵巧性 VS 数据仓库的发展性的示贪图
下一代演进方向湖仓一体
通过对数据湖和数据仓库的深入论述和对比,本文以为数据湖和数据仓库做为大数据体制的两条区别演进路线,有各自唯一无两优势和界线性呀。数据湖和数据仓库一位面向首创用户友善,一位发展性更佳呀。对企业来说,数据湖和数据仓库是否必须是一位两选一的选择题呢?是否能有一种计划同时兼顾数据湖的灵巧性和云数据仓库的发展性,将两者有用结合起身为用户完成更低的所有拥有本呢?
将数仓和数据湖融会在一块也是业界最近几年的趋向,多个成品和事情事情都做过对应的尝试
1.数仓支持数据湖会见
2017年Redshift推出Redshift Spectrum,支持Redsift数仓用户会见S3数据湖的数据呀。
2018年阿里云MaxCompute推出表-面才气,支持会见包罗OSS/OTS/RDS数据库在内的多种外面存储呀。
可是岂论是 Redshift Spectrum 仍然 MaxCompute 的外面表,依旧必-要用户在数仓中通过建立外面表来将数据湖的开通存储途径纳入数仓的观点体制——由于一位单纯的开通式存储一开始不行以自描写其数据自身的转变,因而为这些数据建立外面表.增添分区(实质上是为数据湖中的数据建设 schema)无法一切努力化(必-要人-工或者者定期触发 Alter table add partition 或者 msck)呀。这关于低频暂时盘尚能吸收,关于生产运用来说,难免有一些繁杂呀。
2.数据湖支持数仓才气
2011年,Hadoop开源体制公司Hortonworks最先了Apache Atlas和Ranger两个开源事情事情的开拓,分-别对应数据血缘追踪和数据权限平安两个数仓焦点才气呀。但两个事情事情进展一开始不算顺利,直到 2017 年才完结孵化,时至今天,在社区和产-业界的部署都还远远不够活跃呀。焦点本因数据湖与生俱来的灵巧性呀。比如Ranger做为数据权限平安统一治理的组件,自然乞求一切引擎均适配他才气保证有无平安破绽,但关于数据湖中重伸灵巧的引擎,希奇是新引擎来说,会优先完成-功效.场景,而不-是把对-接Ranger做为第一优先级的目的,使得Ranger在数据湖上的职位一直很尴尬呀。
2018年,Nexflix开源了内里增强版本的元数据处事体制Iceberg,供应包罗MVCC(多版本并发掌控)在内的增强数仓才气,但由于开源HMS以前变成现实标-准,开源版本的Iceberg做为插件办法兼容并合-作HMS,数仓治理才气大打折扣呀。
2018-2019年,Uber和Databricks相继推出了Apache Hudi和DeltaLake,推出增量文件样式用以支持Update/Insert.事情等数据仓库功效呀。新功效带来文件样式和组织形势的更改,打破了数据湖本有多套引擎之中关于共用存储的简易约定呀。为此,Hudi为了维持兼容性,不能不发清晰诸如 Copy-On-Write.Merge-On-Read 两种表,Snapshot Query.Incremental Query.Read Optimized Query 三种盘种别,并给出了一位支持矩阵(如图10),极大提升了运用的繁杂度呀。
图10. Hudi Support Matrix(来源网络)
而DeltaLake则选择了保证以Spark为主要支持引擎的体验,对应逝世对其余潮水引擎的兼容性呀。这对其余引擎会见数据湖中的Delta数据造变成了许多的制约和运用不便呀。比如Presto要运用DeltaLake表,必-要先用Spark建立manifest文件,再依照manifest建立外面表,同时还要注重manifest文件的更新疑啊;而Hive要运用DeltaLake表制约更多,不仅会造成元数据层面的杂乱,甚至不行以写表呀。
上述在数据湖架构上建设数仓的许多尝试一开始不行功,这讲明数仓和数据湖有实质的区分,在数据湖体制上食用建成完结的数仓呀。数据湖与数据仓库两者食用直-接合并成一套体制,因而做者团队,最先基于融会两者的思绪举行探索呀。因此咋们提出下一代的大数据技术演进方向湖仓一体,即买通数据仓库和数据湖两套体制,让数据和盘算在湖和仓之中自-由行-动,从而构建一位完整的有机的大数据技术生态体制呀。
咋们以为,构建湖仓一体必-要处置三个主要疑
1.湖和仓的数据/元数据无缝买通,且没必-要要用户人-工干预
2.湖和仓有统一的开拓体验,存储在区别体制的数据,能够通过一位统一的开拓/治理操做
3.数据湖与数据仓库的数据,体制负-责努力caching/moving,体制能够依照努力的谋划决定哪些数据放在数仓,哪些保留在数据湖,进而造成一体化
咋们将我一章一五一十推荐阿里云湖仓一体计划怎么样处置这三个疑呀。
阿里云湖仓一体计划
6.1 所有架构
阿里云MaxCompute在本有一些数据仓库架构上,融会了开源数据湖和云上数据湖,最终完变成了湖仓一体化的所有架构(图11)呀。在该架构中,只管底层多套存储体制并存,但通过统一的存储会见层和统一的元数据治理,向上层引擎供应一体的封装接口,用户能够结合盘数据仓库和数据湖中的表呀。所有架构还具有统一的数据平安.治理和治理等中台才气呀。
图11. 阿里云湖仓一体所有架构
针对第五章提出的湖仓一体的三个主要疑,MaxCompute完变成了以下4个主要技术点呀。
1.迅速接入
MaxCompute全新自己缔造PrivateAccess网络连通技术,在遵照云虚拟网络平安标-准的条件下,完成多租户形式下特定用户作业定向与IDC/ECS/EMR Hadoop集群网络所有买通才气,拥有低延迟.高独享带宽的特色呀。
通过迅速简易的买通.平安设置措施即可将数据湖和购置的 MaxCompute数仓相连通呀。
2.统一数据/元数据治理
MaxCompute完成湖仓一体化的元数据治理,通过DB元数据一键映照技术,完成数据湖和MaxCompute数仓的元数据无缝买通呀。MaxCompute通过向用户开通建立external project的形势,将数据湖HiveMetaStore中的所有database直-接映照为MaxCompute的project,对Hive Database的修改会实时反映在这个project中,并能够在MaxCompute侧随时通过这个project举行会见.盘算这个内里的数据呀。与此同时,阿里云EMR数据湖处置计划也将推出Data Lake Formation,MaxCompute湖仓一体计划也会支持对该数据湖中的统一元数据处事的一键映照才气呀。MaxCompute侧对external project的种种操做,也会实时反映在Hive侧,着实完成数据仓库和数据湖之中的无缝联动,一切没必-要要相似联邦盘计划里的元数据人-工干预措施呀。
MaxCompute完成湖仓一体化的存储会见层,不仅支持内置优化的存储体制,也无缝的支持外面存储体制呀。既支持HDFS数据湖,也支持OSS云存储数据湖,可读写种种开源文件样式呀。
3.统一开拓体验
数据湖里的Hive DataBase映照为MaxCompute external project,和普通project别无两致,一样享用MaxCompute数仓里的数据开拓.追踪和治理功效呀。基于DataWorks强盛的数据开拓/治理/治理才气,供应统一的湖仓开拓体验,下降两套体制的治理本呀。
MaxCompute高度兼容Hive/Spark,支持一套任-务能够在湖仓两套体制中灵巧无缝的运转呀。
同时,MaxCompute也供应高效的数据通道接口,可以让数据湖中的Hadoop生态引擎直-接会见,提升了数仓的开通性呀。
4.努力数仓
湖仓一体必-要用户依照自身资产运用情形将数据在湖和仓之中举行适当的分层和存储,以最大化湖和仓的优势呀。MaxCompute开拓了一套智能cache技术,依照对史书任-务的剖析来识别数据冷热度,从而努力使用闲时带宽将数据湖中的热数据以高效文件样式cache在数据仓库中,进一步加速数据仓库的后续数据加工流程呀。不仅处置了湖仓之中的带宽瓶颈疑,也到达了没必-要用户参与即可完成数据分层治理/治理和功效加速的目的呀。
6.2 构建湖仓一体化的数据中台
基于MaxCompute湖仓一体技术,DataWorks能够进一步对湖仓两套体制举行封装,屏障湖和仓异构集群信息,构建一体化的大数据中台,完成一套数据.一套任-务在湖和仓之上无缝放置和治理呀。企业能够运用湖仓一体化的数据中台才气,优化数据治理架构,足够融会数据湖和数据仓库各自优势呀。运用数据湖做会合式的本始数据存储,发-挥数据湖的灵巧和开通优势呀。又通过湖仓一体技术将面向生产的高频数据和任-务,无缝放置到数据仓库中,以获得更好的功效和本,和后续一排列面向生产的数据治理和优化,最终让企业在本和结局之中找出最好平衡呀。
所有来说,MaxCompute湖仓一体为企业供应了一种更灵巧更高效更经济的数据处置计划,既适用于全新构建大数据的企业,也适合已有大数据的企业举行架构升级,能够守护现有投资和完成资产利旧呀。
图12. DataWorks湖仓一体化数据中台
6.3 典型客户案例新浪微博运用「湖仓一体」构建混淆云AI盘算中台
案例布景
微博机械学习团队,主要做应酬媒体领域里的举荐主要做应酬媒体领域里的举荐/排序.文本/图像分类.反废物/反做弊等技术呀。技术架构上主要旋绕开源Hadoop数据湖处置计划,一份HDFS存储+多种盘算引擎(hive.spark.flink),以知足以AI为主的多盘算场景需要呀。但微博做为国内Top的应酬媒体运用,现在的营业体量和繁杂性已然进去到开源“无人区吧”,开源数据湖计划在功效和本方方面面都无法知足微博的乞求呀。微博借助阿里巴巴强盛的飞天大数据和AI才气(MaxC+PAI+DW ),处置了超大片下的特色工程.模子训练和矩阵盘算的功效瓶颈疑,进而造变成了阿里巴巴MaxCompute(数仓)+ 开源(数据湖)共存的格-局呀。
核肉疼点
微博希望借助这两套异构的大数据,既维持面向AI的各种数据和盘算的灵巧性,又处置超大片下的盘算和算法的功效/本疑呀。但由于这两套大数据在集群层面一切是割裂的,数据和盘算无法在两个里自-由行-动,无形之中增添了大量的数据移动和盘算开拓等本,进而制约了营业的进展呀。主要的疼点是1)放置专人专项负-责训练数据同步,工做量巨大 2) 训练数据体量大,致使耗时多,无法知足实时训练的乞求 3) 新写SQL数据处置query,无法复用Hive SQL本有query呀。
图13. 新浪微博营业疼点默许
处置计划
为理处置上述的疼点疑,阿里云成品团队和微博机械学习团队结合共建湖仓一体新技术,买通了阿里巴巴MaxCompute云数仓和EMR Hadoop数据湖,构建了一位跨湖和仓的AI盘算中台呀。MaxCompute成品所有升级网络基本装备,买公用户VPC私域,且依赖Hive数据库一键映照和强盛完结的SQL/PAI引擎才气,将MaxCompute云数仓和EMR Hadoop数据湖技术体制无缝对-接,完成湖和的仓统一且智能化治理和放置呀。
图14. 微博湖仓一体架构图
案例价
1)不仅融会了数据湖和数据仓库的优势,在灵巧性和结局上找出最好平衡,还迅速构建了一套统一的AI盘算中台,极大提升该机械学习团队的营业支持才气呀。没必-要举行数据搬迁和作业迁徙,即可将一套作业无缝灵巧放置在MaxCompute集群和EMR集群中呀。
2)SQL数据处置任-务被普遍运转到MaxCompute集群,功效有分明提升呀。基于阿里巴巴PAI富厚且强盛的算法才气,封装出多种靠近营业场景的算法处事,知足更多的营业需要呀。
3)MaxCompute云本生的弹性资源和EMR集群资源造成互补,两套体制之中举行资源的削峰填谷,不仅减少作业排队,且下降所有本呀。
总结
数据湖和数据仓库,是在今天大数据技术条件下构建疏散式体制的两种数据架构计划取向,要看平衡的方向是更偏护灵巧性仍然本.功效.平安.治理等企业级特征呀。可是数据湖和数据仓库的界限现在逐步隐约,数据湖自身的治理才气.数据仓库延伸到外面存储的才气都在增强呀。在这样的布景之下,MaxCompute 争先提出湖仓一体,为业界和用户展现了一种数据湖和数据仓湖相互添补,协同工做的架构呀。这样的架构同时为用户供应了数据湖的灵巧性和数据仓库的许多企业级特征,将用户运用大数据的所有拥有本进一步下降,咋们以为是下一代大数据的演进方向呀。
做者 |关涛.李睿博.孙莉莉.张良模.贾扬清(from 阿里云智能盘算)
黄波.金玉梅.于茜.刘子正(from 新浪微博机械学习研发部)
本文为阿里云本创内容,未经允许不得转载呀。
发表评论