#流处理 #物联网设备 #Spring-QL #任务调度

已删除 springql-core-release-test

SpringQL:适用于物联网设备和车载计算机的开源流处理器

1.0.0-a6 2022年10月7日
1.0.0-a2 2022年9月21日

#5 in #spring-ql


用于 springql-release-test

MIT/Apache

630KB
16K SLoC

SpringQL

物联网设备和车载计算机的流处理器

crates.io Crates.io docs.rs MSRV codecov License: MIT License: Apache 2.0

什么是SpringQL?

SpringQL是一个开源流处理器,适用于低内存和高内存限制的工作环境。它适用于资源匮乏的环境,如物联网设备和车载计算机。

  • SQL支持

    与其他流处理器类似,无限数量的行在SpringQL系统中流动。您可以注册类似于SQL(连续)的查询来过滤、转换和分析行。SpringQL能够从行流中创建窗口,以便您可以对有限数量的行执行GROUP BYJOIN等操作。

  • 内存占用小

    SpringQL通常使用约1MB的低工作内存。即使在处理重负载(例如,使用大窗口或快速流输入)时,SpringQL也试图通过切换内部任务调度器来从高内存压力中恢复。

    您可以通过配置设置SpringQL允许消耗的最大内存。

为什么选择SpringQL?

  • 边缘计算中的实时流处理完成

    某些计算需要使用来自边缘设备的实时数据,例如传感器数据。如果这种计算需要快速计算结果,您可能没有时间将数据发送到服务器并从那里获取结果。

    对于边缘设备的实时处理,SpringQL提供了基于SQL语言的时间序列计算的基本工具,包括窗口操作。

  • 在发送到服务器之前减小数据大小

    如果您要进行复杂的流分析,例如使用来自边缘设备的数据进行复杂的机器学习或可视化,您可能主要在资源丰富的服务器上进行流处理。

    如果您有大量的边缘设备,并且需要在服务器上的数据传输、存储和计算方面降低成本,您可能希望在发送到服务器之前在边缘处减小数据大小。

    SpringQL可以帮助您通过过滤、聚合和投影来减少数据大小。

文档

阅读https://SpringQL.github.io/获取安装指南、教程和参考。

许可

根据您的选择,SpringQL许可采用Apache License, Version 2.0MIT license

除非您明确声明,否则任何您有意提交并包含在SpringQL中的贡献,根据Apache-2.0许可定义,将按上述方式双重许可,无需附加任何条款或条件。

版权(c)2022 丰田汽车公司。

依赖项

~17–32MB
~526K SLoC