Об этом проекте

LiteDB — это небольшая, быстрая и легкая встраиваемая NoSQL-база данных для .NET, предназначенная для сценариев, требующих автономного хранилища данных. Она работает как бессерверное документохранилище с простым API, напоминающим MongoDB, позволяя разработчикам работать с BSON-документами непосредственно из кода C#. Ключевые характеристики включают: - **Хранение в одном файле**: Все данные находятся в одном файле, как в SQLite, что упрощает развертывание и управление. - **Соответствие ACID**: Полная поддержка транзакций обеспечивает целостность и согласованность данных. - **Потокобезопасность**: Библиотека безопасна для одновременного доступа из нескольких потоков. - **Компактный размер**: Поставляется как одна DLL-библиотека объемом менее 450 КБ, поддерживая .NET Framework 4.5 и .NET Standard 1.3/2.0. - **Восстановление данных**: Журналирование с упреждающей записью (WAL) позволяет восстанавливать данные после сбоев записи. - **Гибкость сопоставления**: POCO-классы можно сопоставлять с BsonDocument с помощью атрибутов или плавного API-маппера, поддерживая встроенные документы и перекрестные ссылки между документами. - **Расширенные возможности хранения**: Возможность хранить файлы и потоки (аналог GridFS), создавать индексы по полям и выполнять LINQ-запросы. - **SQL-подобные команды**: Новая версия v5 вводит SQL-подобный синтаксис и механизм запросов, поддерживающий проекцию, сортировку, фильтрацию и запросы. - **Частичная загрузка документов**: Загружаются только запрошенные поля корневого уровня, что повышает производительность. Версия 5 приносит новый механизм хранения с чтением без блокировок, блокировки записи на уровне коллекций, внутренние/системные коллекции и расширенные возможности запросов. Типичные случаи использования — это небольшие настольные/локальные приложения, форматы файлов приложений, небольшие веб-сайты и хранилища данных для каждого пользователя. Проект имеет открытый исходный код, бесплатен для коммерческого использования и доступен через NuGet (`Install-Package LiteDB`). Также предоставляется графический интерфейс LiteDB Studio для управления данными. Плагины сообщества включают просмотрщики, редакторы, поддержку LINQPad, интеграцию F# и специализированные форки для Unity/IoT и кроссплатформенных графических интерфейсов. Полная документация поддерживается в вики-разделе GitHub, а упрощенный китайский перевод доступен отдельно. LiteDB подходит разработчикам, ищущим быстрое, встраиваемое NoSQL-решение, требующее минимальной настройки и бесшовной интеграции с существующими .NET-приложениями.