SQLite est une base de données relationnelle compatible SQL. Contrairement à d'autres systèmes basés sur SQL comme MySQL et PostgreSQL, SQLite n'utilise pas d'architecture client-serveur. L'ensemble du programme est contenu dans une bibliothèque C, qui s'intègre dans les applications. La base de données devient partie intégrante du programme, éliminer les processus autonomes et gourmands en ressources.
SQLite stocke vos données dans un seul fichier multiplateforme. Comme il n'y a pas de serveur dédié ou de système de fichiers spécialisé, “mise en pratique” SQLite est aussi simple que de lier votre bibliothèque et de créer un nouveau fichier normal.
Cette simplicité a entraîné l'adoption massive de SQLite comme système de base de données de choix pour les applications et les appareils embarqués.. Il est Je pensais que le nombre total des implémentations SQLite surpasse tout autre moteur de base de données ensemble, car il est inclus avec tous les principaux systèmes d'exploitation, la plupart des langages de programmation, une liste complète de matériel embarqué et de nombreux produits logiciels importants.
Avantages SQLite
SQLite se concentre sur la fourniture d'une base de données compatible SQL puissante sans frais généraux ni dépendances. Comme le nom l'indique, c'est une solution légère qui peut être ouverte dans presque tout ce qui prend en charge C et le stockage de fichiers persistants. Des liens sont disponibles pour les langages de programmation de haut niveau les plus populaires.
Comment les bases de données SQLite sont des fichiers plats, ils sont très portables et faciles à sauvegarder. L'absence d'un composant serveur rend également SQLite beaucoup plus facile à configurer., même si vous n'êtes pas dans un environnement de développement complet. Il n'y a pas de procédure à long terme pour surveiller, redémarrer ou inspecter les problèmes de sécurité.
Les applications utilisant SQLite bénéficient d'une résilience accrue et d'un temps de développement réduit. L'utilisation d'une base de données SQLite au lieu de fichiers texte pour la configuration et le stockage unifie l'accès aux données sur tous les appareils et aide à maintenir des performances cohérentes.
Les bases de données sont livrées avec des protections contre la corruption que vous n'obtenez pas à partir de fichiers normaux. SQLite est atomique et transactionnel, afin d'éviter les événements de réussite partielle. Si une opération échoue dans une transaction, les transactions réussies sont également inversées, qui ramène la base de données à son état d'origine.
SQLite est également résistant aux erreurs de stockage et aux situations de manque de mémoire. Les bases de données peuvent récupérer des pannes totales du système et des pannes de courant, qui aide à protéger les données. La base de code est couverte par une suite de tests remarquablement généralisée avec Couverture de 100%.
Limites
SQLite prend en charge la plupart des fonctionnalités du langage SQL92 standard. Il y a des divergences et particularités spécifiques au moteur, même si cela est également vrai pour tous les autres principaux moteurs de base de données SQL. Cela dit, Il est important de noter certaines limitations spécifiques de SQLite, faites attention.
SQLite adopte une approche flexible pour gérer les types de données, ce qui va à l'encontre du typage fort des autres moteurs. Il ne s'oppose pas à l'insertion de valeurs invalides, pour que vous puissiez écrire “sqlite” (un string
) dans une integer
colonne. Les types de données sont extrêmement flexibles et, parfois, imprévisible, surtout s'il vient d'un autre système de base de données.
SQLite manque également de support pour certains types de données. Il n'y a pas BOOLEAN
O DATETIME
, donc du texte ou des valeurs entières doivent être utilisés à la place. Ces sabots peuvent causer des maux de tête si jamais vous passez de SQLite à une autre plate-forme.. Votre base de données peut contenir des valeurs SQL invalides qui ne seront pas acceptées ailleurs.
La conception de fichiers plats restreint les cas d'utilisation auxquels SQLite s'applique. Vous ne pouvez pas mettre à l'échelle ou étendre de manière réaliste une base de données, puisque toutes les connexions écrivent dans le même fichier sous-jacent. Les écritures simultanées sont impossibles, puisque la base de données est verrouillée pour chaque. Cela réduit les performances dans les scénarios à écriture intensive., puisque les opérations sont accumulées dans une file d'attente d'écriture.
SQLite ne prend pas non plus en charge plusieurs utilisateurs. Dans les moteurs de base de données comme MySQL et PostgreSQL, vous pouvez créer des comptes d'utilisateurs dans la base de données à laquelle les clients se connectent. Cela vous aide à restreindre l'accès à des opérations et à des schémas spécifiques.
La gestion des utilisateurs au niveau de la base de données est moins applicable à SQLite, puisque chaque schéma est stocké comme un fichier normal sur le disque. Impossible d'accéder nativement aux bases de données SQLite sur le réseau, donc les différents comptes utilisateurs ont moins de pertinence. Il est plus logique d'utiliser les autorisations du système d'exploitation pour restreindre les autorisations de lecture et d'écriture. Malgré tout, l'absence d'utilisateurs reste un souci pour les applications qui travaillent avec des données sensibles, où plusieurs comptes de base de données isolés pourraient appliquer des protections.
Quand utiliser SQLite?
SQLite fonctionne mieux lorsque vous souhaitez combiner les solides capacités de requête et de stockage de SQL avec la facilité d'utilisation de l'accès au système de fichiers conventionnel. Dans ces scénarios, offre des performances et une endurance supérieures par rapport aux lectures et écritures typiques.
Le système fonctionne bien dans des environnements où les utilisateurs finaux ne devraient jamais être au courant de l'existence de la base de données. SQLite ne nécessite aucune maintenance ni administration, ce qui le rend idéal pour les applications mobiles et les appareils IoT. Un moteur de base de données client-serveur peut poser des problèmes si le serveur s'arrête ou s'il y a un obstacle réseau.
SQLite fonctionne également bien comme backend pour les applications et les sites Web côté serveur. Tant que le système est orienté vers les lectures et non les écritures, Les performances de SQLite peuvent correspondre ou même surmonter celui des autres moteurs de bases de données. Exécuter une procédure sans échanges réseau, qui élimine la surcharge de la base de données traditionnelle.
Vous ne devez pas utiliser SQLite si vous traitez de grandes quantités de données. Même si la limite de la base de données rigide est 281 TB, dans la pratique, les ensembles de données ci-dessus 1 FR Il est prévu que être plus adapté à une technologie basée sur serveur. L'absence de prise en charge de l'écriture simultanée empêche en outre l'utilisation de SQLite pour des ensembles de données à évolution rapide manipulés par plusieurs clients..
résumé
SQLite est un moteur de base de données compatible SQL qui stocke tout dans un seul fichier physique. Il n'y a pas de serveur à exécuter, donc SQLite peut être compilé dans vos propres applications. N'a aucun coût, open source et est publié dans le domaine public, vous n'avez donc pas à vous soucier des licences.
Simplicité, La portabilité et la fiabilité du moteur en ont fait le système de stockage de choix pour les systèmes d'exploitation modernes et les plates-formes embarquées. Il ne consomme presque pas de ressources, il est omniprésent et facile à utiliser pour les développeurs et fonctionne de manière invisible pour les utilisateurs finaux.
SQLite s'est développé grâce à l'utilisation accrue des appareils mobiles et des produits IoT. L'adoption et la sensibilisation doivent s'étendre davantage à mesure que ces technologies continuent d'étendre leur portée.. La clé du succès de SQLite a été sa compatibilité universelle: si vous avez la bibliothèque SQLite et du stockage, vous pouvez utiliser la puissance de SQL sans aucune autre dépendance.