web-dev-qa-db-fra.com

Sqlite ou MySql? Comment décider?

Avez-vous de bonnes règles pour décider lequel des deux utiliser?

Et, si vous prenez en charge une base de données SQLite et que le système doit "s'agrandir beaucoup", comment décider de la conserver ou de passer à MySql?

82
Mawg

Leurs ensembles de fonctionnalités ne sont pas du tout les mêmes. Sqlite est une base de données intégrée qui n’a aucune fonctionnalité réseau (à moins que vous ne les ajoutiez). Donc, vous ne pouvez pas l'utiliser sur un réseau.

Si tu as besoin

  • Accès réseau - par exemple, accès depuis une autre machine;
  • Tout degré réel de concurrence - par exemple, si vous pensez que vous êtes susceptible de vouloir exécuter plusieurs requêtes à la fois, ou d'exécuter une charge de travail comportant de nombreuses sélections et quelques mises à jour, et que vous souhaitiez qu'elles se déroulent sans heurts, etc.
  • beaucoup d’utilisation de la mémoire, par exemple, pour mettre en mémoire tampon des parties de votre base de données 1 To dans vos 32 G de mémoire.

Vous devez utiliser mysql ou un autre SGBDR basé sur serveur.

Notez que MySQL n'est pas le seul choix et qu'il y en a beaucoup d'autres qui pourraient être meilleurs pour de nouvelles applications (par exemple, pgSQL).

Sqlite est un très, très joli logiciel, mais il n’a jamais prétendu faire quoi que ce soit avec les serveurs SGBDR. C'est une petite bibliothèque qui exécute SQL sur des fichiers locaux (en utilisant le verrouillage pour s'assurer que plusieurs processus ne gachent pas le fichier). C'est vraiment bien testé et j'aime beaucoup.

De plus, si vous ne parvenez pas à choisir cela correctement vous-même, vous devrez probablement embaucher quelqu'un de votre équipe qui le peut.

93
MarkR

L’équipe sqlite a publié un article expliquant quand utiliser sqlite c’est une excellente lecture. En gros, vous voulez éviter d'utiliser sqlite lorsque vous avez beaucoup d'accès simultané en écriture ou que vous devez évoluer en téraoctets de données. Dans de nombreux autres cas, sqlite est une alternative étonnamment bonne à une base de données "traditionnelle" telle que MySQL.

52
Josue

SQLite prêt à l'emploi n'est pas vraiment complet en fonctionnalités de concurrence. Vous aurez des problèmes si vous avez des centaines de requêtes Web qui touchent la même base de données SQLite.

Vous devriez absolument aller avec MySQL ou PostgreSQL.

Si c'est pour un projet à une seule personne, SQLite sera plus facile à installer.

11
Jerome WAGNER

Mes quelques sous aux excellentes réponses précédentes. le site www.sqlite.org fonctionne sur une base de données sqlite. Voici le lien lorsque l'auteur (Richard Hipp) répond à une question similaire.

10
Maksee