L'intégralité de la base de données (déclarations, tables, index et données) est en effet stockée dans un fichier indépendant de la plateforme. Grâce à son extrême légèreté, SQLite est l’un des moteurs de base de données les plus utilisés au monde. Il est utilisé dans de nombreux logiciels grand public, et est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones modernes.
Voici, ci-dessous, les bibliothèques ayant une portée similaire :
- Libjpeg de l'Independent JPEG Group ;
- l'implémentation de référence originale de libpng ;
- l’implémentation originale de zlib par Jean-loup Gailly et Mark Adler.
Libc ne figure pas dans la liste ci-dessus, même si elle est plus courante que SQLite, car libc n'est pas un composant logiciel unique, mais plutôt plusieurs implémentations concurrentes (ex : BSD vs. GNU) avec des interfaces similaires. Il existe également des implémentations indépendantes de libjpeg et libpng, bien que dans ces cas, les implémentations canoniques soient très populaires.
L'équipe de développement de SQLite estime que leur plateforme est la deuxième bibliothèque logicielle la plus largement déployée, après libz. Certains commentateurs font remarquer que SQLite a tendance à être lié statiquement et donc à avoir plusieurs instances sur chaque machine, alors que libz a tendance à n'avoir qu'une seule instance par machine sous la forme d'une bibliothèque partagée ou DLL. Ainsi, même si le nombre de dispositifs contenant libz peut être supérieur au nombre de dispositifs contenant SQLite, le nombre total d'instances par dispositif peut être plus élevé pour SQLite et donc SQLite peut être le composant logiciel le plus largement déployé et utilisé.
zlib est une bibliothèque logicielle de compression de données. Elle implémente l'algorithme de compression deflate et peut créer des fichiers au format gzip. Cette bibliothèque est très largement utilisée, grâce à sa taille réduite, son efficacité et sa souplesse d'utilisation.
L'équipe de développement de SQLite a annoncé le 27 novembre la sortie de la version 3.37 de SQLite. Une version qui apporte le mode STRICT qui est activé séparément pour chaque table d’une base de données. « Certains développeurs apprécient la liberté qu'offrent les règles de typage flexibles de SQLite et utilisent cette liberté à leur avantage. Mais d'autres développeurs sont choqués par le non-respect flagrant des règles par SQLite et préfèrent le système de typage rigide traditionnel que l'on trouve dans tous les autres moteurs de base de données SQL et dans le standard SQL. Pour ce dernier groupe, la version 3.37 de SQLite supporte un mode de typage STRICT qui est activé séparément pour chaque table », a déclaré l'équipe de développement de SQLite.
SQLite s'efforce d'être flexible en ce qui concerne les types de données du contenu qu'il stocke. Par exemple, si une colonne de la table a pour type "INTEGER", SQLite essaie de convertir tout ce qui est inséré dans cette colonne en un nombre entier. Ainsi, une tentative d'insertion de la chaîne '123' se traduit par l'insertion d'un nombre entier 123. Mais si le contenu ne peut pas être converti sans perte en un nombre entier, par exemple si l'entrée est 'xyz', alors la chaîne originale est insérée à la place.
SQLite est probablement plus utilisé que tous les autres moteurs de base de données réunis. Des milliards et des milliards de copies de SQLite existent dans la nature. SQLite est présent dans :
- tous les navigateurs web Firefox, Chrome et Safari ;
- la plupart des téléviseurs et des décodeurs câble ;
- la plupart des systèmes multimédias automobiles ;
- d'innombrables millions d'autres applications ;
- toutes les instances de Skype ;
- chaque instance d'iTunes ;
- chaque appareil Android ;
- tous les clients Dropbox ;
- PHP et Python ;
- chaque Mac.
Certains développeurs apprécient la liberté qu'offrent les règles de typage flexibles de SQLite et utilisent cette liberté à leur avantage. Mais d'autres développeurs sont choqués par le non-respect flagrant des règles par SQLite et préfèrent le système de type rigide traditionnel que l'on trouve dans tous les autres moteurs de base de données SQL et dans le standard SQL. Pour ce dernier groupe, SQLite supporte un mode de typage strict, à partir de la version 3.37.0, mode qui est activé séparément pour chaque table.
Source : SQLite
Et vous ?
Que pensez-vous de SQLite ?
Avez-vous une expérience dessus ? Le recommandez-vous ?
Qu'est-ce qui selon vous manque à SQLite ?
Voir aussi :
SQLite 3.37 est disponible, le moteur de base de données léger apporte le mode STRICT tant attendu, une amélioration de l'interface CLI et plus
DuckDB, une base de données SQL intégrable comme SQLite, supporte les fonctionnalités de PostgreSQL, conçu pour le traitement et le stockage d'ensembles de données tabulaires
SQLite 3.35 est disponible et prend en charge pour la première fois des fonctions mathématiques et ajoute aussi le support pour la commande "ALTER TABLE DROP COLUMN"
SQLite 3.33.0 est disponible avec la prise en charge de « UPDATE FROM » suivant la syntaxe de PostgreSQL, améliore l'extension ieee754 pour la prise en charge des numéros binary64 de l'IEEE 754