当你的智能家居设备超过50台,点击实体历史记录或日志页面时,那个转圈的加载图标可能要转上5到10秒。你可能会怪CPU性能、Wi-Fi延迟或前端面板,但真正的瓶颈往往藏在根目录里:那个默认的单文件SQLite数据库。 解决方案很简单:把Home Assistant的“recorder”集成从SQLite迁到PostgreSQL,部署在本地NAS的Docker中即可。SQLite开箱即用,但它并不擅长持续吞入高并发写入。迁移之后,存储操作被卸到专用数据库,历史图表进入亚秒级响应,备份不再需要停机,整个系统从卡顿变成了企业级控制台。 为什么SQLite不够用? SQLite的架构决定了它在规模面前会翻车:整个状态历史挤在一个扁平文件里,电表每秒写入瓦数这类高频操作会引发锁竞争,阻塞你查看历史图表的读取操作。同时SQLite的DML(数据操作语言)开销偏高,虽然本地简单读取很快,但每分钟处理上百条INSERT时,写入队列就会堆积,随着设备增长慢慢被淹没。 另一个隐患是硬件损耗。持续无缓冲的日志写入,如果落在树莓派的SD卡、eMMC闪存或廉价SSD上,会造成严重的闪存磨损,最终导致存储介质提前报废。PostgreSQL则通过缓冲、批量写入和更智能的索引管理,大幅减少这类磨损,同时支持在线备份,让智能家居在规模扩大后依然从容不迫。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.