#stream-processing #iot-devices #computer #processor #low #queries #continuous

springql

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

7 个版本 (4 个重大更新)

0.18.1 2022年10月7日
0.17.1 2022年7月13日
0.16.1 2022年7月12日
0.15.0 2022年6月29日
0.14.0 2022年6月24日

#463 in 嵌入式开发

每月下载量 38 次

MIT/Apache

660KB
16K SLoC

SpringQL

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

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

什么是 SpringQL?

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

  • SQL 支持

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

  • 小型内存占用

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

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

为什么选择 SpringQL?

  • 在边缘完成实时流处理

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

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

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

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

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

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

文档

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

许可证

根据您的选择,SpringQL采用Apache许可证,版本2.0MIT许可证

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交给SpringQL的任何贡献,都将以上述方式双授权,不附加任何额外条款或条件。

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

依赖项

约17–32MB
约531K SLoC