概述
随着物联网设备规模增长,传感器产生的海量时序数据对传统数据库提出了更高要求。Apache IoTDB 作为专为物联网场景设计的时序数据库,凭借高压缩比、百万级写入能力及毫秒级查询性能,成为核心基础。
Apache IoTDB 核心特性
- 物联网原生优化:采用'设备 - 测点'数据模型,配合标签机制支持多维度分析。
- 极致性能表现:通过特殊编码算法实现 10:1~20:1 的高压缩率,支持每秒数百万条数据的并发写入和毫秒级时序查询响应。
- 全场景部署能力:轻量设计可运行于边缘设备,分布式架构支持云端集群扩展,适配从边缘到云端的全场景需求。
Kubernetes 部署实践
- 创建命名空间
- 查看命名空间
- 创建 PV 配置文件
- 应用 PV 配置
- 手动创建文件夹
- 克隆 IoTDB Kubernetes 部署代码
- 修改 YAML 文件
- 从私有仓库拉取镜像,创建 secret 使 k8s 可访问 iotdb-helm 的私有仓库
- 安装 IoTDB
- 查看 Helm 安装列表
- 查看 Pods
- 故障排除方式
- 激活 IoTDB,进入 confignode 的容器中激活
- 验证 IoTDB(查看 iotdb-ns 命名空间内的 IP、状态等信息)
- 查看命名空间内的端口映射情况
- 在任意服务器启动 CLI 脚本验证 IoTDB 集群状态
- 扩容,新增 PV
- 扩容 confignode:修改 values.yaml 文件,将 confignode 数量调整
- 扩容 datanode:修改 values.yaml 文件,将 datanode 数量调整
- 验证 IoTDB 状态
CRUD 操作示例
创建时间序列(Schema)
-- 创建存储组(逻辑分区)
CREATE STORAGE GROUP root.device;
-- 创建时间序列(带数据类型和编码)
CREATE TIMESERIES root.device.temperature WITH DATATYPE=FLOAT, ENCODING=RLE;
CREATE TIMESERIES root.device.humidity WITH DATATYPE=INT32, ENCODING=PLAIN;
写入数据(增)
INSERT INTO root.device(timestamp, temperature) VALUES(1690000000000, 25.5);
查询数据(查)
temperature root.device ;


