已知pipelineDB数据库专注于流统计,不对原始数据进行保留,如果我要实现原始数据也保留,是需要同时写入postgresql和pipelineDB两个库还是有其他比较好的方案呢?谢谢
对于同一份数据,只需要定义一个流,写入一份即可。
如果对同一份数据有多个维度的统计,可以写在一条SQL完成的(如同一维度的运算或者可以支持窗口的多维度运算),只需定义一个Continuous Views或transform。如果不能在同一条SQL中完成计算,则定义多个Continuous Views或transform即可。
如果有多份数据来源(例如设计时就已经区分了不同的表)时,定义不同的流即可;
定义好之后,数据插入流(stream_1),这个流视图就会不断增量的进行统计,你只要查询这个流视图,就可以查看到实时的统计结果。
数据库中存储的是实时统计的结果(实际上是在内存中进行增量合并的,增量的方式持久化)。
例如监视传感器的值,当值的范围超出时,触发报警(如通过REST接口发给指定的server),或者将报警记录下来(通过触发器函数)。
您的需求,可以通过transform 来触发事件,把对应的数据存储下来来实现。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。