开发与运维工具链
Litestream
厂商/来源:
Ben Johnson / Fly.io
核心功能:
“边缘数据库的后悔药”。边缘计算最爱用 SQLite,但最怕掉电损坏。它能让你的 SQLite 拥有媲美企业级 Oracle 的灾备恢复能力。
| 适用场景 | 工业网关本地配置库备份、Node-RED 存储持久化、防止异常断电导致的配置丢失 |
| 架构支持 | 单二进制文件 (Linux/macOS) |
| 核心机制 | 毫秒级 WAL 同步:开启 SQLite 的 WAL(预写式日志)模式后,Litestream 会在后台“盯”着这个日志文件。只要发生增删改,它会在 1 秒内将变动异步推送到后端的 S3 云存储、MinIO 或局域网的 SFTP 上。 |
| 核心价值 | 任意秒级回滚 (Point-in-Time Recovery):如果现场工人把网关电源踢掉了导致数据库变砖。你可以一条命令:litestream restore -o db.sqlite -timestamp 2023-10-01T12:00:00Z s3://...,瞬间将数据库恢复到断电前 1 秒的状态! |
| 避坑指南 | [模式锁定与网络开销] 1. 必须开启 WAL 模式:如果你代码里的 SQLite 还在用默认的 Rollback Journal 模式,Litestream 无法工作。对策:在连接 SQLite 时,务必执行 PRAGMA journal_mode=WAL;。 2. 流量消耗:如果你的 SQLite 是用来存高频时序数据(比如每秒 1000 次写入),Litestream 会疯狂消耗上行网络带宽同步到云端。对策:它只适合备份“配置数据”和“状态数据”(低频变动)。高频传感器数据请老老实实用 InfluxDB/TDengine。 |
| 推荐搭配 | [SQLite3] [MinIO 私有云存储] [易断电的边缘盒子] |