pipelineDB学习笔记-2. Stream (流)
一、流的定义:
所谓的“流”(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
相关文章