1. 边缘计算数据库选型背景
最近在为一个工业物联网项目做技术选型,需要在边缘侧部署轻量级时序数据库。经过几轮筛选,最终锁定在sfsDb和TDengine Edge这两个方案上。这两种数据库都是专门为边缘计算场景设计的时序数据库(TSDB),但在架构设计和功能特性上存在明显差异。
边缘环境通常具有资源受限、网络不稳定、数据高频采集等特点。这就要求边缘数据库必须满足几个核心需求:低资源占用(CPU/内存/存储)、高写入吞吐量、本地聚合计算能力、以及断网续传机制。sfsDb和TDengine Edge都宣称针对这些痛点做了优化,但实现路径各有特色。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 架构设计对比
2.1 sfsDb的微内核架构
sfsDb采用微内核设计,核心代码仅约800KB,通过插件机制扩展功能。其架构分为三层:
- 存储引擎层:基于LSM树优化,支持时间分区和压缩
- 计算层:内置流式处理引擎,支持SQL-like查询语法
- 接口层:提供REST API和MQTT接入方式
这种设计使得sfsDb在树莓派等设备上也能流畅运行。实测在1核1GB内存的设备上,写入吞吐可达2万点/秒。但插件机制也带来一定复杂性,需要根据场景选择合适的功能模块。
2.2 TDengine Edge的超级表模型
TDengine Edge采用其特有的"超级表"数据模型,主要特点包括:
- 每个设备对应一个子表,共享相同的表结构
- 数据按时间分区存储,自动建立时间索引
- 支持跨设备聚合查询的超级表视图
这种设计特别适合设备数固定的工业场景。在边缘节点上,TDengine Edge会预先分配固定内存池(默认256MB),避免频繁内存申请。实测显示,相同硬件条件下写入性能略高于sfsDb(约2.5万点/秒),但内存占用也更大。
3. 核心功能对比
3.1 写入性能优化
两者都采用追加写入方式,但在细节处理上有所不同:
| 特性 | sfsDb | TDengine Edge |
|---|---|---|
| 批处理机制 | 按时间窗口聚合(默认1秒) | 按记录数聚 |
