跳到主要内容

IotEdgeDB简介

IEDB 是基于 DuckDB 和 Parquet 构建的高性能分析型数据库。单个 Go 二进制文件,无需外部依赖。数据写入 超过 1800 万条/秒,查询 超过 600 万行/秒,存储格式为开源 Parquet,数据完全由你掌控。


5 分钟快速开始

docker run -d --name iedb -p 8000:8000 -v iedb-data:/app/data ghcr.io/mengdal/iedb:latest

完整安装指南请参阅 快速上手


架构

Client ──► HTTP Handler ──► WAL ──► ArrowBuffer ──► flushWorker ──► Parquet ──► Storage
MsgPack/LP/TLE (可选) 内存列式缓冲 按小时排序 Snappy/Zstd local / S3
解码 & 校验 (db/meas 分片) ArrowWriter / MinIO / Azure

IEDB 计算与存储分离,可独立扩展。数据以 Parquet 存在对象存储,由 DuckDB 列式引擎直接查询,结果通过 Apache Arrow 返回,无缝对接 Pandas、Polars 等。


主要特点

特性说明
极致性能1800 万条/秒写入,600 万行/秒查询,p99 延迟低于 10ms
标准 SQL完整支持窗口函数、CTE、JOIN,DuckDB 引擎驱动
灵活存储本地 / MinIO / S3 / Azure Blob,Parquet 开源格式
多数据库按环境、租户或应用隔离,独立管理
自动压缩小时/天分层合并,查询提速 10-50 倍
WAL 预写日志可选开启,零数据丢失
数据生命周期保留策略 + 连续查询 + 分层存储
MQTT 集成直连 MQTT Broker,设备数据实时入库
Arrow 列式查询返回 Apache Arrow IPC 流,2x 快于 JSON
原生 TLS内置 HTTPS,无需反向代理
Prometheus 指标内建 Prometheus metrics + 结构化日志

应用场景

传感器遥测、设备状态、产线监控——窗口函数 + 异常检测。

SELECT device_id, AVG(temperature) OVER (
PARTITION BY device_id ORDER BY timestamp
ROWS BETWEEN 10 PRECEDING AND CURRENT ROW
) as moving_avg, MAX(pressure) as peak, STDDEV(vibration) as variance
FROM data.iot_sensors
WHERE timestamp > NOW() - INTERVAL '24 hours'
GROUP BY device_id, facility_name, timestamp
HAVING MAX(pressure) > 850 OR STDDEV(vibration) > 2.5;

性能

指标数值
写入吞吐1800 万条/秒(MessagePack 列式)
查询吞吐600 万行/秒以上
写入延迟 (p99)< 10ms
分析查询延迟< 1s
压缩率10x-100x(vs JSON,Parquet 列式)

ClickBench

数据集(14GB Parquet,1 亿行)冷启动热身
共执行 43 条 SQL120.25s35.70s

IEDB 分析性能 比 QuestDB 快 1.80 倍比 TimescaleDB 快 9.39 倍


企业功能

需要集群、RBAC、分层存储、审计日志?

→ 查看 企业功能 了解完整企业特性与配置示例。


后续步骤


支持