1. 时序数据的特点,高写入吞吐、按时间范围查询、数据生命周期管理(降采样、删除、冷热分层)的工程挑战?
时序数据具有高写入吞吐、按时间范围查询、数据生命周期管理(降采样、删除、冷热分层)等典型特点,这些特点分别带来哪些工程挑战?
- 时序数据与传统关系型数据在工作负载上的本质差异
- 高写入吞吐、时间范围查询、生命周期管理各自对应的存储与架构挑战
- 各挑战背后的常见解决方案
时序数据以时间戳为主键维,写入是追加式(append-only)且连续不断,因此写入负载远高于查询,且写入模式是顺序追加而非随机更新,这决定了存储引擎必须针对顺序写优化。挑战主要体现在四个方面:一是高写入吞吐要求写入路径低开销,采用批量写入、WAL 顺序写、列式压缩与无锁并发来支撑每秒数百万点数写入;二是按时间范围查询要求按时间有序存储与分区,使时间切片扫描可以跳过无关数据;三是数据生命周期管理要求数据会随时间从热到冷、从高精度到低精度再到被删除,需要降采样、压缩、过期删除与冷热分层机制;四是数据时效性要求系统能处理乱序写入(延迟到达的数据)并保证查询一致性。
理解这些挑战是理解时序数据库引擎设计的前提。有别于 OLTP 的随机读写与 OLAP 的批处理,时序数据库是典型的"写多读少、写顺序读范围"的工作负载,因此其核心矛盾是写入放大、查询放大与存储成本之间的权衡。回答时应从写入路径、存储组织、生命周期三个层面展开,体现对工程取舍的理解。