目录
产品简介
PipelineDB是一个高性能的PostgreSQL扩展,用于在时间序列数据上连续运行SQL查询。这些连续查询的输出存储在常规表中,可以像查询任何其他表或视图一样查询这些表。因此,连续查询可以看作是非常高的吞吐量、增量更新的物化视图。
简言之,与传统的实时计算引擎(storm、kafka streams等)相比,PipelineDB不需要写任何程序代码,只需要写SQL即可实现实时指标的聚合计算,统计实时指标开发耗时可以从原来的天级骤降到分钟级。
原始时间序列数据永远不会写入磁盘,这使得 PipelineDB 对于聚合工作负载非常有效。
连续查询产生自己的输出流,因此可以链接到任意连续 SQL 网络中。
PipelineDB不是一个特定的数据仓库。流式查询的输出可能在特定方式下被访问,所有写入到PipelineDB中的原始数据都不会被持久化因为它们都会在读取后被销毁。此外,如果流式计算不能以SQL的形式表达,PipelineDB可能并不是一个合适的选择。
由于 PipelineDB 是 PostgreSQL 扩展,需要安装PostgreSQL 开发包来构建 PipelineDB。
PostgreSQL 兼容性
PipelineDB 在 64 位架构上运行,目前支持以下 PostgreSQL 版本:
- PostgreSQL 10:10.1、10.2、10.3、10.4、10.5
- PostgreSQL 11:11.0
产品特点
-
持续聚合: 使用连续的SQL查询实时连续聚合,过滤和提取流数据到摘要数据,并将结果存储在PipelineDB中。
-
滑动窗口查询: 在自定义时间窗口(1秒,1分钟,1天,30天等)上运行连续查询,然后将窗口查询结果存储在PipelineDB中,或者在窗口时间过后丢弃原始数据。
-
在表上加入Streams : 流式分析数据通常需要上下文。PipelineDB的集成关系存储引擎使您能够连接历史数据的流数据,以便实时进行比较和分析。
-
数据结构 : 通常,大规模的实时分析可以接受100%的准确性权衡交换。PipelineDB支持数据结构和算法,例如Bloom过滤器,count-min草图,Filtered-Space-Saving top-k,HyperLogLog和t-digest,以便在高容量流上进行非常精确的近似。
应用场景
-
实时监测与告警
流式监测传感器的数据,各类工业设备传感器指标的变化,动态的触发事件响应(transform中完成)如设备告警、环保水质受到污染。
-
设备轨迹监测
结合PostGIS,实现对汽车的位置实时跟踪和轨迹合并,动态的绘制大盘数据(分时,车辆区域分布)。
-
AI智能识别
例如在已知可疑车辆的车牌时,在流式处理天眼拍摄并实时上传的车牌信息时,通过transform设置的规则,遇到可疑车牌时,触发事件,快速的知道可疑车辆的实时行踪。
相关资料
PipeLineDB官网: www.pipelinedb.com
PipeLineDB 官方文档:http://docs.pipelinedb.com/introduction.html
PipeLineDB GitHub地址:https://github.com/pipelinedb/pipelinedb