HomeDIY Lab
智能家居 DIY 决策工具

HA 数据库大小预估

你的 Home Assistant 数据库多久会撑爆存储。算 SQLite 增长,推荐存储方案。

采集与保留设置

广告位

HA 默认 SQLite 为什么早晚要炸

Home Assistant 默认用 SQLite 存历史记录,文件叫 home-assistant_v2.db。一个温湿度实体 30 秒一次采样,一天 2880 条记录,每条约 200-500 字节,一年下来 5-15 MB。一个 80 实体的家 80 人的家轻松 1-2 GB/年。这就是为什么"我的 HA 怎么越来越慢"——SQLite 在千万行级别查询会显著变慢,加上 SD 卡 IO 慢,体验断崖式下降。

recorder.purge keep_days 是关键参数。默认 HA 只保留 10 天,你看到 5GB 数据库不是长期累积,是 10 天内集中写入的临时态。但只要有一个实体因为 yaml 错配被疯狂写(比如每秒更新一次温度),10 天也能轻松吃 5GB。

什么时候换 MariaDB / PostgreSQL?经验值:实体数 >50 或采样间隔 ≤10 秒,直接 MariaDB;实体数 <30 且采样 ≥30 秒,SQLite 就够。换 MariaDB 的副作用是备份脚本要重写,内存占用 +200 MB,Pi 4 还能扛,Pi Zero 一样便宜但要谨慎。

SD 卡寿命也是隐性成本。SD 卡写寿命按 TBW 计算,便宜闪存牌 32GB 通常 50-100 TBW。HA 在 SQLite 上疯狂写,3-5 年写满寿命是常见的。解决办法:用 industrial 级 SD 卡(Samsung PRO Endurance)或干脆 HA 装 SSD。

常见问题

数据库多大才算"该换 MariaDB"?

文件超过 1 GB 或查询 > 1 秒,就该换。如果数据库 < 200 MB 且查询 < 200ms,SQLite 完全够。

为什么我的数据库突然暴涨?

多半是一个实体高频写:温度传感器在 wifi 断连时疯狂重连、错误的 template 实体、buggy 集成。查 recorder 表,按 state 数量排序前 10 名。

Pi 4 上跑 MariaDB 卡不卡?

Pi 4 8GB 跑 MariaDB 没问题,内存 +200 MB,负载可接受。Pi 3B 或 Zero 不建议。

保留天数设多少合适?

一般家庭 7-14 天够,主要用于查看近期趋势、复盘自动化触发。要做月度分析,30 天;年度对比,需要外接 InfluxDB + Grafana。

这工具的局限

关于

HomeDIY Lab 提供智能家居 DIY 决策工具,所有计算在浏览器本地完成,数据不上传。

隐私政策

本站不收集任何输入信息,无 cookie、无追踪、无分析脚本。所有逻辑在客户端运行。

免责声明

数据库增长估算为简化模型,实际视具体设备和配置差异。

返回全部工具