300亿条时序数据:金仓时序能力在工业场景的实测

2026-05-30 12:16:47AI云资讯1815

工业场景里的数据增长,很多时候不是"更多行",而是"更多秒"。

物联网设备每秒都在上报,传感器以毫秒级频率采集,监控探头全年无休。智能工厂的设备状态、智慧城市的交通流量、新能源风机的运行指标,这些数据的时间戳是核心维度,丢了一秒,分析就缺了一块。

金仓数据库用时序加空间双引擎来做工业级时序数据处理。这个方案有意思的地方在于,它没有像 InfluxDB 那样做一个独立的专用数据库,而是把时序能力做进了关系型数据库内核。为什么要走这条路,下面会展开。

每秒都在写入,从不休息

工业时序数据有几个很明显的特征,理解这些特征,才能理解为什么处理它的方式需要专门的设计。

第一个是高频写入。传感器秒级甚至毫秒级持续上报,日均几十亿到几百亿条数据。这种写入压力是持续性的,不存在"高峰期过了就好"的说法,因为设备不会下班。

第二个是海量存储。设备数量多、指标维度丰富,数据量从 TB 级一路涨到 PB 级。而且这些数据的价值密度极低,大部分数据写入之后你可能永远不看,但你无法预知哪一秒的数据将来会变得关键。出了事故要查三个月前的某个传感器读数?你必须存着。

第三个是查询复杂度跨度极大。从"最近五分钟的温度"这种毫秒级点查,到"过去一年里每台设备在特定工况下运行了多少小时"这种跨年度聚合分析,同一套系统要应付完全不同的查询模式。

第四个是实时响应的刚性需求。告警触发这种事,差几秒钟可能就不是"警告"而是"事故"了。这意味着数据从写入到能被查询到之间的延迟必须极短。

第五个是冷热分明。最近的数据频繁访问,三个月前的数据偶尔看一眼,两年前的数据基本不动。但你不能删,合规要求往往规定数据必须保留五年以上。

从凑合用,到专用工具,再到融合方案

有了这些特征,再看时序数据处理技术的发展脉络,逻辑就清晰了。

第一阶段是凑合着用。在关系型数据库上加自定义表结构,把时间戳当索引。能跑,但写入慢、查询慢、存储成本高。这是不得已的办法。

第二阶段是专用工具。InfluxDB这类专用时序数据库的出现,解决了写入慢的问题,简单查询也变快了。但这个方案有一个结构性缺陷,它把时序数据和业务数据的生态割裂了。举一个具体的例子:你想查"上个月销售额最高的五家门店里,哪台设备的故障率最高"。销售额在业务数据库里,设备故障数据在时序数据库里,你得先在一个库查出门店排名,再把结果带到另一个库里做筛选。两套系统,两套查询语言,两组维护人员。

第三阶段是融合方案,也就是金仓走的路。金仓 KES 直接把时序能力做进了关系型数据库内核。时序数据、空间数据、业务数据在同一个库里,用同一种 SQL 查询。这个架构选择的核心逻辑是:时序数据从来不是孤立存在的,它总要跟设备信息关联,跟地理位置关联,跟业务记录关联。与其建两套系统来回拼接,不如用一套系统统一处理。

时序加空间,一个库两种能力

金仓时序能力的底层是双引擎架构:时序引擎和空间引擎运行在同一个 KES 数据库内,上面再加一个关系引擎做底座,最底层是统一 SQL 查询引擎。

时序引擎负责高速写入、时间聚合和数据压缩。它支持千万级设备持续高并发写入,内置时间窗口聚合函数,基于自动化数据分区(Chunk)做高压缩比存储。

空间引擎负责 GIS 查询、空间索引和坐标转换。它和时序引擎的联动是这个架构最独特的地方,你可以在一条 SQL 里同时查询"某个时间段内"和"某个空间区域内"的数据。比如"查过去一周在机场周边特定区域频繁出现的车辆",在传统架构里需要时序数据库和空间数据库分两次查询再拼结果,在这里就是一条 SQL。

关系引擎提供 ACID 事务、复杂关联和存储过程能力。这是金仓的底座,它保证了时序数据也有事务保障,也可以跟业务表做 JOIN。

最底层的统一 SQL 查询引擎意味着开发者不需要学新语言。不管是时序查询、空间查询还是关系查询,用的都是标准 SQL。

设备越多,差距越大

架构说清楚了,来看实测。

用业界公认的时序基准测试套件 TSBS,金仓和 InfluxDB 做了一组从 100 台到 1000 万台设备的对比。结果很有意思,设备数量越大,差距越大。

写入性能方面,100 台设备时两者互有优劣,可以认为在一个水平线上。400 台设备、每台 10 指标时,金仓的写入吞吐达到 InfluxDB 的 162%。到了 1000 万台设备的极限压力下,金仓达到 267%。

背后的原因不复杂:InfluxDB 在单机架构下,写入路径在数据量大到一定程度后会遇到瓶颈;而金仓可以把写入压力分摊到多个节点上,规模越大,分摊效果越明显。

查询性能的差距更大。简单聚合查询,单设备、单指标、短时间窗口,两者都在毫秒级,差不多。到了中等复杂度,多指标聚合、跨设备分组,金仓可达 InfluxDB 的 3-4 倍。到了高复杂度关联分析,差距以数量级计算。

一个最具代表性的场景:查询某个时间段内每台设备的最后一次读数,400 台设备的数据。金仓用了 147.36 毫秒,InfluxDB 用了 10514.64 毫秒。差了超过 70 倍。

这个差距不是因为金仓在查询优化上特别出色,虽然优化确实做得不错,而是因为 InfluxDB 的架构在这个类型的查询上有本质性的短板。专用时序数据库的设计取舍是把写入和简单点查做到极致,代价就是复杂查询的能力弱。这不是调参数能解决的,是架构级的取舍。

跑分之外的三件事

跑分重要,但不是全部。企业在生产环境里要考虑的因素比纯性能更多。

第一件事是 SQL 生态。金仓基于关系型数据库内核,完整支持存储过程、ACID 事务、多表关联查询。团队已有的 SQL 分析工具可以直接用,不需要学新的查询语言。对于已经在关系型数据库上投了大量时间和技能的团队来说,这个兼容性意味着迁移的学习成本几乎为零。

第二件事是存储成本。金仓提供了基于时间的自动化数据分区和保留策略。冷数据经过高压缩比存储,实测能达到 1:4 的压缩比,100TB 数据实际只占 25TB 磁盘。冷热分级意味着热数据走高性能存储保证响应速度,冷数据走高压缩归档降低存储成本,两边都能兼顾。

第三件事是多模融合。时序数据、GIS 空间数据、JSON 文档数据在同一个库里直接关联查询,不需要跨系统 JOIN。这在工业场景里的价值特别大,一台设备的运行状态是时序数据,它的地理位置是空间数据,它的规格参数是文档数据,三者本来就应该在同一个查询里出现。

从港口到风机,四个真实场景

从架构回到实践,以下案例能看出时序能力在不同场景下的表现。

泰兴交通用金仓给港口做管理系统。在这个项目里,时序数据是集卡和拖车的秒级 GPS 轨迹数据,空间数据是港口地理围栏和航道信息。两者合在一起,可以做"过去一小时内哪些车驶入过禁行区域"这种时空联合查询。日均几十亿条数据写入,查询响应速度一直稳定。

新能源领域的案例更能说明时序和业务的融合需求。某企业上千台风机的运行状态被持续监测,每秒数十万点传感器数据写入。运营团队需要查的不是单独的温度或转速,而是"这台风机当前的状态,跟它同型号的另一台比有什么差异",这需要把传感器的时序数据跟设备元数据放在一起做关联查询。金仓在这种复杂分析查询上的性能达到了 InfluxDB 的 2 到 70 倍,而且凭借更高的数据压缩比,存储成本预计节省超过百万元。

写在最后

时序数据库的选型,底色是"专用"和"通用"之间的权衡。

InfluxDB这类专用数据库在简单场景下表现很好,写入快,点查快,部署简单。但它快的代价是生态割裂:复杂查询慢,事务不支持,需要跟业务数据库分开维护。当业务规模小、查询模式简单的时候,这个代价可以接受。但当业务开始需要把时序数据跟设备信息、地理位置、业务记录关联分析的时候,割裂的成本就急剧上升了。

金仓把时序能力做进关系型数据库内核,走的是另一条路,用通用数据库的内核能力去覆盖专用场景。优势很明显:不需要另外学技术栈,不需要跨系统拼接查询结果,已有的 SQL 工具和技能可以继续用。

对工业场景来说,这个权衡的方向通常是明确的。因为工业里的时序数据从来不是孤立存在的,它总要跟设备信息关联,跟地理位置关联,跟业务记录关联。这些关联分析的能力,恰恰是通用数据库的长处。

相关文章

人工智能企业

更多>>

人工智能硬件

更多>>

人工智能产业

更多>>

人工智能技术

更多>>
AI云资讯(爱云资讯)立足人工智能科技,打造有深度、有前瞻、有影响力的泛科技信息平台。
合作QQ:1211461360微信号:icloudnews