跟着物联网范畴的快速发展,时序数据的发生和处理需求不断增长。为了满意实时性、高效性和准确性的要求,数据库需求进行时序功能优化,以提供快速的数据写入、实时查询和高效的数据存储与处理才能。

本期直播介绍了时序数据和时序数据库特征以及根据 TSBS 时序测验规范分析,并根据此解析了 KaiwuDB 的时序模型架构和优化设计。

一、时序根底概念

1. 时序根底概念

时刻序列数据是指带时刻标签的数据,首要由电力、化工、气候、地理信息等职业的各类实时监测、查看与分析设备所收集、发生的数据。

为了便于解释基本概念,以微电网的太阳能发电板作为典型时序数据场景。假设每个发电板收集电流、电压、温度三个量,有多个太阳能板。

  • Measurement:一类设备的调集;
  • Data source:一个具体的设备;
  • Tags:一个设备的描述标签;
  • Timestamp:本条时序数据的收集时刻。

KaiwuDB 多模数据库-时序功能优化

2.时序数据库的特色

时序数据库全称为时刻序列数据库。时刻序列数据库指首要用于处理带时刻标签(依照时刻的顺序改变,即时刻序列化)的数据。

基本特色:

  • 大数据量的处理;
  • 高压缩比;
  • 冗余重复数据的一份存储;
  • 时刻序列分区处理;
  • 一般没有事务相关处理。

KaiwuDB 多模数据库-时序功能优化

二、TSBS 测验规范阐明

1. TSBS 测验规范

TimeScale 开源项目:

  • 时序数据的生成和写入;
  • 时序场景的典型查询。

两个典型的使用场景:

  • DevOps – 服务器 CPU 监控场景有序的时刻序列数据;
  • IoT – 物联网卡车车队场景存在无序和缺失的时刻序列数据。

2.DevOps 场景(CPU-only)

CPU-only 场景特色:

  • 数据距离均为 10 秒;
  • 场景五数据量最大 1.8 亿条记载,场景四数据量最小 1800 万条记载;
  • 场景四和场景五设备数量较多,仅覆盖 3 分钟时刻跨度。

KaiwuDB 多模数据库-时序功能优化

3.不同分类的 TSBS 句子分析

KaiwuDB 多模数据库-时序功能优化

KaiwuDB 多模数据库-时序功能优化

KaiwuDB 多模数据库-时序功能优化

三、KaiwuDB 多模数据库时序引擎

1. 基本履行架构

  • 使用层;
  • SQL Engine;
  • 分布式层;
  • Storage Engine。

一般没有事务相关处理。

KaiwuDB 多模数据库-时序功能优化

2.时序优化改造

2.1 存储结构优化

针对时序数据的量大、递加、且部分数据为静态值的特色,存储结构做了如下演进:

  • 大表,一切设备写入到一张表;
  • 分表,一个设备一张表;
  • 分区,依照时刻区分数据区域;
  • 合表,部分设备一组,静态特色合并存储,同时时刻分区

KaiwuDB 多模数据库-时序功能优化

2.2KaiwuDB履行核算架构优化

针对时序模型,KaiwuDB 做了一系列履行架构调整:

  • 履行器下放;
  • 采用 mmap 技术,削减数据复制;
  • 分区并行;
  • 数据裁剪;

KaiwuDB 多模数据库-时序功能优化

  • 定制履行计划;
  • Timebucket 等特别时序算子;
  • 多级动态并行。

KaiwuDB 多模数据库-时序功能优化

2.3KaiwuDB时序核算信息

KaiwuDB 的针对时序查询的特征,定制和完成了一套时序预核算核算信息。其特色如下:

  • 时序表是一种特别的复合表;
  • 模板表对应 tag 表;
  • 实例表仅仅对应 tag 表中的一条索引,而非完整表;
  • 数据写入时可以动态创建 tag 项并写入数据;
  • tag 表支撑基本的核算信息,例如包含 TSBS;
  • 查询支撑通用数据读取;
  • 特别查询可以下推,例如多 tag 查询下推,单个 tag 特定聚合数据;
  • 数据块依照时刻分区,添加块的核算信息。

KaiwuDB 多模数据库-时序功能优化