Sobre o projeto

O LiteDB é um banco de dados NoSQL embutido para .NET, pequeno, rápido e leve, projetado para cenários que precisam de um armazenamento de dados autônomo. Ele funciona como um armazenamento de documentos sem servidor, com uma API simples que lembra o MongoDB, permitindo que desenvolvedores trabalhem com documentos BSON diretamente a partir de código C#. As principais características incluem: - **Armazenamento em arquivo único**: todos os dados ficam em um único arquivo, semelhante ao SQLite, o que simplifica implantação e gerenciamento. - **Conformidade com ACID**: suporte completo a transações garante integridade e consistência dos dados. - **Segurança para threads**: a biblioteca é segura para acesso concorrente a partir de várias threads. - **Tamanho compacto**: distribuída como uma única DLL com menos de 450 KB, direcionada ao .NET Framework 4.5 e ao .NET Standard 1.3/2.0. - **Recuperação de dados**: o log antecipado de gravação (WAL) permite recuperação após falhas de escrita. - **Flexibilidade de mapeamento**: classes POCO podem ser mapeadas para BsonDocument usando atributos ou uma API de mapeamento fluente, com suporte a documentos embutidos e referências entre documentos. - **Recursos avançados de armazenamento**: capacidade de armazenar arquivos e fluxos (semelhante ao GridFS), criar índices em campos e executar consultas LINQ. - **Comandos semelhantes a SQL**: a nova v5 introduz uma sintaxe semelhante a SQL e um mecanismo de consulta que suporta projeção, ordenação, filtragem e consulta. - **Carga parcial de documentos**: apenas os campos solicitados no nível raiz são carregados, melhorando o desempenho. A versão 5 traz um novo mecanismo de armazenamento com leituras sem bloqueio, bloqueios de escrita por coleção, coleções internas/do sistema e recursos de consulta aprimorados. Os casos de uso típicos são aplicativos pequenos de desktop/locais, formatos de arquivo de aplicativo, pequenos sites e armazenamentos de dados por usuário. O projeto é de código aberto, gratuito para uso comercial e disponível via NuGet (`Install-Package LiteDB`). Uma interface gráfica, o LiteDB Studio, também é fornecida para gerenciamento de dados. Plugins da comunidade incluem visualizadores, editores, suporte ao LINQPad, integração com F# e forks específicos de plataforma para Unity/IoT e GUIs multiplataforma. A documentação completa é mantida no GitHub Wiki, com uma tradução simplificada para o chinês disponível separadamente. O LiteDB é adequado para desenvolvedores que buscam uma solução NoSQL rápida e embutível, que exija configuração mínima e se integre perfeitamente a bases de código .NET existentes.