“Data Lake”(数据湖)是一个用来存储大量原始数据(structured、semi-structured 和 unstructured data)的集中式存储库,其特点是以原始格式存储,并且可以在未来按需进行处理、分析。
📘 一句话定义:
数据湖是一个可扩展的、低成本的存储系统,用于存放各种类型的数据,供后续分析和处理使用。
🧱 数据湖 vs 数据仓库
特征 | 数据湖(Data Lake) | 数据仓库(Data Warehouse) |
---|---|---|
数据类型 | 原始数据(结构化、半结构化、非结构化) | 结构化数据为主 |
存储格式 | 原始格式,如JSON、CSV、图像、视频等 | 转换后格式,遵循严格的schema |
ETL顺序 | ELT(先加载再转换) | ETL(先转换再加载) |
成本 | 相对低,通常用对象存储(如S3) | 成本较高 |
查询效率 | 原始数据慢,需要结合计算引擎 | 查询快,适合BI工具 |
技术架构 | Hadoop、Spark、AWS S3、Azure Data Lake | Amazon Redshift、Snowflake、BigQuery |
适用场景 | 大数据分析、机器学习、数据挖掘 | 商业智能、报表、KPI分析 |
📦 数据湖的核心组件:
- 数据存储层:例如 AWS S3、Azure Data Lake Storage、HDFS 等。
- 元数据管理:例如 Apache Hive Metastore、AWS Glue Catalog。
- 数据处理框架:如 Apache Spark、Presto、Apache Flink。
- 安全与访问控制:基于IAM权限、加密机制、访问日志等。
- 数据目录与发现工具:如 Apache Atlas、Amundsen 等。
🧠 典型应用场景:
- 企业级数据整合平台
- 构建机器学习模型的数据源
- 日志/传感器/物联网数据分析
- 多样化数据探索(文本、图像、视频)
🔄 示例数据流过程(ELT):
- 数据采集:从数据库、传感器、日志收集数据到数据湖。
- 数据存储:原始数据按格式存入对象存储。
- 数据编目:用数据目录工具整理元数据。
- 数据分析:通过 Spark、Presto、Athena 等工具查询或建模。
- 可视化/建模输出:结果送入数据仓库或可视化平台。