【外评】为什么 SQLite(在生产中)的声誉如此糟糕?
为什么?
- 大多数人都是从网络工作负载的角度来看待这个问题的。通常,我们使用 PostgreSQL 等客户端-服务器数据库。但是,SQLite 在移动设备或嵌入式设备等许多其他情况下也能大显身手。
- 长期以来,SQLite 不允许并发写入和读取。WAL 模式改变了这一状况,在该模式下,一个写入器可以有多个读取器。
- 但您仍然不能拥有多个并发写入器。这立即让人们望而却步。您的工作负载可能需要,也可能不需要。
- SQLite 没有很好的备份和复制功能。这是一个大问题,但 Ben Johnson 通过 Litestream 改变了整个局面。我认为这是对 SQLite 生态系统最具影响力的贡献之一。
- 有些 ORM/库的默认设置非常糟糕。例如,不设置
PRAGMA busy_timeout
。 - 有趣的小故事我开始学习 Django 编程时,文档直接说 SQLite 不适合用于生产。很长一段时间我都有这样的错误印象。后来我开始在自己的用例中使用它,才意识到其中的利弊。
SQLite 和其他数据库一样,各有利弊。对于大多数应用和规模而言,它是完美的。对于其他任何应用,您都可以使用 PostgreSQL。
TLDR: SQLite会给你一记耳光。你会没事的。
本文文字及图片出自 Why does SQLite (in production) have such a bad rep?
你也许感兴趣的:
- WordPress正在测试对SQLite的支持
- 发布至今18年,为什么SQLite一定要用C语言来开发?
- 为什么 SQLite 不使用 Git 进行版本管理?
- SQLite 中的各种限制
- 最新的SQLite 3.8.7比3.7.17性能提升50%
- 【程序员搞笑图片】有时
- 新增 300 多项功能,Oracle Database 23ai 正式发布!年近 50 岁的数据库巨头正迈入 AI 时代
- MariaDB消亡史
- 3700 万美元“卖身救命”,泥潭深陷的 MariaDB 准备退市
- 全方位对比 Postgres 和 MySQL (2023 版)
你对本文的反应是: