知识卡片
速度层应少做事
内容
速度层越复杂,维护状态、恢复失败和解释结果的成本越高。能在批处理中准确修正的逻辑,不必强行实时化;实时层应专注弥补新鲜度缺口,而不是复制全部业务智能。
参考来源
- 位置:《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》第14章《队列和流处理》"14.5 总结"一节(源文件:_epub-src/OEBPS/Text/106.xhtml)
- 结论依据:原文说明"实时视图所需的关键属性是效率和低更新延迟。速度层通过增量地计算实时视图来实现这一点,通过忽视等量做出一个近似算法,这使得实现起来快速且简单"——即速度层刻意跳过批处理层才做的等价图归并等复杂业务逻辑,只求近似和低延迟。
- 原始内容:最后,实时视图所需的关键属性是效率和低更新延迟。速度层通过增量地计算实时视图来实现这一点,通过忽视等量做出一个近似算法,这使得实现起来快速且简单。随机写数据库是用于实现速度层所需的低延迟,但它们的复杂性负担被实时视图本身就很小这一事实所大大抵消——大多数数据被批处理视图所表示。