SQLite:被低估的数据库
提到数据库,很多人首先想到 MySQL、PostgreSQL。但 SQLite 作为世界上部署最广泛的数据库,常常被低估。
SQLite 的优势
零配置
不需要安装服务器,不需要配置用户权限,不需要管理连接池。一个文件就是整个数据库。
性能
对于读多写少的场景(比如博客),SQLite 的性能完全够用:
-- 查询文章列表,毫秒级响应
SELECT p.*, c.name as category_name
FROM posts p
LEFT JOIN categories c ON p.category_id = c.id
WHERE p.status = 'published'
ORDER BY p.created_at DESC
LIMIT 10;
可靠性
SQLite 的 ACID 事务完全符合标准,数据安全性有保障。
适用场景
| 场景 | 推荐 |
|---|---|
| 个人博客 | ✅ 非常适合 |
| 小型网站 | ✅ 适合 |
| 嵌入式应用 | ✅ 非常适合 |
| 高并发写入 | ❌ 不适合 |
| 分布式系统 | ❌ 不适合 |
在 Go 中使用
使用 modernc.org/sqlite 这个纯 Go 实现,无需 CGO:
import _ "modernc.org/sqlite"
db, err := sql.Open("sqlite", "blog.db")
总结
SQLite 不是"玩具数据库",而是一个经过几十年打磨的、可靠的、高性能的嵌入式数据库。对于个人项目来说,它可能是最好的选择。