可昕之家

可昕之家

张先生

平淡如水,爱护家人,好好工作

57 文章数
0 评论数

大数据数仓发展史及当前主流建仓方案

张清磊
2025-04-21 / 0 评论 / 25 阅读 / 0 点赞

📌 数据仓库(Data Warehouse, DWH)发展历程

数据仓库技术的演进可以分为 四个主要阶段,从传统数仓到现代云原生数仓,技术架构和数据处理方式发生了巨大变化:


1️⃣ 早期:传统数仓(1990s~2000s)

代表技术

  • 📊 Bill Inmon 模型(企业级数据仓库,EDW):
    • 自上而下 设计,先建全局模型(3NF),再分层汇总(OLAP)。
    • 特点:强一致性,适合金融、电信等规范行业,但灵活性低、成本高。
  • 🌟 Ralph Kimball 模型(维度建模):
    • 自下而上,以星型/雪花模型为核心,快速构建数据集市(Data Mart)。
    • 特点:敏捷开发,适合业务分析,但数据冗余较多。

技术栈

  • 数据库:Oracle、IBM DB2、Teradata(MPP架构)
  • ETL工具:Informatica、DataStage

痛点

  • 扩展性差,难以处理海量数据。
  • 计算和存储耦合,成本高昂。

2️⃣ 大数据时代:Hadoop 生态(2010s)

技术演进

  • 🐘 Hadoop 生态崛起
    • 通过 HDFS 存储 + MapReduce 计算,解决传统数仓的扩展性问题。
    • Lambda 架构(批流分离):
      • 批处理:Hive(SQL on Hadoop)
      • 流处理:Storm/Flink
    • 问题:实时性差,运维复杂,SQL支持弱。
  • 🔥 Spark 替代 MR
    • 内存计算提升性能,Spark SQL 提供更好的兼容性。

代表方案

  • Cloudera CDH、Hortonworks HDP

3️⃣ 现代数仓(2015~2020):云原生与实时化

关键变革

  1. 存算分离
    • 存储:对象存储(S3、OSS)+ 分布式文件系统(HDFS 渐被替代)。
    • 计算:弹性伸缩的云资源(如 AWS EMR、阿里云 MaxCompute)。
  2. 实时数仓
    • Kappa 架构(Flink 统一批流)。
    • 技术:Flink + Kafka + Iceberg/Hudi(流批一体)。
  3. 数据湖与数仓融合
    • Lakehouse 架构(Delta Lake、Iceberg、Hudi):
      • 在数据湖(低成本存储)上实现 ACID、索引等数仓能力。

代表技术

  • 云数仓:Snowflake、BigQuery、Redshift
  • 开源:Trino(Presto)、Apache Doris

4️⃣ 当前主流数仓建设方案(2020s~至今)

📌 架构选型

需求场景 推荐方案 核心优势
低成本 & 灵活性高 Lakehouse(Delta/Iceberg + Spark) 兼容 Parquet/ORC,支持 ACID
实时分析 Flink + Kafka + ClickHouse 亚秒级延迟,高吞吐
云原生 & 极简运维 Snowflake / BigQuery 按需付费,自动扩缩容
高性能 OLAP Apache Doris / StarRocks 向量化引擎,MPP 并行查询

📌 典型技术栈

  1. 批处理层
    • 存储:S3/OSS + Iceberg
    • 计算:Spark SQL / Hive
  2. 实时层
    • 流式摄入:Flink CDC / Kafka
    • 实时存储:Hudi(Merge on Read)
  3. 服务层
    • OLAP引擎:Trino(即席查询)、Doris(高并发)
    • BI工具:Tableau、Superset

🔮 未来趋势

  1. AI 增强数仓
    • 自动化数据建模(如 Google BigQuery ML)。
    • 向量数据库(如 Pinecone)与数仓结合。
  2. 统一语义层
    • 通过 Cube / Metrics Layer(如 Cube.js)解耦计算与业务逻辑。
  3. Serverless 化
    • 云厂商提供全托管服务(如 AWS Aurora、阿里云 MaxCompute)。

📌 总结建议

  • 中小企业:直接采用 Snowflake/BigQuery(省去运维成本)。
  • 大数据团队:使用 Lakehouse(Delta + Spark/Flink) 平衡灵活性与性能。
  • 实时场景:优先 Flink + Doris 构建流批一体架构。

如果需要具体某个技术栈的部署方案(如基于 Flink + Iceberg 的实时数仓),可以进一步探讨!

上一篇 下一篇
评论
最新回复
    暂无内容
光阴似箭
今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月
文章目录
今日天气