hasura graphql 集成pipelinedb测试

时间:2022-06-18 19:57:14

实际上因为pipelinedb 是原生支持pg的,所以应该不存在太大的问题,以下为测试

使用doker-compose 运行

配置

  • docker-compose 文件
version: '3.6'
services:
postgres:
image: tkanos/pipelinedb_kafka
ports:
- "5432:5432"
graphql-engine:
image: hasura/graphql-engine:v1.0.0-alpha06
ports:
- "8080:8080"
depends_on:
- "postgres"
environment:
- "POSTGRES_PASSWORD:pipeline"
command: >
/bin/sh -c "
graphql-engine --database-url postgres://pipeline:pipeline@postgres:5432/pipeline serve --enable-console;
"
volumes:
db_data:
  • 说明
    主要是进行pipelinedb 的添加以及graphql-engine 的连接pg的配置

启动&&运行

  • 启动
docker-compose up -d
  • 效果
    hasura  graphql  集成pipelinedb测试

添加pipelinedb 数据

stream 操作

  • 创建stream
CREATE STREAM stream_test1 (x integer, y integer,z text);
  • 创建 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;
  • 插入数据
INSERT INTO stream_test1(x,y,z) VALUES(1,2,'A'),(3,4,'B'),(5,6,'C'),(7,8,'D'),(1,2,'A');
  • 查询
select * from v_sum;
select * from v_group;

添加graphql table

  • 查看pipelinedb 系统创建的表
    hasura  graphql  集成pipelinedb测试
  • 添加 graphql 支持
    hasura  graphql  集成pipelinedb测试
  • 数据查询
    hasura  graphql  集成pipelinedb测试

说明

结合起来使用还是很方便的,即有hasura引擎的简单,同时集成了pipelinedb的stream 特性,很好很强大

参考资料

https://github.com/hasura/graphql-engine
http://docs.pipelinedb.com/installation.html