”数据湖“的核心概念,数据湖不是技术组件、框架,而是一种概念、解决问题思路、治理方案。在多源异构数据存储层面与”数据中台“最大的区别是数据与业务解耦,保持数据的原始性、完整性,之前多数数据中台是围绕着业务进行采集、存储、归纳、转换。
数据湖类型
自建hadoop生态数据湖、云上数据湖、数据湖产品:
| 湖类型 | 类型 | 多元异构存储 | 分析能力 |
|---|---|---|---|
| Hadoop | 本地 | HDFS | Spark、MR、Flink、Tez |
| AliCloud | 云上 | OSS | EMR、DDI |
| Amazon | 云上 | S3 | EMR |
Data Lake 三剑客——Delta、Hudi、Iceberg 对比分析:
| Delta | Hudi | Iceberg | |
|---|---|---|---|
| Incremental Ingestion | Spark | Spark | Spark |
| ACID updates | HDFS, S3 (Databricks), OSS | HDFS | HDFS, S3 |
| Upserts/Delete/Merge/Update | Delete/Merge/Update | Upserts/Delete | No |
| Streaming sink | Yes | Yes | Yes(not ready?) |
| Streaming source | Yes | No | No |
| FileFormats | Parquet | Avro,Parquet | Parquet, ORC |
| Data Skipping | File-Level Max-Min stats + Z-Ordering (Databricks) | File-Level Max-Min stats + Bloom Filter | File-Level Max-Min Filtering |
| Concurrency control | Optimistic | Optimistic | Optimistic |
| Data Validation | Yes (Databricks) | No | Yes |
| Merge on read | No | Yes | No |
| Schema Evolution | Yes | Yes | Yes |
| File I/O Cache | Yes (Databricks) | No | No |
| Cleanup | Manual | Automatic | No |
| Compaction | Manual | Automatic | No |
多源异构数据、统一存储、高分析能力、原始数据保留,读时Schema 例如:sparksql df、 ds 读取hdfs数据 读取时候创建Schema。
数据湖架构设计:1、分离数据与业务。
2、存储于计算分离(云厂商可以OSS典型分离)自建成本DataNode、NodeManager会部署在同一个节点,还有移动计算to数据节点性能考虑。
3、lamdba 、kappa 、iota架构。
4、管理服务、合适组件与工具。



