时序数据库 Machbase 特性解析

2022-04-26 00:00:00 创建 数据 支持 时序 设备

Machbase 是新一代的列存时序数据库,用于实时写入并存储时序、日志类数据,例如物联网设备、传感器产生的大量数据,同时提供标准的SQL查询分析能力。

物联网场景会产生大量的时序数据,其中以传感器、PLC 产生的数据为主。传感器产生的数据通常包含 ID、TIME、DATA 信息;Machbase 定义了 TAG Table 专门针对这类数据的存储进行优化。

  • ID: 用于标识设备,通常是一个序列号或者32/64bit整数
  • TIME: 设备产生数据的时间戳,持续增加
  • DATA: 设备实际产生的数据,可能是温湿度指标,或者是固定长度的字符序列,照片/视频内容等

PLC 产生的数据样例如下,通常有更丰富点列内容,Machbase 定义 Log Table 来存储这类数据。

Machbase 产品形态

Machbase 支持 Edge、Fog、Cluster 三种模式,满足物联网基础设施不同位置的数据存储与分析需求。

Edge Edition

Edge Edition 定位是在边缘设备上使用非常有限的资源读写传感器、PLC等产生的高频设备数据。

Fog Edition

Fog Edition 用来存储和分析边缘设备产生的数据,通常运行与 Linux 或者 Windows 服务器,使用 Intel CPU,部署于楼栋或者工厂,用于集中就近收集存储设备数据。

Cluster Edition

Cluster Edition 是分布式高可用架构,主要解决 Fog Edition 在高可用和横向扩展能力上的不足。

  • Coordinator:管理协调集群里所有的节点,主备方式保证高可用
  • Brokers: 与客户端交互,接收所有的读写请求,并分散到各个 Warehouse 节点
  • Leader Brokers:可以执行 DDL 操作的 Broker 节点
  • Warehouse:接受来自 Broker 的请求,存储与处理实际数据

Tag Table

TAG Table 必须包含 Tag name(ID),Input time(TIME)、Sensor value(DATA) 三个列,并且是指定的类型,还可以额外创建其他列。

  • Tag name : PRIMARY KEY
  • Input time : BASETIME
  • Sensor value : SUMMARIZED

创建 TAG Table

示例: 创建 TAG Table

Mach> create tagdata table TAG (name varchar(20) primary key, time datetime basetime, value double summarized);
Executed successfully.

Mach> desc tag;
[ COLUMN ]              
----------------------------------------------------------------
NAME      TYPE        LENGTH
----------------------------------------------------------------
NAME      varchar         20
TIME      datetime       31
VALUE    double          17

相关文章