概念 | 目标数据 | 触发方式 | 数据包规模 | 场景 | 实时性 | 数据存储 |
批处理 | 存量数据 | 定时任务 | 多条数据 | 数据分析,如:BI,报表 | 没有实时性要求 | 处理过程中一般不存储,或者存储快照 |
流处理 | 增量数据 | 事件驱动 | 单条数据 | 实时数据处理,如:告警,监控 | 实时处理 | 中间过程数据需要处理 |
数据处理
1. 任务很大,量比较小。比如:统计全国** ,使用MR模型,各省市统计完一层层汇总
2. 任务可单机完成,量很大。比如:告警
3. 居于中间场景, 任务挺大, 单机处理起来挺耗时; 量也不少,但不至于上亿
任务拆分:任务拆分和合并是需要额外的工作量的,如果不是太大不建议拆分
任务切换:任务切换需要重新读取,加载,数据的发送等工作。
任务小:如一个告警处理一次。特点是:处理快,时延小,因为边际成本存在,吞吐量有限
任务大:如一批告警处理一次。特点是:处理慢,时延长,吞吐量更大
怎么平衡任务大小和任务量的关系:
1. 场景:解决100,1W,100W 不同了量级人员信息的统计
2. 问题:将N个人打包为一个package,作为一个tas