1. 课程导入与物联网时序数据平台全景
物联网时序数据平台,是专门用来接收、存储、查询和分析“带时间戳的传感器/设备数据”的一类数据基础设施。它要解决的核心问题不是“存一条记录”,而是“在设备数量多、上报频率高、数据只增不改、查询以时间范围为主”的条件下,仍然能稳定写入、快速检索、长期留存并支撑分析。典型数据形如:设备编号 dev-1024、测点 temp、时间 2025-03-01T08:00:00Z、数值 23.6、质量码 0。一条数据本身很小,但每秒百万条持续写入时,平台的设计重点就从“表结构”转向“写入路径、分区策略、压缩编码与查询裁剪”。
本课程的学习目标可以归纳为四层能力:第一,能说清时序数据平台与通用关系库、缓存、消息队列的边界与协作关系;第二,能根据设备规模、采样频率、保留周期估算写入吞吐与存储容量;第三,能设计出从设备接入、消息缓冲、时序存储、查询服务到可视化与告警的整体分层架构;第四,能针对乱序、重复、断点续传、降采样等真实问题给出可落地的处理方案。学完后,你应当能独立画出一张平台架构图,并为每一层标注关键组件、接口协议与容量参数。
核心概念与平台边界
时序数据有五个区别于普通业务数据的特征:时间主键性(时间戳是查询与分区的第一维度)、写多读少且追加写(几乎不更新历史值)、高基数(设备×测点组合可能达千万级)、冷热分层明显(近 7 天高频查,半年前多为归档)、允许近似(监控场景常接受降采样与插值)。理解这五点,才能判断哪些组件适合放在哪一层。
平台边界要划清:设备侧网关负责协议转换与本地缓存,不属于平台内部;消息队列负责削峰与解耦,是平台的“入口缓冲”;时序数据库负责持久化与时间范围检索;查询/计算层负责聚合、降采样与告警判定;应用层负责看板、报表与开放 API。边界之外的系统(如 ERP、工单)通过 API 或数据订阅与平台交互,不直接写时序库。
典型应用场景
- 工业设备监控:采集振动、温度、电流,采样周期 100ms~1s,用于故障预警与能效分析。
- 车联网:车辆位置、车速、电池状态,上报频率 1~10s,需支持轨迹回放与地理围栏。
- 能源电力:电表、光伏逆变器数据,15 分钟一个点,强调长期留存与结算级准确性。
- 智慧楼宇:温湿度、空调能耗,分钟级采集,侧重看板与阈值告警。
这些场景的共同点是:设备多、点位多、写入持续、查询按时间切片。差异在于采样频率、乱序程度、保留年限与一致性要求,这些差异会直接改变存储引擎选型和分区粒度。
整体架构分层
一个可落地的物联网时序数据平台通常分为六层,数据自下而上流动,控制与查询自上而下下发。下图给出分层结构与关键组件、协议及数据形态,便于建立全局视图。
图中六层并非必须全部自建:小规模场景可把消息缓冲与时序库合并,用数据库自带写入队列;大规模场景则需在接入层与缓冲层之间增加协议适配集群。但无论规模如何,“接入—缓冲—存储—计算—服务—应用”这条数据主链不能缺环,否则会出现写入丢数、查询拖垮写入、告警延迟等问题。
容量估算示例
假设某工厂有 2000 台设备,每台 20 个测点,采样周期 1 秒,每条记录约 40 字节(含时间戳、标签、值、质量码)。写入速率约为 2000×20÷1 = 40000 点/秒,原始带宽约 40000×40 = 1.6 MB/s。若保留 1 年,原始数据量约 1.6 MB/s×86400×365 ≈ 50 TB。采用列式压缩(典型压缩比 8:1~15:1)后,实际占用约 3.3~6.3 TB。这个估算决定了分区粒度(建议按天分区,单分区约 138 GB 原始、压缩后 9~17 GB)和冷热分层策略(近 7 天 SSD,其余 HDD 或对象存储)。