湖仓一体:数据湖vs数据仓库之争_第1页
湖仓一体:数据湖vs数据仓库之争_第2页
湖仓一体:数据湖vs数据仓库之争_第3页
湖仓一体:数据湖vs数据仓库之争_第4页
湖仓一体:数据湖vs数据仓库之争_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖仓一体:数据湖vs数据仓库之争?本文介绍数据仓库和数据湖的区别是什么,作者对其来龙去脉进行深入剖析,来阐述两者融合演进的新方向——湖仓一体。导读:随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和据湖联动的特性。但是数据仓库和数据湖的区别到底是什么,是技术路线之争?是数据管理方式之争?二者是水火不容还是其实可以和谐共存,甚至互为补充?本文作者来自阿里巴巴计算平台部门,深度参与阿里巴巴大数数据中台领域建设,将从历史的角度对数据湖和数据仓库的来龙去脉进行深入剖析,来阐述两mputeEMRDataLake概述iV长。阿里司,过去5年数据规模保持高速增长(年化60%-80%),增速在可见的未来继续保ii.大数据作为新的生产要素,得到广泛认可-大数据领域价值定位的迁移,iii.数据管理能力成为新的关注点-数仓(中台)能力流行起来,如何用好数iv.引擎技术进入收敛期-随着Spark(通用计算)、Flink(流计算)、Hbase(KV)、Presto(交互分析)、ElasticSearch(搜索)、Kafka (数据总线)自从2010-2015年逐步占领开源生态,最近5年新引擎开源越来越少,但各引擎技术开始向纵深发展(更好的性能、生产级别的稳定性等)。v.平台技术演进出两个趋势,数据湖VS数据仓库-两者均关注数据存储和管理(平台技术),但方向不同。▲图1阿里巴巴双十一单日处理数据量增长2.从大数据技术发展看湖和仓要比数据湖早的多,可以追溯到数据库为王络来梳理这些名词出现科学领域的数据处理技术的发展,主要分为四个阶段:•阶段一:数据库时代0年代,今天人们所熟知的关系型数据库则出现在20世纪70年代,并在后续的30年左右时间里大放异彩,诞时的数据仓库概念更多表处理能力以及多机数据库(分库分表)长期以来的高昂价格,此时的数据一集中管理)和数据集市(按部门、领域的集中管理)哪个更具可行性。案再也无力以可接受的成本提供计算力,巨大的数据处理需MapReduce、BigTable)奠基了这个大数据时代的基本技术框架,即分Hadoop当然,这其中也包括阿里巴年,随着越来越多的资源投入到大数据计算领SQL计算引擎针对不同的场景进行针对性优头。 箭科技,而已经渗透到各行各业,大数据的普及期已经到来。市场对大数据产品的要求,除了规模、性能、简单o开源Hadoop线,引擎、元数据、存储等基础部件的迭代更替进入相对方面开放架构的松散则使开源方案在数据安全、身份权限强管控、数据治理等方面,协同效率较差(如Ranger作为权限管控组件、Atlas作为数据治理组件,跟今天的主流引擎竟然还无法做到全覆盖)。同时引擎自身闭环设计的出现使得一套存储、一套元数据、多种引擎协作的基础出现了种程度的裂痕。o真正将数据湖概念推而广之的是AWS。AWS构筑了一套以S3为中心LakeFormation虽然这套架构在企业级能o性能、成本方面极大提升(MaxCompute完成了核心引擎的全面升级和性能跳跃式发展,连续三年刷新TPCx-BigBench世界记录),数据管理能力空前增强(数据中台建模理论、智能数仓),企业级安全能力大为繁荣(同时支持基于ACL和基于规则等多种授权模型,列级别细粒度授权,可信计算,存储加密,数据脱敏等),在联邦计算方面也普遍做了增据湖的定义并不统一,我们先看下Wikipedia对数据湖的定义:数据湖是指使用大型二进制对象或文件这样的自然格式储存数据的系统。它通常把所有的企业数据统一存储,既包括源系统中的原始副本,也包括转换后的数据,比如那些用于报表,可视化,数据分析和机器学习的数据。数据湖可以包括关系数据库的结构化数据(行与列)、半结构化的数据进制数据(图像、音频、视频)。储存数据湖的方式包括ApacheHadoop分布式文件系统,Azure数据湖或亚马逊云LakeFormation云存储服务,以及诸如Alluxio虚拟数据湖之类的解决方案。数据沼泽是一个劣化数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析–从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。2.存储原始数据计算模型/范式4.数据湖与上云无关FS标准的数据湖架构,具备统一的原始数据存储架构。而近期被广泛谈到的下图是数据湖技术架构的演进过程,整体上可分为三个阶段:阶段二:云上托管Hadoop数据湖架构(即EMR开源数据湖),底层物理服务器和开源软件版本由云厂商提供和管理,数据仍统一存放在IaaS层提升了机器层面的弹性和稳定性,使企业的整进行管理和治理,即应用层的运维工作。同时因为存储和计算耦合在一Sagemaker个引擎的特性,所以统该架构相对于原生HDFS的数据湖架构的优势在于:困难:1)存储系统相比计算引擎更高的稳定性要求和更高的运维风险2)与计算混布在一起,带来的扩展弹性问题。存储计算分离架构帮助用▪分离后的存储系统可以独立扩展,不再需要与计算耦合,可降低整体成本▪当用户采用数据湖架构之后,客观上也帮助客户完成了存储统一化(解决多个HDFS数据孤岛的问题)构。当前数据湖的技术因其架构的灵活性和开放性,在性能效率、安全控战(在第四章会有详细的阐述)。▲图5数据湖架构图(来自网络)系数据仓库的概念最早来源于数据库领域,主要处理面向数据的复杂查询和言、查询优化器等,形成了大数据的数据仓库,因其强大的分析能力,成企业部署数据仓库的资源供给问题。云数据仓库作为大数据的高阶(企业级)平台能力,因其开箱即用、无限扩展、简易运维等能力,越来越受到Wikipedia对数据仓库的定义:在计算机领域,数据仓库(英语:datawarehouse,也称为企业数据仓库)是用于报告和数据分析的系统,被认为是商业智能的核心组件。数据仓库是来自一个或多个不同源的集成数据的中央存储库。数据仓库将当前和历史数据存储在一起,用于为整个企业的员工创建分析报告。比较学术的解释是,数据仓库由数据仓库之父W.H.Inmon于1990年提出,主要功能乃是将组织透过信息系统之在线交易处理(OLTP)经年累月所累积的大量数据,透过数据仓库理论所特有的数据存储架构,作一有系统的分析整理,以利各种分析方法如在线分析处理(OLAP)、数据挖掘(DataMining)之进行,并进而支持如决策支持系统(DSS)、主管信息系统(EIS)之创建,帮助决策者能快速有效的自大量数据中,分析出有价值的信息,以利决策应外在环境变动,帮助建构商业智能(BI)。数数据仓库的本质包含如下三部分:1.内置的存储系统,数据通过抽象的方式提供(例如采用Table或者View),不暴露文件系统。从上述的标准判断,无论传统数据仓库(如Teradata)还是新兴的云数出的服务接口。载。这个设计可以带来多个优势:1.引擎深度理解数据,存储和计算可做深度优化2.数据全生命周期管理,完善的血缘体系3.细粒度的数据管理和治理4.完善的元数据管理能力,易于构建企业级数据中台正因为如此,阿里巴巴飞天大数据平台建设之初,在选型的时候就采用了数据仓库的架构,即MaxCompute大数据平台。缩的在线大数据计算服务(图6是MaxCompute产品架构,具体详情请点击阿里云MaxCompute官网地址)。▲图6MaxCompute云数仓产品架构▲图7阿里巴巴数据中台架构的设计,通过开放底层文件存储,给数据入湖带来了最大的灵入数据湖的数据可以是结构化的,也可以是半结构化的,甚至可给上层的引擎也带来了更多的灵活度,各种引擎可以根据场景随意读写数据湖中存储的数据,而只需要遵循相当宽松的兼容性约定(这样的松散约定当然会有隐患,后文会提到)。度(小于文件粒度)的权限管理、统一化的文件管理和读写接口升级也十分困难(需要完成每一个访问文件的引擎升级,才算升级完毕)。注的是数据使用效率、大规模下的数据管更高的性能(无论是存储还是计算)、闭环的安全体系、数据治理的能力。▲图8数据湖和数据仓库在技术栈上的对比1.当企业处于初创阶段,数据从产生到消费还需要一个创新探索的阶段才能逐渐沉淀下来,那么用于支撑这类业务的大数据系统,灵活性就更加重2.当企业逐渐成熟起来,已经沉淀为一系列数据处理流程,问题开始转化为数据规模不断增长,处理数据的成本不断增加,参与数据流程的人员、部门不断增多,那么用于支撑这类业务的大数据系统,成长性的好坏就决定本文有观察到,相当一部分企业(尤其是新兴的互联网行业)从零开始架,因为数据湖架构太过灵活而缺少对数据监管、控制和必要,企业落入了值的那部分。最后只有迁移到数据仓库优先设计的大数据平业务成长到一定规模后所出现的运维、成本、数据治理等问年前后阿里巴巴全集团完成MaxCompute(数据仓库)对多个Hadoop(数据湖)的完全替换(登月项目)才逐步形成的。▲图9数据湖的灵活性VS数据仓库的成长性的示意图经过对数据湖和数据仓库的深入阐述和比较,本文认为数据湖和数据仓库据仓库是否必须是一个二选一的选择题?是否能有一种方湖的灵活性和云数据仓库的成长性,将二者有效结合起来对应的尝试:数仓支持数据湖访问ft云MaxCompute推出外表能力,支持访问包括RedshiftSpectrum还是MaxCompute的外部表,仍旧需表来将数据湖的开放存储路径纳入数仓的概化,因此为这些数据创建外部表、添加分区(本质上是为数据湖中的数据建立schema)无法完全自动化(需要人工或者定期触发Altertableaddpartition或msck)。这对于低频临时查询尚能接受,对于生产使2.数据湖支持数仓能力HortonworksApacheAtlas和Ranger两个开源项目的开发,分别对应数据血缘追踪和数据权限安全两个项目发展并不算顺利,直到2017年才完成孵心原因数据anger据湖中强调不是把对接包括MVCC(多版本并发控制)在内的增强数仓能力,但因为开源HMS查询类型,并给出了一个支持矩阵(如图10),极大提升了使用的复杂▲图10HudiSupportMatrix(来自网络)e上述在数据湖架构上建立数仓的若干尝试并不成功,这表明数仓和数据湖有本质的区别,在数据湖体系上很难建成完善的数仓。数据湖与数据仓库。1.湖和仓的数据/元数据无缝打通,且不需要用户人工干预2.湖和仓有统一的开发体验,存储在不同系统的数据,可以通过一个统一的管理平台操作据自动的规则决定哪些数据放在数仓,哪些保留在数据湖,进而形成一体化构上数据湖,最终实现了湖仓一体化的整体架构(图11)。1阿里云湖仓一体整体架构1)快速接入axComputePrivateAccess下特定用户作业定向与▪经过快速简单的开通、安全配置步骤即可将数据湖和购买的2)统一数据/元数据管理MaxCompute一体化的元数据管理,通过DB元数据一键映射tke▪MaxCompute实现湖仓一体化的存储访问层,不仅支持内置优化的存储3)统一开发体验4)自动数仓▪湖仓一体需要用户根据自身资产使用情况将数据在湖和仓之间进行合理的cache数据冷热度,从而自动利用闲步加速数据仓库的后续数据加工流程。不仅解决了湖仓之间的带宽瓶颈问也达到了无须用户参与即可实现数据分层管理/治理以及性能加速的2.构建湖仓一体化的数据中台企业可以使用湖仓一体化的数据中台能力,优化数据管理架构,充分融合通过湖仓一体技术将面向生产的高频数据和任务,无缝调度到数据仓库化,最终让企业在成本和效率之间找到最佳平衡。MaxCompute湖仓一体为企业提供了一种更灵活更高效更数据平台的企业进行架构升级,可以保护现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论