亚信安慧AntDB流式数据库系统(以下简称“流式数据库”)是一款集流式处理功能和数据库功能于一体的超融合型数据库,流式数据库是在PostgreSQL内核上加入流式处理引擎功能,使用方式和PostgreSQL一样,在SQL语法上做了流处理相关的扩展。
流式数据库的流处理引擎部分是参考Flink流式处理系统的原理实现的,所以其术语和Flink的术语一一对应。
下面通过一系列内容对流式处理引擎相关的术语做个简介,然后举例说明流式数据库中如何使用流式SQL语句实现流式数据处理能力。
流式处理术语
流
流是一种日益增长(ever-growing)的、并且可能形成无序(但有效)的、本质上无限(essentially infinite)的数据集。
流具有三个特性:数据无边界(Unbounded data)、处理无边界(Unbounded data processing)、低延时(Low-latency)。
流式处理系统就是实时处理流数据的系统。
流对象
流对象就是流式数据库里用于保存流数据的对象,类似PostgreSQL里的表。流对象具有表的特性,可以对其流数据进行增删改查且满足事务ACID;可以对其流数据进行流式计算;同时具有物化视图的特性,可以从一个流对象的处理结果生成另一个流对象。
物化视图就是保存流数据被流式处理系统处理后的结果的表。流数据不断入库并且被处理,物化视图要能实时保存增量的处理结果。刚开始流式数据库中流对象和物化视图对象是不同的对象,后来把物化视图的能力增进流对象,所以新版的流式数据库具备物化视图的特性。