Database
小型 Web 应用如何可靠地使用 SQLite
SQLite 不是“无需维护”的数据库
SQLite 很适合单机、小团队和低并发应用:部署简单、文件可携带、查询能力完整。但它仍然是生产数据。真正的风险通常不在 SQL 本身,而在误删、磁盘故障和错误的备份方式。
备份不要只复制主文件
启用 WAL 模式时,正在写入的数据可能位于 -wal 文件中。直接复制 data.db 未必得到一致快照。更稳妥的做法是使用 SQLite 的备份接口或在确认写入停止后创建数据库快照。
sqlite3 data.db ".backup '/backup/data-20260906.db'"
sqlite3 /backup/data-20260906.db "PRAGMA integrity_check;"恢复演练比备份数量重要
每份备份都应该至少被恢复验证一次。把备份放到独立目录、独立服务器或对象存储,并记录恢复步骤。发生故障时,最宝贵的是确定性,而不是一堆从未打开过的文件。
适用边界
当应用需要多机同时写入、复杂报表或大量并发事务时,应考虑迁移到 PostgreSQL 等服务型数据库。SQLite 的优势是小而可靠,不是承担所有场景。