原子标签索引:[概念×10 | 机制×5 | 流程×4 | 决策×1 | 分类体系×4 | 判据×4 | 案例×4 | 数据×3] 上游:第6章(数据库/数据仓库基础)、CAP 相关理论 下游:论文科高频素材(架构风格/质量属性论述常用)

标准表述

蒸馏笔记

概念

机制

流程

Kappa 架构实现(以 Kafka 为例) 1. 部署 Kafka,设置日志保留期(如重算一年设 365 天,全量则设 Forever)。 2. 改进算法时启动新 Kafka 作业实例,Log Offset 置 0,从头重算历史数据输出到新视图。 3. 新视图进度追上旧视图后,应用切换到新视图读取。 4. 停止旧作业实例,删除旧视图。

某证券实时日志平台处理流程(Kappa) 1. 采集:各系统部署 Filebeat,实时输出日志到 Kafka。 2. 清洗解析:Flink 读取 Kafka,提取关键内容转指标并二次加工衍生指标。 3. 存储:日志分类存 ElasticSearch 日志库,指标存 OpenTSDB 指标库。 4. 监控:独立告警消息队列保证监控消息有序管理与实时推送。 5. 应用:搜索/可视化分析/全息监控,预警中心按优先级呈现告警。

某电商智能决策系统流程(Kappa) 1. 数据采集:B 端实时收集点击、下单、曝光、出价数据输出到 Kafka。 2. 清洗聚合:Flink 过滤参与计算的字段,按时间窗口聚合转换成指标。 3. 存储与决策:结果存 Hive 与 Tair;决策服务从 Tair 读数据算新参数,经 Zookeeper 通知客户端拉取参数本地存储。

Lambda 典型实现选型 1. 存储:Hadoop(HDFS) 存主数据集。 2. 计算:Spark 或 Storm 构成速度层。 3. 服务:HBase 或 Cassandra 作服务层。 4. 视图:Hive 创建可查询视图。

决策

选项 适用条件 代价
Lambda 依赖 Hadoop/Spark/Storm 等关键技术;需频繁海量历史数据分析;实时与离线结果无法统一(如 ML 先离线训练再实时验证);人力/技术/资金充足 维护两套系统两套代码,复杂度、开发维护成本高
Kappa 偏好流式计算、依赖 Flink;业务为增量写入场景(时序数据天然带时间窗);希望一份代码;频繁改算法模型参数;小规模数据集 抛弃离线计算的稳定可靠;消息中间件缓存与回溯有性能瓶颈;多流关联可能因乱序丢数据

分类体系

大数据系统八大理想属性(Marz 提出) 1. 鲁棒性和容错性——机器不可靠且人会犯错,人为操作容错比机器容错更重要。 2. 低延迟读取和更新——毫秒到几百毫秒级,须在保证鲁棒性前提下实现。 3. 横向扩容——scale out(加机器)而非 scale up(增强单机)。 4. 通用性——支持金融、社交、电商等各类应用。 5. 延展性——新功能可添加,且具备大规模迁移能力。 6. 即席查询——用户可按自己要求进行 Ad Hoc 查询。 7. 最少维护——用机制简单的组件降低底层复杂度,不再基于增量更新设计。 8. 可调试性——每个运行时产生的值都可追踪其产生途径。

大数据三大挑战 1. 用信息技术处理非结构化/半结构化数据。 2. 复杂性、不确定性特征的刻画方法与系统建模(知识发现的前提和关键)。 3. 数据异构性与决策异构性对知识发现与管理决策的影响。

Lambda 三层职责 - 批处理层:存储主数据集 + 预计算生成 Batch View;结果精准且全量;时延高。 - 加速层:只处理最近增量数据流,持续更新 Real-time View;结果可能不精确、不全量;时延低。 - 服务层:合并两类视图为最终数据集,提供低延迟随机读,要求批量写入、可伸缩、容错。

Kappa 架构变形 1. Kappa+(Uber 提出):流计算框架直接读 HDFS 数仓数据,一并完成实时计算与历史 backfill;任务分无状态任务与时间窗口任务;配套 Apache Hudi 支持 parquet 数据更新/删除与增量消费。 2. 混合分析系统:Kafka+Flink 构建流计算,再对接 ElasticSearch 弥补分析能力,只适合合理量级热点数据,属 Kappa 与 Lambda 间的折中。

判据

案例

数据

Lambda 与 Kappa 对比(表 19-1 改写)

对比维度 Lambda Kappa
复杂度与开发维护成本 两套系统,复杂、成本高 一套系统,复杂度低、成本低
计算开销 批+实时须一直运行,开销大 仅必要时全量计算,开销较小
实时性 满足 满足
历史数据处理 批式全量,吞吐大、能力强 流式全量,吞吐较低、能力较弱

比例数据:结构化数据约 15%、非结构化约 85%;约 90% 数据来自开源数据(适用条件:大数据语境的普遍统计口径)。

典型量级:Kappa 算法常需过去 180 天数据;Kafka 保留期示例 365 天;答题场景某网广告数据为秒级到 10min 级准实时。

易错点 / 边界情况