目录
IoT 设备平台多模型数据管理系统设计,从架构、模型选择、数据结构、数据一致性等方面详细阐述,适用于中大型 IoT 系统场景,如智能安防、智能家居、工业设备平台等。
一、设计目标
-
实现设备管理、用户管理、实时数据接入、日志记录、设备关系建模等功能。
-
使用多模型数据库设计,以支持结构化、文档、图形、时间序列和键值数据的统一管理。
-
提供高扩展性、高查询效率及数据一致性能力。
二、数据库模型架构
数据类型 | 数据模型 | 数据库引擎 | 用途说明 |
用户、设备基础数据 | 关系模型 | PostgreSQL / MySQL | 管理用户、设备表、角色权限等结构化数据 |
设备数据上报 | 文档模型 | MongoDB | 存储设备上传的 JSON 格式数据,支持结构不固定 |
设备网络拓扑 | 图模型 | Neo4j | 表达设备之间、设备与区域之间、用户之间的关系 |
传感器数据流 | 时间序列模型 | InfluxDB | 存储高频率设备状态变化数据,如温度、电量等 |
缓存与令牌管理 | 键值模型 | Redis | 用于登录 token、验证码缓存、快速数据访问 |
三、核心数据模型设计
1.用户与设备管理(关系模型)
用户表:users
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE,
password_hash TEXT,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT NOW()
);
设备表:devices
CREATE TABLE devices (
id UUID PRIMARY KEY,
name VARCHAR(100),
type VARCHAR(50),
owner_id INT REFERENCES users(id),
location TEXT,
status VARCHAR(20),
created_at TIMESTAMP
);
设备授权表:device_authorizations
CREATE TABLE device_authorizations (
id SERIAL PRIMARY KEY,
device_id UUID REFERENCES devices(id),
user_id INT REFERENCES users(id),