实时数据中心建设思路与企业实践 | 青训营笔记

100 阅读4分钟

实时数据中心建设思路与企业实践

这是我参与「第四届青训营 」 笔记创作活动的第15天

1.企业数据架构

企业整体数据架构:基础引擎、数据集成/生产/服务、开发和治理工具

计算/存储引擎:

  • Flink、Spark、ClickHouse、Doris、Kafka、Hive...

数据集成:

  • 业务数据收集(数据库CDC、业务日志等)、Flink Connector体系

    • 数据库CDC数据流向:业务数据库->数据系统
    • 业务日志数据Log收集数据流向:client/server log -> 数据系统
  • 系统间同步传输: 基于Flink丰富的connector体系 (数据系统内)

数据生产:

  • 实时和离线生产pipeline (数据系统内)
  • 数据流向:原始数据 -> 数据处理pipeline

数据服务:

  • 统一数据服务架构(数据系统->业务系统)
  • 数据流向:数据系统 -> 业务系统

数据治理:数据质量、数据安全、数据生命周期...

数据开发:大数据开发工具套件、发布运维工具、元数据管理工具...

2. 数据中心案例

本案例以房产业务为例讲述数据中心建设

  • 以房产业务举例说明数据中心建设目标和要求
  • 房产业务介绍:房产服务平台、经纪人、客户
  • 数据中心核心指标分析:供需、过程、结果
  • 数据中心查询要求:查询条件、数据结果、技术要求
  • 房产数据中心

    • 供需、过程、结过等数据
    • 数据查询的要求:查询条件、数据展示,技术要求

3. 实时数据生产

3.1 数据分析:

  1. 案例生产方案分析:数据探查、明确指标口径和产出粒度、生产架构、计算难点

    • 用户想要什么数据,根据业务场景,数据库设计进行处理
  2. 数据探查:分析数据信息是否齐全,即基于原始数据计算指标可行性

    • 数据生产可行性,生产逻辑

3.2 计算分析

  1. 目标:开发效率、资源成本、数据质量

  2. 生产计算架构:Lambda架构、全量计算效率Flink:用实时引擎来计算所有的数据,确定合适的生产架构方案

    目标Lambda架构全量计算架构
    开发运维效率效率低;存在实时离线开发任务和merge逻辑效率高;只存在一套实时任务
    资源效率计算资源占用高:离线全量(例行任务)+ 实时增量状态存储成本相对高;全量首次冷启动+增量
    数据质量,实时,准确符合要求符合要求
  1. 数据源获取:全量能力

    • Hybrid Source(逻辑全量表,hive+kafka,成熟存储方案)
  2. 计算:正确、效率,核心是算子选择+优化

    • 正确

      • 处理更新/重复:rownumber + retract机制
      • 乱序:join reorder
    • 效率:

      • 实时性换效率:Minibatch(聚合,join)
    • 质量:稳定性监控、数据监控

      • 任务稳定性:消费LAG、JVM、资源、算子
      • 数据正确性:和离线比对、趋势比对、异常值占比

3.3 数仓建设

  • 数据复用,减少重复开发
  • 实时数仓:数据仓库、数仓分层(ODS、DWD、DWS、APP)...

    • 数据分层:数据复用,减少重复开发
    • 数据管理:格式、元数据

4. 数据服务

  • 整体架构:查询引擎、查询优化和执行、稳定性、元数据

4.1 引擎选择

  • redis:指定key,查询value,类似于hashMap
  • clickHouse,Apache Doris,进行分析join、Log
  • 如何更快的查询

    • 原始信息筛选和关联效率,单表筛选够不够快,信息关联度快否

      • 根据日期快速筛选
      • primary key 查找
      • 原始信息关联 - io 优化
      • 执行计划优化:RBO、CBO
      • OLAP引擎索引方案
    • 计算处理效率,注意聚合函数的使用

      • 计算向量化
    • 只关注目标所需数据,不需要的信息不关注

      • select from; 行会有大量的io,列存直接取出对应的列文件
  • 应用层优化

    • 预关联:原始信息关联

      • 宽表构建,Local Join
    • 预计算:提前聚合到特定力度

      • 提升信息密度:bit化、bitmap
  • 查询稳定性

    • 熔断:设定触发侧罗,触发直接返回失败
    • 限流:根据出巡客户端,借口等配置查询限额
    • 降级:主备存储/服务集群,降级预案
  • 元数据管理:指标口径管理、查询生成

总结

整体上了解企业数据平台架构,围绕一个数据中心案例,学习了实时数据生产和数据服务的实践方案。