Skip to content

数帆核心架构

整体架构

┌─────────────────────────────────────────────────────────────┐
│                      数据源层                                 │
│  MySQL  Oracle  PostgreSQL  MongoDB  Kafka  文件  API 等     │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────▼──────────────────────────────────┐
│                    数据集成层                                  │
│  离线同步(DataX)  实时同步(Flink CDC)  消息队列(Kafka)  │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────▼──────────────────────────────────┐
│                    数据存储层                                  │
│  数据湖(HDFS/OSS)  数仓(Hive)  实时存储(ClickHouse)    │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────▼──────────────────────────────────┐
│                    数据计算层                                  │
│  离线计算(Spark/Hive)  实时计算(Flink)  即席查询(Presto)│
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────▼──────────────────────────────────┐
│                    数据服务层                                  │
│  API 服务  数据集市  BI 报表  NL2SQL(AI 查询)              │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────▼──────────────────────────────────┐
│                    数据治理层(横向贯穿)                      │
│  元数据管理  数据血缘  数据质量  数据安全  数据目录           │
└─────────────────────────────────────────────────────────────┘

数据集成

离线同步(批量 ETL)

基于 DataX 二次开发,支持 50+ 数据源:

数据同步配置示例(MySQL → Hive)
{
  "job": {
    "reader": {
      "name": "mysqlreader",
      "parameter": {
        "jdbcUrl": "jdbc:mysql://host:3306/db",
        "table": ["orders"],
        "column": ["id", "user_id", "amount", "created_at"],
        "where": "created_at >= '${yesterday}'"
      }
    },
    "writer": {
      "name": "hivewriter",
      "parameter": {
        "database": "dw",
        "table": "ods_orders",
        "partition": "dt=${yesterday}"
      }
    }
  }
}

实时同步(CDC)

基于 Flink CDC,实现数据库变更实时同步:

MySQL Binlog → Flink CDC → Kafka → 目标系统
                                  ├── ClickHouse(实时分析)
                                  ├── Elasticsearch(搜索)
                                  └── 数据湖(归档)

延迟:< 1 秒(正常网络条件下)

数据开发

分层架构(数仓分层)

数仓分层规范
├── ODS(原始数据层)
│   └── 贴源存储,不做业务加工
├── DWD(明细数据层)
│   └── 数据清洗、标准化、维度关联
├── DWS(汇总数据层)
│   └── 按主题聚合,如用户行为汇总
├── ADS(应用数据层)
│   └── 面向具体业务的指标数据
└── DIM(维度层)
    └── 公共维度表(用户、商品、时间)

任务调度

DAG 任务依赖示例
ods_orders(每天 01:00 同步)

dwd_orders_clean(清洗,依赖 ods_orders)

dws_user_order_summary(汇总,依赖 dwd)

ads_daily_report(报表,依赖 dws)

邮件推送报表(依赖 ads)

调度能力:

  • 支持 Cron 表达式
  • 支持任务依赖(上游完成才触发下游)
  • 失败自动重试(可配置重试次数)
  • 告警通知(钉钉、邮件、短信)

数据治理

数据血缘

数据血缘记录数据的来源和流向,是数据治理的核心能力:

血缘示例
MySQL.orders
    ↓(ETL)
Hive.ods_orders
    ↓(SQL 加工)
Hive.dwd_orders_clean
    ↓(聚合)
Hive.dws_user_order_summary
    ↓(API)
BI 报表「用户消费分析」

血缘的价值

  • 影响分析:修改上游表前,知道会影响哪些下游
  • 问题排查:报表数据异常,快速定位根因
  • 合规审计:数据从哪来、到哪去,全程可追溯

数据质量

数据质量规则类型
├── 完整性:字段不为空率 > 99%
├── 唯一性:主键无重复
├── 一致性:跨表数据一致(如订单金额与支付金额)
├── 及时性:数据更新延迟 < 2 小时
└── 准确性:数值在合理范围内(如年龄 0-150)

质量监控
├── 规则配置(可视化)
├── 定时检测(随任务执行)
├── 异常告警(超阈值通知)
└── 质量报告(趋势分析)

网易智企产品解决方案知识库