【算法与数据中台】走马观花

中台火了?中台凉了?其实需求一直在,只是名称和概念起起伏伏罢了。


更新历史

  • 2022.03.17:开始阅读
  • 2022.03.18:完成初稿

读后感

职业生涯里一直在和各种算法和数据平台打交道,无论是叫中台还是后台,实际上都是通过资源的调度来提升工作流的效率,而这个是和不同的业务场景紧密相关的。对于技术人员来说,关键还是如何能在尽量复用的前提下提升解决问题的效率,这个才是技术人的安身立命之本。

这本书总体来说属于知识的收集与汇总,对于具体实战介绍得比较少,可以当个科普数据大致了解整体架构,但是对于已经在做这一块的同学来说,用处就不是很大。

读书笔记

算法与数据中台概述

  • 中台建设的目标和意义
    • 数据整合:全域数据背后的深层次价值
    • 技术沉淀:统一建设与管理
    • 能力共享与功能复用:打破协作壁垒
    • 引领组织价格重塑
  • 通用技术体系
    • 在线算法平台
      • 倒排检索系统
      • 相似检索系统
      • 策略机制引擎
      • 模型预估服务
      • 动态配置系统
      • 特征服务
      • 多租户平台
      • 效果监控系统
      • AB 实验平台
      • 在线开关系统
    • 机器学习平台
      • 深度学习框架
      • 算法组件
      • 模型管理
      • 特征管理
      • 模型可视化
      • AutoML
      • 作业调度
      • 数据标注
      • 样本拼接
      • 样本管理
    • 分布式数据库平台
      • 键值数据库
      • 表格数据库
      • 缓存数据库
      • 图数据库
      • NewSQL
      • 关系数据库
      • 对象存储数据库
      • Gossip 协议库
      • 分布式事务协议库
      • 分布式一致性协议库
    • 大数据平台
      • 集群管理系统
      • 分布式协调系统
      • 分布式文件系统
      • 分布式计算系统
      • 数据查询系统
      • 数据仓库系统
      • 数据可视化平台
      • 消息管道系统
    • 基础设施平台
      • 代码构建系统
      • 通用压测服务
      • 服务发布平台
      • 服务注册发现
      • 监控告警系统
      • 持续集成系统
      • 远程通信框架
      • 日志检索平台
      • 服务治理平台
      • 链路跟踪系统
  • 研发项目典型工作流程
    • 项目管理:项目立项、设计文档撰写、任务分解
    • 代码研发:代码修改(单元测试、人工审查、持续集成)、代码提交
    • 服务部署:压力测试、灰度上线、正式上线

在线算法系统

AB 实验系统的整体架构

  • 实验操作平台:实验创建、效果展示、实验审核、实验记录
  • 配置动态分发系统:代码审核、灰度发布、全量发布、配置获取
  • 流量标签 SDK:配置加载、流量分配、标签计算、日志落盘
  • 大数据平台:实时计算、标签收集、离线计算、行为收集

机器学习平台

机器学习建模任务的全流程

  • 业务需求、业务建模
  • 数据收集:数据集成、数据清洗、数据规约、数据变换
  • 数据探索分析
  • 特征工程
  • 模型训练、参数优化
  • 模型评估
  • 模型上线
  • AB 测试
  • 线上预测
  • 效果监控
  • 数据回流、数据模型迭代

分布式数据库

  • ACID 理论
    • 原子性 Atomicity:事务的整体性和不可分割性
    • 一致性 Consistency:在事务发起、运行和结束的全流程中,数据库的完整性约束没有被破坏
    • 隔离性 Isolation:用于数据库事务的并发控制,具体分为未提交读(Read-Uncommitted)、提交读(Read-Committed)、可重复读(Repeatable-Read)和串行化(Serializable)
    • 持久性 Durability:事务所做的任何修改都会被持久化地存储在数据库中
  • CAP 理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition-Tolerance)这三个特性中的两个
    • 强一致性、弱一致性、最终一致性
  • BASE 理论:基本可用(Basically-Available), 软状态(Soft-State), 最终一致性(Eventually-Consistent)
  • 数据分片策略
    • 哈希取模分片
      • 无状态、易于实现
      • 节点数量变化需要大量数据迁移
    • 一致性哈希分片: Amazon Dynamo, Apache Cassandra
      • 解决了大规模数据迁移问题
      • 在负载均衡上不完美,只有相邻的物理节点才能分担存储和访问流量的压力
    • 连续区域分片策略: Google BigTable
      • 满足时间局部性原理和空间局部性原理
      • 应对数据负载变更时比较复杂,但迁移数据量较小
  • 数据复制策略:异步复制、同步复制
  • Gossip 协议: Apache Cassandra, Consul
    • 优点:简单、可扩展性、去中心化、健壮性
    • 缺点:消息延迟、消息冗余、弱一致性
  • 分布式一致性协议
    • Paxos 理论上解决了分布式一致性问题
    • Multi-Paxos 大幅提升运行性能和工程可行性
    • Raft 增强可理解性并降低实现难度
  • 分布式事务协议
    • 二阶段提交协议
    • 三阶段提交协议

推荐系统

推荐系统通用架构

  • 业务流量入口:信息流推荐、相似推荐、关系推荐、个性化消息
  • 在线投放服务
  • 特征与画像服务:统计、序列、组合、向量、标签
  • 召回与索引服务:标签、规则、关系图、语义、向量
  • 在线预估服务:LR GBDT FM DNN
  • 排序策略服务:动态配置、流量标签、负反馈、竞价机制、冷启动、多样性、上下文理解、自定义运营逻辑
  • 在线存储系统:SQL NoSQL NewSQL
  • 集群管理平台:日志分析、性能监控、链路跟踪、负载均衡
  • 数据挖掘平台:内容理解、用户理解、标签生产、行为分析
  • 机器学习平台:样本拼接、特征处理、模型训练、模型评估、上线发布、AutoML
  • 数据管道与数据仓储平台:日志收集、数据清洗、反作弊、大数据处理、流式计算
  • AB 实验平台
  • BI 商业分析平台
  • 用户数据与站外数据接入服务