返回
Towards an asynchronous commit in micro-batch streaming systems with log-structured merge-tree based key-value store
DOI:10.1007/s10586-024-05000-6.png)
摘要
En 中文
基于日志结构合并树(Log-Structured Merge-tree, LSM-KVS)作为状态存储的微批次流式系统,由于多种因素常常出现高尾部延迟。首先,提交任务是同步的,会阻塞查询执行直至其完全完成。在此期间,流式引擎必须等待所有关联操作完成。此外,作为提交任务一部分的远程检查点操作会增加LSM-KVS的压缩时间。这涉及为压缩从远程持久节点读取元数据和状态,然后将更新后的数据写回,从而延长提交延迟并降低整体性能。这些延迟还会推迟后续任务,导致数据源快速积累数据,形成进一步延长提交延迟的循环,最终导致尾部延迟过长。为解决这些问题,我们提出MiSA,一种在LSM-KVS架构中融入异步提交和状态预加载机制的微批次流式系统。MiSA通过重叠耗时的提交操作与查询执行的时间,并通过分层状态预加载提升性能。我们在支持LSM-KVS的Apache Spark Structured Streaming(一种广泛使用的微批次流式平台)中实现了MiSA。实验结果表明,MiSA在99百分位数下将尾部延迟最多降低13.4倍,并将平均吞吐量最多提升10.4倍。
Keyword:
Micro-batch streaming system
Log-structured merge-tree
Key-value store

