大数据文摘出品
作者:无谓、铁杰、周皓、亦龙、扬清
“数据湖”正在被越来越多人提起,尽管定义并不统一,但企业们都已纷纷下水实践,无论是AWS还是阿里云、华为。
我们认为:数据湖是大数据和AI时代融合存储和计算的全新体系。
为什么这么说?还要从它的发展说起。
数据量爆发式增长的今天,数字化转型成为IT行业的热点,数据需要更深度的价值挖掘,因此需要确保数据中保留的原始信息不丢失,应对未来不断变化的需求。
当前以Oracle为代表的数据库中间件已经逐渐无法适应这样的需求,于是业界也不断地产生新的计算引擎,以便应对大数据时代的到来。
企业开始纷纷自建开源Hadoop数据湖架构,原始数据统一存放在HDFS系统上,引擎以Hadoop和Spark开源生态为主,存储和计算一体。
缺点是需要企业自己运维和管理整套集群,成本高且集群稳定性较差。
在这种情况下,云上托管Hadoop数据湖架构(即EMR开源数据湖)应运而生。底层物理服务器和开源软件版本由云厂商提供和管理,数据仍统一存放在HDFS系统上,引擎以Hadoop和Spark开源生态为主。
这个架构通过云上IaaS 层提升了机器层面的弹性和稳定性,使企业的整体运维成本有所下降,但企业仍然需要对HDFS系统以及服务运行状态进行管理和治理,即应用层的运维工作。
因为存储和计算耦合在一起,稳定性不是最优,两种资源无法独立扩展,使用成本也不是最优。
同时,受到开源软件本身能力的限制,传统数据湖技术无法满足企业用户在数据规模、存储成本、查询性能以及弹性计算架构升级等方面的需求,也无法达到数据湖架构的理想目标。
企业在这个时期需要更低廉的数据存储成本、更精细的数据资产管理、可共享的数据湖元数据、更实时的数据更新频率以及更强大的数据接入工具。
云原生时代到来,我们可以有效利用公有云的基础设施,数据湖平台也有了更多的技术选择。比如云上纯托管的存储系统逐步取代HDFS,成为数据湖的存储基础设施,并且引擎丰富度也不断扩展。
除了Hadoop和Spark的生态引擎之外,各云厂商还发展出面向数据湖的引擎产品。如分析类的数据湖引擎有AWS Athena和华为DLI,AI类的有AWS Sagemaker。
这个架构仍然保持了一个存储和多个引擎的特性,所以统一元数据服务至关重要。
基于此,阿里云正式发布了云原生数据湖体系,由对象存储OSS、数据湖构建Data Lake Formation、E-MapReduce产品强强组合,提供存储与计算分离架构下,湖存储、湖加速、湖管理、湖计算的企业级数据湖解决方案。
《阿里云云原生数据湖体系全解读》是阿里云首次发布云原生数据湖体系,基于对象存储OSS、数据湖构建Data Lake Formation和E-MapReduce产品的强强组合,提供存储与计算分离架构下,涵盖湖存储、湖加速、湖管理和湖计算的企业级数据湖解决方案。
复制该链接到浏览器完成下载或分享:
https://developer.aliyun.com/topic/download?id=900
目录
其中的云原生数据湖技术系列专题,将告诉大家如何基于阿里云 OSS 、JindoFS和数据湖构建(Data Lake Formation,DLF)等基础服务,结合阿里云上丰富的计算引擎,打造一个全新云原生数据湖体系。
数据湖存储 OSS
阿里云对象存储 OSS 是数据湖的统一存储层,它基于12个9的可靠性设计,可存储任意规模的数据,可对接业务应用、各类计算分析平台,非常适合企业基于OSS构建数据湖。
相对于HDFS来说,OSS可以存储海量小文件,并且通过冷热分层、高密度存储、高压缩率算法等先进技术极大降低单位存储成本。同时OSS对Hadoop生态友好,且无缝对接阿里云各计算平台。针对数据分析场景,OSS推出 OSS Select、Shallow Copy和多版本等功能,加速数据处理速度,增强数据一致性能力。
数据湖加速
对象存储系统在架构设计上和 HDFS 等分布式文件系统存在一定差异,同时存储和计算分离架构中 OSS 是远端的存储服务,在大数据计算层面缺少对数据本地化的支持。
因此,在 OSS 对象存储服务的基础上,阿里云定制了自研的大数据存储服务 —— JindoFS,极大的提升数据湖上的引擎分析性能,在TPC-DS、Terasort等常见的benchmark测试中,采用计算存储分离架构的 JindoFS性能已经达到或超过了本地部署的HDFS。
同时JindoFS完全兼容 Hadoop 文件系统接口,给客户带来更加灵活、高效的计算存储方案,目前已验证支持Hadoop开源生态中最主流的计算服务和引擎:Spark、Flink、Hive、MapReduce、Presto、Impala 等。当前 JindoFS存储服务包含在阿里云 EMR 产品中,未来 JindoFS会有更多的产品形态服务于数据湖加速场景。
数据湖构建(DLF)
传统的数据湖架构非常强调数据的统一存储,但对数据的Schema管理缺乏必要的手段和工具,需要上层分析和计算引擎各自维护元数据,并且对数据的访问没有统一的权限管理,无法满足企业级用户的需求。
数据湖构建(DLF)服务是阿里云在2020年9月推出的针对数据湖场景的核心产品,主要为了解决构建数据湖过程中用户对数据资产的管理需求。DLF 对 OSS 中存储的数据提供统一的元数据视图和统一的权限管理,并提供实时数据入湖和清洗模板,为上层的数据分析引擎提供生产级别的元数据服务。
云原生计算引擎
当前阿里云上众多云原生计算引擎已经接入或准备接入数据湖构建服务,包括阿里云EMR上的开源计算引擎Spark、Hive、Presto、Flink以及大数据计算服务 MaxCompute、数据洞察 Databricks 引擎和数据湖分析(DLA)等。
以最常用的开源引擎 Spark 为例,阿里云 Spark 可以直接对接数据湖构建的元数据服务,运行在多集群或多平台上的 Spark 任务共享同一个数据湖元数据视图。并且 EMR 为 Spark 推出了Shuffle Service服务,Spark 引擎因此获得云原生平台上的弹性扩缩容能力。云原生计算引擎结合数据湖架构可以获得更高的灵活度并极大的降低数据分析成本。
另外,云原生数据仓库 MaxCompute也准备接入数据湖构建服务,未来数仓和数据湖将会发生什么样的化学反应呢?敬请期待。
数据湖治理
DataWorks数据综合治理可为阿里云客户提供统一的数据视图,用于掌握数据资产的现状、助力数据质量的提升、提高获取数据的效率、保障数据安全的合规并提升数据查询的分析效率。可以有效支撑离线大数据仓库的构建、数据联邦的查询和分析处理、海量数据的低频交互式查询和智能报表的构建,以及数据湖方案的实现。
综上所述,利用阿里云的基础组件和整体解决方案,用户可以方便的构建一个数据湖平台,完成企业大数据架构转型。