À propos du projet

LiteDB est une base de données NoSQL embarquée .NET petite, rapide et légère, conçue pour les scénarios nécessitant un magasin de données autonome. Elle fonctionne comme un magasin de documents serverless doté d’une API simple rappelant MongoDB, permettant aux développeurs de manipuler des documents BSON directement depuis du code C#. Les principales caractéristiques incluent : - **Stockage dans un seul fichier** : toutes les données résident dans un seul fichier, à la manière de SQLite, ce qui simplifie le déploiement et la gestion. - **Conformité ACID** : la prise en charge complète des transactions garantit l’intégrité et la cohérence des données. - **Sécurité des threads** : la bibliothèque est sûre pour un accès concurrent depuis plusieurs threads. - **Empreinte compacte** : distribuée sous forme d’une seule DLL de moins de 450 Ko, ciblant .NET Framework 4.5 et .NET Standard 1.3/2.0. - **Récupération des données** : la journalisation anticipée (WAL) permet la récupération après des échecs d’écriture. - **Flexibilité de mappage** : les classes POCO peuvent être mappées vers BsonDocument à l’aide d’attributs ou d’une API de mappage fluide, avec prise en charge des documents embarqués et des références entre documents. - **Fonctionnalités de stockage avancées** : possibilité de stocker des fichiers et des flux (similaire à GridFS), de créer des index sur des champs et d’exécuter des requêtes LINQ. - **Commandes de type SQL** : la nouvelle version 5 introduit une syntaxe de type SQL et un moteur de requête prenant en charge la projection, le tri, le filtrage et l’interrogation. - **Chargement partiel des documents** : seuls les champs de niveau racine demandés sont chargés, ce qui améliore les performances. La version 5 apporte un nouveau moteur de stockage avec des lectures sans verrou, des verrous d’écriture par collection, des collections internes/système et des capacités de requête améliorées. Les cas d’usage typiques sont les petites applications de bureau ou locales, les formats de fichiers d’application, les petits sites web et les magasins de données par utilisateur. Le projet est open source, gratuit pour un usage commercial et disponible via NuGet (`Install-Package LiteDB`). Une interface graphique, LiteDB Studio, est également fournie pour la gestion des données. Les plugins communautaires incluent des visionneuses, des éditeurs, la prise en charge de LINQPad, l’intégration F# et des forks spécifiques à des plateformes pour Unity/IoT ainsi que des interfaces graphiques multiplateformes. La documentation complète est maintenue dans le Wiki GitHub, avec une traduction en chinois simplifié disponible séparément. LiteDB convient aux développeurs recherchant une solution NoSQL rapide et embarquable, nécessitant une configuration minimale et s’intégrant facilement aux bases de code .NET existantes.