绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
pipelineDB初体验
2022-02-28 14:08:13

官网:http://www.pipelinedb.com/

pipelineDB是基于postgres的stream数据库。完全兼容pg的东西。

由于产品需要解决性能这块瓶颈,老大让试试这款基于流计算的数据库。

 

[pipeline@localhost ~]$ pipeline

pipeline (9.4.4)

Type "help" for help.

 

Create a static stream

1
CREATE STREAM stream_test1 (x integer, y integer,z text);

 

Create a CONTINUOUS 

CREATE CONTINUOUS VIEW v_sum as select sum( x + y ) FROM stream_test1;
CREATE CONTINUOUS VIEW V_GROUP AS SELECT count(*) as coun,x,y,z FROM stream_test1 GROUP BY x,y,z;

 

Stream 只能被CONTINUOUS查询,如果直接查询会报错:

pipeline=# select * from stream_test1;
ERROR:  "stream_test1" is a stream
HINT:  Streams can only be read by a continuous view's FROM clause.

 

 

插入数据到Stream

pipeline=# INSERT INTO stream_test1(x,y,z) VALUES(1,2,'A'),(3,4,'B'),(5,6,'C'),(7,8,'D'),(1,2,'A');
INSERT  5

 

查询结果


pipeline=# select * from v_sum;
 sum 
-----
  39
(1 row)

pipeline=# select * from v_group;
 coun | x | y | z 
------+---+---+---
    1 | 5 | 6 | C
    1 | 7 | 8 | D
    1 | 3 | 4 | B
    2 | 1 | 2 | A
(4 rows)

 

在创建CONTINUOUS,后面select能写分析函数,各种over(),这样数据在不同窗口内时时计算,能很方便的解决性能问题。

这个view没太详细研究,貌似跟oracle的物化视图类似。

 

关于UDF

PG是支持存储过程的,自己写FUNCTION,也支持PLLUA。

因为数据是从外部入库,我这块想把PLLUA集成到PG里面来,自己写LUA来做库内计算。

拿LUA替代plpgsql,性能应该会有很大一部分提升,有待测试。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

PipelineDB
创建时间:2022-02-28 14:06:00
PipelineDB
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~