프로젝트 소개

LiteDB는 작고 빠르며 가벼운 .NET NoSQL 내장 데이터베이스로, 자체 완결형 데이터 저장소가 필요한 시나리오를 위해 설계되었다. 서버리스 문서 저장소로 동작하며 MongoDB를 떠올리게 하는 간단한 API를 제공하여, 개발자가 C# 코드에서 BSON 문서를 직접 다룰 수 있게 한다. 주요 특징은 다음과 같다: - 단일 파일 저장: SQLite처럼 모든 데이터가 하나의 파일에 저장되어 배포와 관리가 간편하다. - ACID 준수: 완전한 트랜잭션 지원으로 데이터 무결성과 일관성을 보장한다. - 스레드 안전성: 여러 스레드에서 동시에 접근해도 안전하다. - 작은 용량: 450KB 미만의 단일 DLL로 배포되며 .NET Framework 4.5와 .NET Standard 1.3/2.0을 대상으로 한다. - 데이터 복구: WAL(Write-Ahead Logging)을 통해 쓰기 실패 후 복구를 제공한다. - 유연한 매핑: POCO 클래스를 속성 또는 플루언트 매핑 API를 사용해 BsonDocument로 매핑할 수 있으며, 내장 문서와 문서 간 참조를 지원한다. - 고급 저장 기능: 파일과 스트림 저장(GridFS 유사), 필드 인덱스 생성, LINQ 쿼리 수행이 가능하다. - SQL 유사 명령어: v5에서는 SQL 유사 구문과 프로젝션, 정렬, 필터링, 쿼리를 지원하는 쿼리 엔진이 도입되었다. - 부분 문서 로드: 요청된 루트 수준 필드만 로드하여 성능을 향상시킨다. 버전 5에서는 새로운 저장 엔진이 도입되어 락 없는 읽기, 컬렉션별 쓰기 락, 내부/시스템 컬렉션, 향상된 쿼리 기능을 제공한다. 일반적인 사용 사례는 데스크톱/로컬 소형 애플리케이션, 애플리케이션 파일 형식, 소규모 웹사이트, 사용자별 데이터 저장소 등이다. 이 프로젝트는 오픈 소스이며 상업적 사용이 무료이고, NuGet(Install-Package LiteDB)으로 설치할 수 있다. 데이터 관리를 위한 그래픽 UI인 LiteDB Studio도 제공된다. 커뮤니티 플러그인에는 뷰어, 편집기, LINQPad 지원, F# 통합, Unity/IoT용 플랫폼 특화 포크, 크로스 플랫폼 GUI가 포함된다. 전체 문서는 GitHub Wiki에서 관리되며, 간체 중국어 번역은 별도로 제공된다. LiteDB는 최소한의 설정으로 기존 .NET 코드베이스와 자연스럽게 통합되는 빠르고 내장 가능한 NoSQL 솔루션을 찾는 개발자에게 적합하다.