畅想数据湖

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 畅想数据湖

周末有读者私聊我咨询了一些问题,遂想起了之前看过的一些关于数据湖的知识,下面是基于之前的所见和自己的思考而成文。

数据湖

数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。

这是AWS给出的解释。

看了很多数据湖的介绍文章,笔者认为数据湖和我们常说的ODS数据很类似,也就是原始数据的保存区域,存储来自各业务系统(消息队列)的原始数据。比如电商网站的访问日志(埋点的时候是以JSON存储),物联网终端设备实时发送的数据等原始数据直接存储在数据仓库的ODS层。

数据湖为什么火了

做数据仓库已经有ODS数据了,那么怎么突然大家都在提数据湖了?

真正的原因在于数据分析和机器学习这两年成为了主流,可以看看现在的招聘网站,很多招聘数据分析师和算法工程师的岗位,笔者所在城市尤为明显。15年的时候大家都在建立各自的大数据平台,那时候你懂点Hadoop,已经很了不起了。现在各个大数据平台已经建设成熟,逐步为业务服务,越来越多的公司需要利用大数据服务于业务,提升变现能力。

基于大数据建设的数据仓库往往是各个维度的聚合数据,大多服务于传统的报表分析。而机器学习往往需要使用到原始数据,另外很多机器学习用到的也不至于格式化数据,用户的评论,图像等都可以应用到机器学习中。

为什么要有数据湖

可以看下上面的这个组织架构图。数据湖的存在更多的是改变部门的组织架构,毕竟现在大部分公司都更注重业务分析的价值。

传统企业的数据团队被当做IT体系,整天要求提数。现在,数据团队只需要负责提供简单易用的工具,业务部门直接进行数据的使用。这也就是人人具备数据分析能力(人人都是数据分析师,真的很难)。

数据湖 vs 数据仓库

这是AWS给出的对比,还是比较中肯的。

传统的数据仓库工作方式是集中式的:业务人员给需求到数据团队,数据团队根据要求加工、开发成维度表,供业务团队通过BI报表工具查询或者业务分析系统展示。

数据湖是开放、自助式的:开放数据给所有人使用,数据团队更多是提供工具、环境供各业务团队使用,业务团队进行开发、分析。

和数据仓库不同的是,以前数据仓库都是先设计schema,然后灌入数据。数据湖的schema是随用随生成,随着分析场景不同而不同。关于数据湖的技术实现方面可以了解下 delta lake这个项目(我司的平台部分功能在delta lake这个项目出来之前已经实现了一些功能)。

数据湖对于数据分析师来说对数据的操控性更强,但是要求也更高,不光懂业务,懂sql,懂数据,还要懂大数据处理技术,每个人都在处理自己需要的数据,会造成很多冗余数据存储和计算资源浪费,无法形成共性的可复用的数据层,这方面数仓是有益的补充。

数据湖并不是为了颠覆数据仓库,是为了满足数仓无法满足的数据需求,二者是互补的(目前来看)。

ELT

你没看错,是ELT,不是ETL!

周末有读者私聊一哥,看了一篇ETL和ELT的文章,知道了概念,但是不知道具体在什么场景下实施?

很多时候,我们只讲概念,很晦涩。先上一张图:

数据集成包含三个基本的环节:Extract(抽取)、Transform(转换)、Load(加载)。

ETL:抽取是将数据从已有的数据源中提取出来;转换是对原始数据进行处理,例如使用ETL工具(Informatica、Kettle等)进行过滤空值,指标计算等;加载是将数据写入目的地,一般是关系型数据库。

ELT:在抽取后将结果先写入目的地,比如Hive中,然后由下游应用利用外部计算框架进行指标加工、建模,例如 Spark 来完成转换的步骤。

可以说现在大数据环境下,很多已经是ELT架构了,数据湖就非常适合作为ELT架构中的“数据存储目的地”。

数据湖的未来

3月初和一个好友饭后闲聊,聊到数仓的建设。首先,我们思考一下数仓为什么会出现?其实是数据量的飞速增长,以至于当时的数据存储计算引擎,不能很好的满足分析需求;于是数仓概念和经典的理论出现了,很好的解决了当时的问题,用“规范+存储”来解决了当时的问题。

那么现在大数据时代,随着技术的不断发展,很多新技术出现了,大批量的存储和计算不再是那么难了,那么我们放弃数仓那一套是否可行呢?从一哥现在处理的业务看,如果你的业务系统相对较单一,没有几十个业务系统每天往数仓里灌数据,那么数据湖可以满足你的需求,并且对于“数据驱动”更“敏捷”。如果一线的业务系统较复杂,那么现在使用数据湖也会一不小心会变成“数据沼泽”。

所以,下一个方向也许就是数据湖的数据治理,当数据湖的治理明确后,也就是它大放异彩的时刻了!

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
存储 数据挖掘 BI
数据平台发展史-从数据仓库数据湖到数据湖仓 1
数据平台发展史-从数据仓库数据湖到数据湖仓
|
存储 SQL 分布式计算
数据湖 VS 数据仓库之争?阿里提出大数据架构新概念:湖仓一体
随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和数据湖联动的特性。但是数据仓库和数据湖的区别到底是什么,是技术路线之争?是数据管理方式之争?二者是水火不容还是其实可以和谐共存,甚至互为补充?本文作者来自阿里巴巴计算平台部门,深度参与阿里巴巴大数据/数据中台领域建设,将从历史的角度对数据湖和数据仓库的来龙去脉进行深入剖析,来阐述两者融合演进的新方向——湖仓一体,并就基于阿里云MaxCompute/EMR DataLake的湖仓一体方案做一介绍。
28102 2
数据湖 VS 数据仓库之争?阿里提出大数据架构新概念:湖仓一体
|
5月前
|
安全 数据管理 大数据
数据湖的未来已来:EMR DeltaLake携手阿里云DLF,重塑企业级数据处理格局
【8月更文挑战第26天】在大数据处理领域,阿里云EMR与DeltaLake的集成增强了数据处理能力。进一步结合阿里云DLF服务,实现了数据湖的一站式管理,自动化处理元数据及权限控制,简化管理流程。集成后的方案提升了数据安全性、可靠性和性能优化水平,让用户更专注业务价值。这一集成标志着数据湖技术向着自动化、安全和高效的未来迈出重要一步。
103 2
|
8月前
[解惑]数据湖跟数仓的区别
[解惑]数据湖跟数仓的区别
44 0
|
SQL 存储 人工智能
数据平台发展史-从数据仓库数据湖到数据湖仓 2
数据平台发展史-从数据仓库数据湖到数据湖仓
|
SQL 存储 分布式计算
一文了解袋鼠云在实时数据湖上的探索与实践
近日,DataFun实时湖仓专题特邀袋鼠云分享在实时数据湖上的探索与实践,点击文章了解什么是实时数据湖、如何进行数据湖选型及如何基于数据平台建设数据湖。
103 0
|
存储 SQL 机器学习/深度学习
「数据战略」数据驱动企业和DataOps :数据仓库与数据湖:入门
「数据战略」数据驱动企业和DataOps :数据仓库与数据湖:入门
|
存储 SQL 关系型数据库
数据仓库、数据湖、流批一体,终于有大神讲清楚了!
数据仓库,数据湖,包括Flink社区提的流批一体,它们到底能解决什么问题?今天将由阿里云研究员从解决业务问题出发,将问题抽丝剥茧,从技术维度娓娓道来:为什么你需要数据湖或者数据仓库解决方案?它的核心难点与核心问题在哪?如果想稳定落地,系统设计该怎么做?
4508 0
|
存储 SQL JSON
【数据湖】塑造湖:数据湖框架
【数据湖】塑造湖:数据湖框架
|
存储 机器学习/深度学习 数据采集
万字详解数据仓库、数据湖、数据中台和湖仓一体 ​(二)
详解数据仓库、数据湖、数据中台和湖仓一体
1092 0
万字详解数据仓库、数据湖、数据中台和湖仓一体  ​(二)

热门文章

最新文章