Pipelinedb的实现原理是啥
PipelineDB中的3个概念
1:Stream
2:Continuous Views
3:Transform
Stream在PG中是以FDW来实现的。而用ZMQ来做数据的接收
数据的流程大概如上图。
CV在PG中是一个物化视图,具体数据会存储在CV_mrel中。这个就是物理表数据文件
如果想你问的做5分钟做agg这种属于sliding window Sliding Windows - PipelineDB 0.9.7 documentation
这种数据大部分存储未Bytea\u0026amp;hll。
这部分的工作是通过combiner来完成的。数据插入Stream(FDW)后,然后通过ZMQ到对应的worker process 然后再到对应的combiner process 最后写对应的物理表。Combiner 主要的工作就是你提到的5分钟聚合,这个对应的内部实现你可以看看
numeric_poly_sum
numpolyaggstaterecv这2个函数。
【Pipelinedb的实现原理是啥】 而5分钟这个就是通过arrival_timestamp来实现的。
可以通过看CV_mrel发现创建的sliding windown CV会多一个字段,在进行查询的时候就会用这个字段来判断的。
Transform这个功能主要是Stream to any.Continuous Transforms
因为官方给出的接口是个trigger,所以可以自定义,Tuple可以transform到你想的任何地方。
大概的一个套路是这样的。
如果有什么疑问欢迎讨论。
■网友
应该是基于sliding window的,当这个记录进入window的时候就会加入计算,至于avg,是一种stateful的计算,保存了中间状态(比如记录sum和count),再加入一个元素计算新的avg也不难
推荐阅读
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 特斯拉|特斯拉将全面发布全自动驾驶软件最新版,曾承诺年底实现完全无人干预
- |徐州建有农家书屋2205家,实现数字书屋全覆盖
- 阿里云|【GET2020】阿里云解航:在线教育帮助线下教育一起实现教育公平和个性化
- 我有几个app点子,拉出来比较容易实现的一个和大家探讨,只差程序员(替你们说了)请问这个点子咋样
- 一个利用量子纠缠实现超光速通讯的构想,可行吗
- 请问计算器求积分,求导,求极限怎样实现
