我看好数据湖的未来,但不看好数据湖的现在( 二 )


数据湖有所不同,因为它存储来自业务线应用程序的关系数据,以及来自移动应用程序、IoT 设备和社交媒体的非关系数据 。捕获数据时,未定义数据结构或。这意味着您可以存储所有数据,而不需要精心设计也无需知道将来您可能需要哪些问题的答案 。您可以对数据使用不同类型的分析(如 SQL 查询、大数据分析、全文搜索、实时分析和机器学习)来获得见解 。

我看好数据湖的未来,但不看好数据湖的现在

文章插图
上图中,AWS特别强调了"读取型 " 。什么意思?
我个人的浅见:传统的数据仓库在建设之前要经过非常详细、严谨的设计,比如复杂的分层、详细的表结构甚至预留大量扩展字段应对不时之需 。
【读取型 】强调的是,业务在进入数仓设计前的不确定性客观存在而且大概率没有办法预测,索性我们一股脑先丢进去,在使用的时候在根据需要查询出来 。
基于以上的考虑,数据湖的另外一个能力必须要足够强大,那就是:可管理性,否则你的数据湖就会退化为【数据沼泽】,处于不可用状态 。
数据湖可能的架构
这方面小编没有什么经验,我们直接把阿里云的一个典型Demo图拿过来看一下:
我看好数据湖的未来,但不看好数据湖的现在

文章插图
图来源于阿里云官网
这个架构里,数据湖构建完美适配数据存储OSS,同时对接大量计算引擎,满足用户不同的分析需求 。小编不才,认为整个数据湖构建的关键在于选择一类可以扩展的基于对象存储的分布式文件系统作为最底层的存储系统,开源的好像除了HDFS没有别的选择 。
此外,大家在各个大厂的分享中也看到了一些典型的数据湖架构:
我看好数据湖的未来,但不看好数据湖的现在

文章插图
小红书
我看好数据湖的未来,但不看好数据湖的现在

文章插图
中原银行
我看好数据湖的未来,但不看好数据湖的现在

文章插图
腾讯数据平台部
关于技术选型
我们先来看看开源的各大厂家的技术方案是怎么做的?
AWS
我看好数据湖的未来,但不看好数据湖的现在

文章插图
上图是AWS官网给出的数据湖解决方案 。2018年,AWS 推出了 AWS Lake,整个方案基于AWS Lake 构建 。根据AWS的官网介绍,使用 AWS模板可以在几分钟内完成数据湖架构的部署 。
我看好数据湖的未来,但不看好数据湖的现在

文章插图

我看好数据湖的未来,但不看好数据湖的现在

文章插图
阿里云
很遗憾,我没有在阿里云官网找到一个比较完整的大图,但是我在一篇文章中找到了下面这张图:
我看好数据湖的未来,但不看好数据湖的现在

文章插图
整个方案依然采用OSS作为数据湖的集中存储,其中的 Data Lake大概和 AWS 的AWS Lake 大同小异 。
当然华为云和腾讯云等等都有自己的解决方案,整体上都和上面类似 。
开源的方案
开源的方案,目前数据湖领域跳的最凶的三巨头包括:Delta、和Hudi 。因为篇幅原因,本文不在展开讨论了,小编在之前的文章中深度对比过这些解决方案的异同点:
我看好数据湖的未来,但不看好数据湖的现在

文章插图
和Hudi 因为全部开源,且社区蓬勃发展,目前是主流被各大小公司能接受的方案 。
我的困惑
我的困惑不在于数据湖本身,而在于大众赋予数据湖的定义 。
数据湖这个词是由首席技术官詹姆斯迪克森最初提出的 。截止目前为止,各大公司都对数据湖进行了自己的定义,但没有一个人能跳出来告诉我们谁是对的,谁是错的?