=

SQLite est-il (parfois) suffisant?

Publié le 12 mars 2023

En 2017, un article intitulé “PostgreSQL est-il assez bon?” a été publié et a fait valoir que PostgreSQL était en effet capable de gérer la plupart des besoins techniques d'un projet d'application web. À l'époque, nous travaillions sur la première version de Vegan Realm et nous cherchions une solution de recherche qui soit meilleure et plus rapide que les requêtes SQL avec l'opérateur LIKE. PostgreSQL nous a suffi, et nous l'avons utilisé dans plusieurs projets depuis.

Mais SQLite pourrait-il suffire? Nous avons partagé la façon dont nous sommes passés d'AWS à Linode et avons donné des conseils sur la façon de commencer à petite échelle pour éviter les frais inutiles. SQLite était au centre de notre stratégie et jusqu'à présent, il s'est avéré suffisant pour nos besoins. 

Calendarium et le site web que vous êtes en train de lire ont été faciles à prendre en charge. Ils ont besoin d'une base de données SQL pour conserver les données et SQLite possède toutes les fonctionnalités SQL nécessaires pour faire fonctionner une application web. La seule chose qu'il ne sait pas faire est de partager la base de données entre plusieurs serveurs. Nous n'avons pas besoin de plusieurs serveurs pour l'instant et nous sommes convaincus que nous pouvons grandir beaucoup tout en conservant notre infrastructure actuelle. Le site web de SQLite contient un bon article sur les cas où il convient d'utiliser ou non SQLite. La section "site web" indique :

SQLite fonctionne parfaitement comme moteur de base de données pour la plupart des sites web à faible ou moyen trafic (c'est-à-dire la plupart des sites web). La quantité de trafic web que SQLite peut gérer dépend de l'importance de l'utilisation de la base de données par le site web. D'une manière générale, tout site qui reçoit moins de 100 000 visites par jour devrait fonctionner correctement avec SQLite. Le chiffre de 100 000 visites par jour est une estimation prudente, et non une limite supérieure absolue. Il a été démontré que SQLite fonctionne avec un trafic dix fois supérieur [traduction].

De Appropriate Uses For SQLite, sur SQLite.org

Lorsque nous avons modernisé Vegan Realm récemment, nous n'étions pas convaincus qu'il s'agissait d'un bon candidat pour SQLite. Nous voulions que la recherche soit rapide et que le classement soit précis. Les capacités de recherche plein texte de PostgreSQL nous ont bien servi à cet égard. Nous avons pris connaissance de l'extension SQLite FTS5, qui est l'implémentation de la recherche plein texte de SQLite, et nous avons décidé d'expérimenter avec celle-ci. Notre cas d'utilisation était une fois de plus parfaitement adapté et nous avons commencé à utiliser SQLite comme moteur de notre petit engin de recherche.

Alors que nous écrivons ces lignes, nous sommes en train de planifier notre prochaine application web. Une fois de plus, nous commencerons par utiliser SQLite comme couche de persistance des données. Nous pensons que SQLite est suffisant, du moins pour commencer quelque chose de nouveau. Il élimine une couche de complexité et ouvre des options pour des solutions d'hébergement bon marché.