almessadi.
Retour à l'index

SQLite est prêt pour la production dans la bonne configuration du système_

SQLite n'est pas seulement une base de données de test, mais ce n'est pas non plus un remplacement universel pour PostgreSQL. La nature de la charge de travail détermine si cela convient.

Publié2 juillet 2024
Temps de lecture6 min read

SQLite est sous-estimé car les gens l'associent aux prototypes et aux outils locaux.

C'est une erreur.

C'est une base de données sérieuse avec une histoire de fiabilité solide et un modèle opérationnel extrêmement simple.

La clé est de comprendre quel type de charge de travail elle supporte efficacement.

Pourquoi SQLite semble rapide

L'avantage évident est la localité.

Il n'y a pas de serveur de base de données séparé, pas de saut réseau, et pas de pool de connexions entre l'application et le fichier de données. Pour les charges de travail locales à forte lecture, cette simplicité peut être très efficace.

Où elle s'intègre bien

SQLite est souvent une option solide pour :

  • applications embarquées
  • déploiements en périphérie ou à nœud unique
  • outils internes
  • charges de travail à forte lecture avec une concurrence d'écriture modeste

C'est un ensemble de systèmes significatif.

Où elle ne s'intègre pas aussi bien

Vous devriez être plus prudent lorsque vous avez besoin de :

  • une haute concurrence d'écriture provenant de nombreux processus
  • une coordination d'écriture multi-nœuds
  • des besoins de réplication opérationnelle complexes dès le départ
  • des charges de travail analytiques lourdes sur de nombreux nœuds d'application

C'est généralement là que PostgreSQL ou une autre base de données client-serveur est un meilleur choix.

Le mode WAL compte

Si vous utilisez SQLite en production, comprenez le journal d'écriture anticipé (Write-Ahead Logging) :

  • il améliore le comportement de concurrence
  • il permet à des lecteurs et des écrivains de mieux coexister
  • il change la manière dont le fichier de base de données est géré opérationnellement

C'est une des raisons pour lesquelles SQLite fonctionne beaucoup mieux dans des systèmes réels que de nombreux ingénieurs ne le supposent.

Le résumé honnête

SQLite n'est pas un jouet. PostgreSQL n'est pas excessif.

Le bon choix dépend de si votre système bénéficie davantage de :

  • la simplicité locale et un faible coût opérationnel

ou

  • la concurrence client-serveur et une infrastructure de base de données plus riche

C'est la véritable décision.

Lectures complémentaires