点击上方蓝色字体,选择“设为星标”
回复”面试“获取更多惊喜
数据湖的前世今生
互联网技术发展的当下,数据是各大公司最宝贵的资源之一已经是不争的事实。收据的收集、存储和分析已经成为科技公司最重要的技术组成部分。大数据领域经过近十年的高速发展,无论是实时计算还是离线计算、无论是数据仓库还是数据中台,都已经深入各大公司的各个业务。
"数据湖"这个概念从 2020 年中期开始频繁走入大众视野。然而对于数据湖的定义上确没有统一的标准。但是我们从维基百科、AWS、阿里云的官网描述中可以找到一些共同点:
多计算引擎支持
数据湖需要支持大数据领域的常见的计算引擎,包括Flink、Spark、Hive等,同时支持流处理和批处理;
支持多种存储引擎
存储引擎应包含常见的结构化存储:MySQL、Hbase、OLAP 数据库;也应该支持常见的非结构化存储:HDFS、小文件存储引擎等;
支持数据更新和事务(ACID)
需要方便的对数据进行更新,并且需要满足事务特性;
元数据管理和数据质量保障
数据湖应提供统一的元数据管理和企业级的权限体系。数据湖相比于传统的数据仓库最核心的能力之一在于支持各种各样的非结构化数据,基于这样的背景,诞生了类似Hudi、IceBerg之类的数据湖存储技术。
各大云厂商的数据湖架构
这部分我们用国内外主流的云服务商的产品来做介绍,看看各大厂商的技术架构设计有什么区别和共同点。
阿里云
在阿里云官网上给出了云原生企业级数据湖解决方案,该方案的四个显著的优势是:
海量弹性: 计算存储分离,存储规模弹性扩容
生态开放:对Hadoop生态友好,且无缝对接阿里云各计算平台
高性价比:统一存储池,避免重复拷贝,多种类型冷热分层
更易管理:加密、授权、生命周期、跨区复制等统一管理
并且,阿里云给出了利用开源生态构建数据湖的方案:
在这个开源场景的架构下,几大关键的技术点:
支撑 EB 规模的数据湖,支持多种数据通道,全面覆盖日志、消息、数据库、HDFS 各种数据源
无缝对接 Hive、Spark、Presto、Impala 等大数据处理引擎,消除数据孤岛
Data Lake Formation 提供数据湖元数据管理、数据湖加速等服务
AWS
AWS 在 2018 年推出了 AWS Lake Formation,它的上游是 S3 存储以及 NoSQL 存储,AWS Lake Formation 承担了元数据定义的功能,写入 S3 中的数据包括爬虫数据、ETL 数据、日志数据等等,并且 AWS 提供了完整的权限体系。
华为云