近几年IoT、IIoT、AIoT和智慧城市快速发展,时序数据库成为数据架构技术栈的标配。根据国际知名网站DB-Engines数据,时序数据库在过去24个月内排名高居榜首,且远高于其他类型的数据库,可见业内对时序数据库的迫切需求。
然而业内对时序技术的认知还停留在数年前,本文阐述时序数据库的4大误区,希望帮助读者理清来龙去脉和背后原因,以便在业务场景中选择合适的数据平台和技术栈。
时序数据是时间序列数据,其本质是带有时间戳的一系列结构化数据,通常是周期固定的数据,譬如数控机床每百毫秒采集的轴坐标、移动量、速度等数据,无人机每秒采集的位置、高度、风力、风向等数据,汽车每分钟采集的位置、车速、转速、温度等数据,智能冰箱每小时采集的温度、湿度、耗电量,用户访问网站的点击事件流等数据。下面是时序数据的一个例子:metrics为指标名字,tags标识时序数据的来源,data为时间戳和该时刻的metrics指标值。
时序数据具有以下特点:
-
周期性持续采集数据源的时序数据,对插入性能要求高,可能发生乱序情况或者丢失数据;
-
时序数据量大,对存储压缩比敏感;
-
数据源标签属性多样化,修改频次低;
-
指标数据量大而变化小;
-
查询需求多样:单数据源最新值、单数据源明细、单数据源过滤聚集、多维查询、降采样、滑动窗口查询、数据源状态演变图、特定模式识别、趋势预测、根因分析、阈值修正等。
为了解决以上时序数据特点带来的挑战,受限于当时的技术能力,数年前业内走了开发专为时序数据而设计的时序数据库路线,我们称之为专用时序数据库。专用时序数据库的核心设计是存储引擎,以解决高效存储数据源属性信息、数据源指标信息、数据