”数据湖“的核心概念,数据湖不是技术组件、框架,而是一种概念、解决问题思路、治理方案。在多源异构数据存储层面与”数据中台“最大的区别是数据与业务解耦,保持数据的原始性、完整性,之前多数数据中台是围绕着业务进行采集、存储、归纳、转换。
数据湖类型
自建hadoop生态数据湖、云上数据湖、数据湖产品:
湖类型 | 类型 | 多元异构存储 | 分析能力 | Hadoop本地HDFSSpark、MR、Flink、TezAliCloud云上OSSEMR、DDIAmazon云上S3EMR数据湖框架
Data Lake 三剑客——Delta、Hudi、Iceberg 对比分析:
Delta | Hudi | Iceberg | | Incremental IngestionSparkSparkSparkACID updatesHDFS, S3 (Databricks), OSSHDFSHDFS, S3Upserts/Delete/Merge/UpdateDelete/Merge/UpdateUpserts/DeleteNoStreaming sinkYesYesYes(not ready?)Streaming sourceYesNoNoFileFormatsParquetAvro,ParquetParquet, ORCData SkippingFile-Level Max-Min stats + Z-Ordering (Databricks)File-Level Max-Min stats + Bloom FilterFile-Level Max-Min FilteringConcurrency controlOptimisticOptimisticOptimisticData ValidationYes (Databricks)NoYesMerge on readNoYesNoSchema EvolutionYesYesYesFile I/O CacheYes (Databricks)NoNoCleanupManualAutomaticNoCompactionManualAutomaticNo数据湖思想:
多源异构数据、统一存储、高分析能力、原始数据保留,读时Schema 例如:sparksql df、 ds 读取hdfs数据 读取时候创建Schema。
数据湖架构设计:
1、分离数据与业务。
2、存储于计算分离(云厂商可以OSS典型分离)自建成本DataNode、NodeManager会部署在同一个节点,还有移动计算to数据节点性能考虑。
3、lamdba 、kappa 、iota架构。
4、管理服务、合适组件与工具。