知识卡片
三种系统架构:在线服务、批处理、流处理的划分与衡量标准
内容
数据系统大致可以按”请求何时到达、响应何时需要”分成三类,各自有不同的性能衡量重心。服务(在线系统)等待客户端请求到达,尽快处理并返回响应,人类用户通常在等待,因此响应时间(尤其是尾部延迟百分位点)是核心指标,可用性也至关重要。批处理系统(离线系统)有一批预先确定的大量输入数据,跑一个作业处理它并产生输出,耗时从几分钟到几天不等,通常没有用户实时等待,衡量标准是吞吐量(处理特定大小输入所需的时间),作业往往定期运行(如每天一次)。流处理系统介于两者之间,像批处理一样消费输入产生输出、不直接响应请求,但在事件发生后不久就处理它,而非等待固定一批数据凑齐,因此延迟远低于批处理,常被称为准实时或准在线处理。发散:这三类划分的本质区别不是”数据量大小”,而是”输入的边界是否已知、响应是否有人在等”——这也是为什么后面章节把流处理描述为”输入无界的批处理”。
参考来源
- 位置:《数据密集型应用系统设计》第十章《批处理》引言(源文件:_epub-src/ch10_split_000.html)
- 结论依据:原文分别定义服务/批处理系统/流处理系统三类,说明各自的性能衡量标准(响应时间/吞吐量/延迟)与是否有用户实时等待,直接支撑本卡片的分类总结。
- 原始内容:服务等待客户的请求或指令到达……响应时间通常是服务性能的主要衡量指标……一个批处理系统有大量的输入数据,跑一个作业来处理它……批量作业通常会定期运行……流处理消费输入并产生输出……在事件发生后不久就会对事件进行操作。