首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TimescaleDB与PipelineDB的集成

TimescaleDB与PipelineDB的集成
EN

Stack Overflow用户
提问于 2019-01-02 05:22:21
回答 2查看 1K关注 0票数 3

(我本打算在DBA SE上发布这篇文章,但没有时间刻度标记。)

我使用TimescaleDB来存储大约每秒500-1000个插入的实时流,并且需要在这些数据传入时立即将其传递给客户端应用程序。

我不一定要处理原始的毫秒数据(我可能),但我肯定需要客户端接收1,5,10,30秒(等等)此实时数据的聚合,因为每个时间段/时段都已就绪。因此,每秒钟、每5秒、每10秒等(值可能是每个时间段的max、min等)。

我本来打算使用Postgres的触发器来聚合数据,并以瀑布类型的方式将其放入一个新的表中,然后使用listen/notify告诉客户端每次块“就绪”的时间,但后来我遇到了PipelineDB。

但是,我并不清楚如何设置该体系结构。我是否希望PipelineDB获取初始数据流,然后将其传递给时间刻度超级表?我是否希望Timescale将数据传递到Pipeline?我认为Pipeline应该是客户的联系人。

性能最好的通用架构是什么?我如何在Timescale和Pipeline之间传递数据?

EN

回答 2

Stack Overflow用户

发布于 2019-01-04 03:10:31

目前,PipelineDB和TimescaleDB之间还没有本机集成,但在不远的将来很可能会有。就性能而言,目前最好的选择是简单地将TimescaleDB和PipelineDB的写操作分开。

票数 2
EN

Stack Overflow用户

发布于 2019-04-29 15:27:14

这当然是可能的(使用来自测试设置的实际结构):

  1. 创建流,例如:

代码语言:javascript
复制
CREATE FOREIGN TABLE s_tracking (
    c_timestamp TIMESTAMPTZ,
    c_session BIGINT,
    c_request BIGINT,
    c_client VARCHAR,
    c_gender VARCHAR,
    c_path VARCHAR
) SERVER pipelinedb;

  1. 创建插入条目的触发器函数,例如:

代码语言:javascript
复制
CREATE FUNCTION func_tracking_insert_pipe() RETURNS trigger
    LANGUAGE plpgsql AS
$$BEGIN
    INSERT INTO
        t_tracking (c_timestamp, c_session, c_request, c_client, c_gender, c_path)
    VALUES
        (NEW.c_timestamp, NEW.c_session, NEW.c_request, NEW.c_client, NEW.c_gender, NEW.c_path)
    ;
    RETURN NEW;
END;$$
;

  1. 创建continuous transform,例如:

代码语言:javascript
复制
CREATE VIEW v_t_forward_raw_data
    WITH (action=transform, outputfunc=func_tracking_insert_pipe)
    AS
        SELECT c_timestamp, c_session, c_request, c_client, c_gender, c_path FROM s_tracking
;

  1. 插入到流中而不是表中:

代码语言:javascript
复制
INSERT INTO s_tracking
    (c_timestamp, c_session, c_request, c_client, c_gender, c_path)
...

...which将导致生成为流s_tracking定义的所有指标以及(超级)表t_tracking中的完整原始数据。

但是,由于使用基于行的触发器函数的变通方法,涉及到的每个INSERT都会受到惩罚。

如果你能接受,上述可能是你最好的机会自动取款机。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53999037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档