开发者社区> 问答> 正文

Postgresql和pipelineDB数据存储问题

已知pipelineDB数据库专注于流统计,不对原始数据进行保留,如果我要实现原始数据也保留,是需要同时写入postgresql和pipelineDB两个库还是有其他比较好的方案呢?谢谢

展开
收起
拍来 2018-02-23 17:04:34 3137 0
1 条回答
写回答
取消 提交回答
  • PostgreSQL你值得拥有。
    1. 什么是流
      流是基础,Continuous Views和transform则是基于流中的数据进行处理的手段。

    对于同一份数据,只需要定义一个流,写入一份即可。
    如果对同一份数据有多个维度的统计,可以写在一条SQL完成的(如同一维度的运算或者可以支持窗口的多维度运算),只需定义一个Continuous Views或transform。如果不能在同一条SQL中完成计算,则定义多个Continuous Views或transform即可。
    如果有多份数据来源(例如设计时就已经区分了不同的表)时,定义不同的流即可;

    1. 什么是流视图?
      流视图,其实就是定义统计分析的QUERY, 例如select id, count(*), avg(x), ... from stream_1 group by ...; 就属于一个流视图。

    定义好之后,数据插入流(stream_1),这个流视图就会不断增量的进行统计,你只要查询这个流视图,就可以查看到实时的统计结果。
    数据库中存储的是实时统计的结果(实际上是在内存中进行增量合并的,增量的方式持久化)。

    1. 什么是Transforms
      与流视图不同的是,transform是用来触发事件的,所以它可以不保留数据,但是可以设定条件,当记录满足条件时,就触发事件。

    例如监视传感器的值,当值的范围超出时,触发报警(如通过REST接口发给指定的server),或者将报警记录下来(通过触发器函数)。

    您的需求,可以通过transform 来触发事件,把对应的数据存储下来来实现。

    2019-07-17 21:59:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载

相关镜像