伯克利开源 Confluo,吞吐量是 Kafka 的 4 到 10 倍

近日伯克利 RISE Lab 开源了一个多数据流实时分布式分析系统 Confluo,它既是一个网络监控和诊断框架,也能够做为时序数据库和发布订阅消息系统。git

源码地址:https://github.com/ucbrise/confluogithub

当下,相似基于终端主机的网络监控系统、IoT 设备传感器程序等应用,其后端的服务器每秒均可以捕获数千万个数据点。这些数据被用于在线查询,实现可视化与监控,或者用于离线查询,进行故障分析和系统优化。web

这样的使用场景下,就须要实时监控和分析工具支持,这些工具一般支持高吞吐量数据提取、低延迟在线查询和低开销的离线查询。数据库

虽然目前已经存在一些用于高吞吐量数据提取的数据结构,它们能够支持丰富的在线和离线查询,可是高吞吐量与查询能力目前来看仍是互斥的。后端

在从多个数据流提取数据时,查询须要更新多个数据结构,包括原始数据、聚合统计信息和物化视图。可是用于支持这些查询的数据结构每每具备较高的更新开销,并且没法维持大多数应用程序所需的数据提取速率。服务器

而另外一方面,能够维持高数据提取速率的数据结构每每只支持很是简单的查询。网络

Confluo 正是为了应对这种状况而产生的,它是一个致力于同时实现高吞吐量数据提取和富有表现力的离线/在线查询的系统。数据结构

Confluo 性能强悍,支持:并发

  • 来自多个数据流的数百万个数据点的高吞吐量并发写入框架

  • 毫秒级的在线查询

  • 使用最少 CPU 资源的 ad-hoc 查询

不一样场景下对 Confluo 进行性能测试,结果显示:

  • 做为一个网络监控和诊断框架,Confluo 可以在单核上以线路速率(10Gbps 链路)执行数千个触发器和数十个过滤器。

  • 做为一个时序数据库,与其它诸如 CorfuDB、TimescaleDB 和 BTrDB 等先进的时序数据库相比,Confluo 的吞吐量提升了 2 到 20 倍,写入延迟下降了 2 至 10 倍,时间区间查询延迟下降了 5 至 20 倍。

  • 做为一个发布订阅消息系统,Confluo 的吐量是 Kafka 的 4 到 10 倍。

更详细的分析:https://rise.cs.berkeley.edu/blog/confluo-millisecond-level-queries-on-large-scale-streaming-data

相关文章
相关标签/搜索