近日伯克利 RISE Lab 开源了一个多数据流实时分布式分析系统 Confluo,它既是一个网络监控和诊断框架,也可以作为时序数据库和发布订阅消息系统。
源码地址:https://github.com/ucbrise/confluo
当下,类似基于终端主机的网络监控系统、IoT 设备传感器程序等应用,其后端的服务器每秒都可以捕获数千万个数据点。这些数据被用于在线查询,实现可视化与监控,或者用于离线查询,进行故障分析和系统优化。这样的使用场景下,就需要实时监控和分析工具支持,这些工具通常支持高吞吐量数据提取、低延迟在线查询和低开销的离线查询。
虽然目前已经存在一些用于高吞吐量数据提取的数据结构,它们可以支持丰富的在线和离线查询,但是高吞吐量与查询能力目前来看还是互斥的。在从多个数据流提取数据时,查询需要更新多个数据结构,包括原始数据、聚合统计信息和物化视图。但是用于支持这些查询的数据结构往往具有较高的更新开销,而且无法维持大多数应用程序所需的数据提取速率。而另一方面,可以维持高数据提取速率的数据结构往往只支持非常简单的查询。
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
1,输入的数据 他可以定义Trigger去触发一些事件(聚合函数)
2,这些事件在一定时间条件下回触发聚合函数(他的事件可能是存放在他自己实现的时序数据库中的)
设计上这应该是最高性能的模式了。
比较牛逼的是它的吞吐量也很高。我当时写的比较低。里面还有大量的吞吐量优化的技术细节——这些才是最有技术含量的东西,但是文章里没提,代码里我也没找。
回头有时间研究一下。
另外,这个不是啥“实时分布式分析系统”,而是“分布式实时统计系统”
核心问题也不是并发性(虽然他这个模式可以造就最高的并发能力),国内关注啥框架都是只能看懂性能,其解决问题得核心模型根本忽视了。
引用来自“luckCheng”的评论
一楼键盘侠无疑引用来自“这波天秀”的评论
pgsql好像也是伯克利出的吧,忽然感觉国内的公司和大学都好垃圾,什么都做不出来,但是吹牛逼,指点江山确一个比一个猛引用来自“风吹过的绿洲”的评论
你不是国内的么?你他妈做一个啊!别他妈瞎指点引用来自“酸奶瓶盖儿”的评论
赞,他自己可能忘了自己在这里指点江山的事实。引用来自“Outshine”的评论
吐槽和指点江山你都分不清么?另外,即使自己菜,也应该是有权利吐槽别人也菜的吧!引用来自“银杏果果”的评论
他这种吐槽就是无端指责吧,指责国内都垃圾,做不出好产品,别人理解他身在国内,不仅自己做不出好东西还指责国内,说实在的,就算吐槽,你也得有资格吧,比如自己做个牛逼的东西出来,再指责或者吐槽别人,我想没人会喷他的。我是开源作者,虽然没做出享誉世界的好产品,但我一直在努力,而且已经致力于开源。请各位有时间喷国内,还不如自己努力做一款开源产品出来!引用来自“一个大土豆”的评论
没做出来好产品就低调一点呗,一楼说的没错啊。你要是想反驳要拿出数据来。在这发一堆牢骚,说一堆委屈,等着我们哄你玩呢啊?引用来自“银杏果果”的评论
发牢骚的是你们吧,没事把精力用在吐槽上,有本事你们做个东西出来?我可没说什么委屈,你语文白学了,哪句是委屈?你们要是有本事就自己做出好产品,有什么资格吐槽?当做路人甲、旁观者说三道四,这就是中国的小民思想,有你们,难以发展!引用来自“一个大土豆”的评论
做不出来出来硬喊得被指指点点的很正常。做不出来的人就低头好好干。谁都不知道你当然不会说你。怕的就是,本身啥也没做出来,但是今天灭这个,明天骂那个,后天说这个不行的人。
这个道理是前提,你要觉得分歧太大,就别回复我了,我也不听你的。你也不听我的。一会就吵架了。
引用来自“银杏果果”的评论
你真有意思,请问一楼做出什么了?你这么支持?况且我也没骂人,一楼没做出什么就指国内公司和大学都垃圾,这就是你认为该有的好思想?我还做了个开源产品出来,请问你们做出什么了?只会指责别人垃圾?二楼虽然语言过激,但也是有道理的,自己没啥本事说别人公司大学垃圾,跟那些吹牛逼瞎指点的有啥区别?再说我首先说的又不是针对你的言论,你既然不认同还回复什么?引用来自“Keygen”的评论
原来在开源中国里只有做个开源产品,才能发评论啊。。