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

107 阅读2分钟

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

  • 企业数据架构
    • 数据集成
      • 业务数据收集
        • 数据流向
          • 业务数据库->数据系统
        • Log
          • 数据流向
            • client/server log->数据系统
        • 系统间同步传输
    • 数据生产
      • 离线
        • flink
        • kafka
      • 实时
        • spark
        • hive
    • 数据服务
      • 数据流向
        • 数据系统->业务系统
  • 数据中心案例
    • 核心数据指标
    • 数据查询要求
  • 实时数据生产
    • 数据分析
      • 数据产出目标
      • 数据生产可行性
    • 计算分析
      • 目标
        • 开发效率
          • 较快满足用户的需要
        • 资源成本
          • 计算效率高
        • 数据质量
          • 准确无误、数据实时
      • 计算架构
        • Lambda
          • 数据产出
        • 全量计算
          • 用实时引擎来计算所有的数据
          • 问题
            • 如何获取全量的原始数据
      • 计算难点
        • 全量数据获取
          • Hybrid Source
            • Hive + Kafka
        • 准确
          • 处理去重&更新
          • join乱序问题场景
            • 增加ReOrder算子
        • 计算效率
          • 聚合
            • 聚合函数批式处理,本质是延迟换吞吐
          • Join
            • 关联触发
              • 左右流互相关联触发
            • Minibatch Join
              • 抵消批次内的变更导致的中间数据
    • 数据质量
      • 任务稳定性
        • 直接结果
          • 消费堆积
        • JVM
          • GC耗时
          • GC次数
        • 资源
        • 算子
          • 倾斜
          • 反压
      • 数据持续正确性
        • 监控比对
          • 异构比对
          • 时间趋势
    • 数仓建设
      • 数据复用,减少重复开发
      • 数据组织方案
      • 元数据管理
        • 数据资产
          • 管理查询
        • 生产
          • DDL
  • 数据服务
    • 查询快
      • 引擎选择
        • 指定Key,查询value
          • redis
        • 分析
          • Join & Agg
            • ClickHouse
            • Apache Doris
      • 优化分析
        • 关注目标
          • 不需要的信息不关注
          • 列存
            • 直接取出对应的列文件
        • 计算处理
          • 聚合函数能不能足够快
        • 原始信息
          • 单表筛选够不够快
          • 信息关联够不够快
      • 筛选
        • 分区
        • 索引构建
        • 索引查找
      • IO优化
        • Broadcast join(广播小表)
        • shuffle join(左右表by key shuffle)
        • Bucket join(左表已按Join key分布)
        • Colocate join(左右表都按Join key分布)
      • 计算向量化
        • CPU支持向量化指令,单指令多数据处理
      • 执行计划
        • RBO
          • Filter push down
      • 应用优化
        • 原始信息关联
          • Local Join
          • 预关联
        • 计算复杂度
          • 预计算
            • 提前聚合到特定粒度
          • 提升信息密度
            • bit
        • 宽表构建
          • 目标
            • 减少查询现join,生产侧把相同粒度指标及相关维度数据关联成宽表
        • 提升信息密度
          • bitmap
            • roaringBitMap
              • 稀疏优化
                • 高16位
                  • 分桶
                • 低16位
                  • 数据稀疏用数组存储,否则用bit
    • 稳定性
      • 异常节点导致服务雪崩
      • 解决
        • 熔断触发策略
        • 限流
          • 根据查询客户端、接口等配置查询限额
        • 降级
          • 主备存储/服务集群,降级预案
    • 查询
      • 数据管理