为什么 SQLite(在生产环境中)有如此糟糕的声誉? - blag

主要观点:大多数人从网络工作负载角度看待数据库,通常使用 PostgreSQL 等客户端 - 服务器数据库,但 SQLite 在移动或嵌入式设备等其他情况下表现出色;SQLite 曾不允许并发写与读,在 WAL 模式下可实现;不能有多个并发写会让人却步,且过去备份和复制方面存在问题,后 Ben Johnson 的 Litestream 改变了这一状况;一些 ORM/库有糟糕默认设置,如未设置PRAGMA busy_timeout;曾因 Django 文档称 SQLite 不适合生产而有错误印象,实际使用后意识到利弊;总结为 SQLite 很棒,多数应用和规模适用,有 PostgreSQL 可用于其他情况。
关键信息:SQLite 在不同场景的表现、并发写限制、备份复制改进、ORM 问题及个人经历等。
重要细节:提到 SQLite 在移动和嵌入式设备的优势,WAL 模式改变,Ben Johnson 的贡献,Django 文档影响,以及自身使用后的感受等。

阅读 26
0 条评论