pipelineDB学习笔记-2. Stream (流)

2022-03-01 00:00:00 数据 语句 插入 写入 水流

一、流的定义:

  所谓的“流”(stream)在pipelineDB中是指那些被允许的数据库客服端推送到 Continuous View(连续视图) 的时序化数据的一种“抽象”。流中的每一个raw(数据列)或者event(事件),看起来是和普通表中的数据一样的,并且写入数据到stream中和写入数据到table中的接口是一模一样的。stream与table只是在语义上不同而已。现实世界江河中的水流中的水一旦被使用,就会从水流中永远消失,而水流的这种特性是与stream一抹一眼的。当stream中的数据被Continuous View 消费掉之后,stream中就不再存在被消费掉的数据,如同水流一般,并且stream被设计出来只是为了给Continuous View服务的,所以用户无法通过普通的 select 语句查看stream的数据。

 

二、 创建语句:

  

     stream_name : stream的名字

   column_name: 列名

   data_type : 列的数据类型,pipelinedb支持2大类:内置函数,postgresql的数据类型 ,这两大类的详细请查看有关文档,此处不做赘述了。

   内置函数的详细信息:http://docs.pipelinedb.com/builtin.html#builtin 

     postgreSQL的数据类型: https://www.postgresql.org/docs/current/datatype.html  

   COLLATE collation :  这个目前还未理解到,有了解的朋友请说一声。

三、 通过 ALTER STREAM 给stream添加字段.

   

          注意事项:stream中的列不能被删除

四、  删除stream

  语句: DROP FOREIGN  TABLE

  

五、   写入数据到stream中

  1. 语法: 

 

   query :  是指select语句

   2、普通插入数据到stream

  

 3、 性能更好的批量插入

  

 

 4、 任意的表达式插入

     5、 预备插入

      pipelinedb为了减小网络压力而提供了一种 “ Prepared Insert” 既预备插入 . 可在需要时再实际的写入数据到stream中。

 

 

    6、 COPY

      可以通过COPY命令从文件读取数据然后放入stream,

      也可以从标准输入中读取数据后写入到stream

       

 

相关文章