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