学习文档:【前沿】详解数据湖一文读懂 - 智慧宇易(非原创)
数据湖的定义
- 有足够的数据存储能力
- 可以存储任意类型的数据,包括结构化、本结构化和非结构化数据
- 数据都是原始数据
- 具备数据管理能力
- 具有多样化的分析能力
- 具有完善的数据生命周期管理能力(保存各类处理的中间结果,记录数据的分析处理过程)
- 具备完善的数据获取和发布能力(支持各种各样的数据源,支持各种各样的访问需求)
- 具有可拓展的大规模存储和处理能力
数据湖的基本特征
- 数据 “保真性”:数据湖中必须要保存一份原始数据
- 数据 “灵活性”:强调 “读取型 schema”,保持灵活性,将设计延后
- 数据 “可管理”:数据源、数据连接、数据格式、数据 schema、数据权限管理能力
- 数据 “可追溯”:数据的接入、存储、处理、消费过程可追溯
- 丰富的计算引擎:应至少支持批处理、流式计算、交互式计算、机器学习等
- 多模态的存储引擎:能够满足不同响应时间、并发、访问频次、成本等因素要求的多模态的存储引擎
数据湖的基本架构
- 第一阶段:以 Hadoop 为代表的离线数据处理基础设施(Tez、Spark、Presto 等计算引擎,DAG 模型,面对 KV 操作的 HBase、面对 SQL 操作的 Hive)
- 第二阶段:Lambda 架构,流批一体(Storm、Spark Streaming、Flink 等流式计算)
- 第三阶段:Kappa 架构
数据湖的数据管理组件
数据接入、数据迁移、数据治理、质量管理、资产目录、访问控制、任务管理、任务编排、元数据管理
各厂商的数据湖解决方案
厂商 | 数据接入 | 数据存储 | 计算引擎 |
---|---|---|---|
AWS | 云上数据源 | S3 | SQL、Spark 流处理(GLUE) |
华为 | 云上数据源、跨云数据接入、流式数据 | OBS | SQL、Spark、Flink |
阿里 | 云上数据源、自建数据库 | OSS | SQL、Spark |
Azure | 云上数据源 | Azure Object Storage | U-SQL、Haddop、Spark |
数据仓库 / 数据中台建设基本流程
- 数据摸底:明确数据来源、数据类型、数据形态、数据模式、数据总量和数据增量等
- 模型抽象:梳理归类各类数据,形成数据管理的元数据
- 数据接入
- 融合治理:对数据进行加工处理,形成各类中间数据 / 结果数据
- 业务支撑
数据湖的未来发展方向
- 云原生架构:存储和计算分离,多模态计算引擎支持,提供 serverless 态服务
- 数据管理能能力:数据源管理、数据类目管理、处理流程编排、任务调度、数据溯源、数据治理、质量管理、权限管理等
- 数据库的体验,将数据湖的能力通过 SQL 的形式释放出来
- 完备的、可视化的、可拓展的集成开发环境
- 与业务的深度融合和集成