用 SQLite 当个人数据仓库:一个文件搞定一切
个人工具(待办、记账、稍后读)的数据存储,我几乎都用 SQLite。理由很简单:它就是个文件。
为什么是 SQLite
- 零配置:一个
.db文件,不需要装服务、不需要配账号 - 单文件备份:拷走文件 = 全量备份
- 标准 SQL:复杂查询(聚合、JOIN)和完整数据库一样
- 够快:个人应用的数据量,性能完全不是问题
常用姿势
-- 建表
CREATE TABLE todos (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
done INTEGER DEFAULT 0,
created_at TEXT DEFAULT (datetime('now'))
);
-- 查询未完成且带分类的
SELECT * FROM todos
WHERE done = 0 AND category = '工作'
ORDER BY created_at DESC;
和 JSON 文件对比
用 JSON 存数据简单直接,但一旦需要「查询某条件」就麻烦:要么全量读进内存过滤,要么手写索引。SQLite 用一行 SQL 解决,还自带事务保证一致性。
结论
如果你的个人工具数据量在百万行以内、单机使用,SQLite 就是最务实的选择。别急着上 Postgres,那可能才是杀鸡用牛刀。