背景
“ 数据湖 ”正在被越来越多人提起,尽管定义并不统一,但企业们都已纷纷下水实践,无论是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加上 JindoFS 取代HDFS,提升数据规模、降低存储成本、实现计算和存储分离架构;
- 数据湖构建(DLF)服务提供统一元数据和统一的权限管理,支持多套引擎接入;
- EMR上Spark等计算引擎的云原生化,可以更好的利用弹性计算资源;
- 云上的数据开发治理平台 Dataworks解决了数据湖元数据治理、数据集成、数据开发等问题。
数据是最好的佐证:阿里云云原生数据湖体系可支持EB级别的数据湖,存储超过10万Database、1亿Table以及10亿级别的Partition,每天支持超过30亿次的元数据服务请求,支持超过10个开源计算引擎以及MaxCompute和Hologres等云原生数仓引擎。
同时,阿里云数据湖存储成本相对于高效云盘下降10倍以上,查询性能相对于传统对象存储提速3倍以上,并且查询引擎有着极高的弹性,能在30秒内启动超过1000个Spark Executor。由此可见,阿里云强大的存储和计算能力共同打造了业界领先的数据湖体系。这些背后都在告诉我们:想在大数据时代占据先机,你需要有一套系统,能够在保留数据的原始信息情况下,又能快速对接多种不同的计算平台。
在此之际,我们推出云原生数据湖技术系列专题,将告诉大家如何基于阿里云OSS、JindoFS和数据湖构建(DataLakeFormation,DLF)等基础服务,结合阿里云上丰富的计算引擎,打造一个全新云原生数据湖体系。
数据湖存储 OSS
阿里云对象存储 OSS 是数据湖的统一存储层,它基于12个9的可靠性设计,可存储任意规模的数据,可对接业务应用、各类计算分析平台,非常适合企业基于OSS构建数据湖。相对于HDFS来说,OSS可以存储海量小文件,并且通过冷热分层、高密度存储、高压缩率算法等先进技术极大降低单位存储成本。同时 OSS 对Hadoop生态友好,且无缝对接阿里云各计算平台。针对数据分析场景,OSS推出 OSS Select、Shallow Copy和多版本等功能,加速数据处理速度,增强数据一致性能力。
更多阅读:
• 【数据湖存储篇】——基于 OSS 的 EB 级数据湖
数据湖加速
对象存储系统在架构设计上和 HDFS 等分布式文件系统存在一定差异,同时存储和计算分离架构中 OSS 是远端的存储服务,在大数据计算层面缺少对数据本地化的支持。因此,在 OSS 对象存储服务的基础上,阿里云定制了自研的大数据存储服务 —— JindoFS,极大的提升数据湖上的引擎分析性能,在TPC-DS、Terasort等常见的benchmark测试中,采用计算存储分离架构的 JindoFS 性能已经达到或超过了本地部署的HDFS。同时JindoFS 完全兼容 Hadoop 文件系统接口,给客户带来更加灵活、高效的计算存储方案,目前已验证支持Hadoop开源生态中最主流的计算服务和引擎:Spark、Flink、Hive、MapReduce、Presto、Impala 等。当前 JindoFS 存储服务包含在阿里云 EMR 产品中,未来 JindoFS 会有更多的产品形态服务于数据湖加速场景。
更多阅读:
• 【数据湖加速篇】 —— 基于 JindoFS 构建高效数据湖
• 【数据湖加速篇】 —— 如何利用缓存加速服务来提升数据湖上机器学习训练速度
• 【数据湖加速篇】 —— 数据湖结构化数据优化与查询加速方案
• 【数据湖加速篇】 —— JindoDistCp:数据湖离线数据迁移最佳实践
数据湖构建(DLF)
传统的数据湖架构非常强调数据的统一存储,但对数据的Schema管理缺乏必要的手段和工具,需要上层分析和计算引擎各自维护元数据,并且对数据的访问没有统一的权限管理,无法满足企业级用户的需求。数据湖构建(DLF)服务是阿里云在2020年9月推出的针对数据湖场景的核心产品,主要为了解决构建数据湖过程中用户对数据资产的管理需求。DLF 对 OSS 中存储的数据提供统一的元数据视图和统一的权限管理,并提供实时数据入湖和清洗模板,为上层的数据分析引擎提供生产级别的元数据服务。
更多阅读:
• 【数据湖构建篇】 —— 数据湖元数据服务的实现和挑战
• 【数据湖构建篇】 —— 多引擎集成挖掘湖上数据价值
• 【数据湖构建篇】 —— 多数据源一站式入湖
• 【数据湖构建篇】 —— 数据湖构建服务搭配Delta Lake玩转CDC实时入湖
云原生计算引擎
当前阿里云上众多云原生计算引擎已经接入或准备接入数据湖构建服务,包括阿里云EMR上的开源计算引擎Spark、Hive、Presto、Flink 以及大数据计算服务 MaxCompute、数据洞察 Databricks 引擎和数据湖分析(DLA)等。以最常用的开源引擎 Spark 为例,阿里云 Spark 可以直接对接数据湖构建的元数据服务,运行在多集群或多平台上的 Spark 任务共享同一个数据湖元数据视图。并且 EMR 为 Spark 推出了Shuffle Service服务,Spark 引擎因此获得云原生平台上的弹性扩缩容能力。云原生计算引擎结合数据湖架构可以获得更高的灵活度并极大的降低数据分析成本。
另外,云原生数据仓库 MaxCompute 和实时 HSAP 分析引擎 Hologres 也准备接入数据湖构建服务,未来数仓和数据湖将会发生什么样的化学反应呢?敬请期待。
更多阅读:
• 【数据湖计算篇】 —— 云原生计算引擎挑战与解决方案
• 【数据湖计算篇】 —— Serverless Spark的弹性利器 - EMR Shuffle Service
数据湖治理
DataWorks数据综合治理可为阿里云客户提供统一的数据视图,用于掌握数据资产的现状、助力数据质量的提升、提高获取数据的效率、保障数据安全的合规并提升数据查询的分析效率。可以有效支撑离线大数据仓库的构建、数据联邦的查询和分析处理、海量数据的低频交互式查询和智能报表的构建,以及数据湖方案的实现。
更多阅读:
• 【数据湖治理篇】 —— 数据开发治理平台DataWorks
综上所述,利用阿里云的基础组件和整体解决方案,用户可以方便的构建一个数据湖平台,完成企业大数据架构转型。
云栖大会数据湖专场
点击下方链接预约线上直播,了解阿里云云原生数据湖技术最新进展
https://yunqi.aliyun.com/2020/session137?liveId=44835
数据湖构建·Data Lake Formation是阿里巴巴数据湖团队带来的最新一站式入湖解决方案,了解更多信息请加入产品钉钉交流群