내 Windows 데스크톱 응용 프로그램에 일종의 내장 된 키 - 값 (또는 문서) 저장소를 사용하거나 구현하려고합니다. 다양한 유형의 데이터를 저장할 수 있기를 원하며 (물론 GPS 트랙이 한 가지 예일 수 있습니다.) 물론이 데이터를 쿼리 할 수 있어야합니다. 데이터의 양은 동시에 메모리에 모두로드 될 수 없습니다.임베디드 비 관계형 (nosql) 데이터 저장소
키 값 저장소의 저장소 엔진으로 sqlite를 사용하는 것에 대해 생각하고 있지만 y-serial과 비슷하지만 .NET으로 작성했습니다. 또한 FriendFeed's usage of MySQL to store schema-less data에 대해 읽었습니다. 이는 비 관계형 데이터에 RDBMS를 사용하는 방법에 대한 좋은 지침입니다. sqlite는 단순성, 이식성 및 라이브러리 크기 때문에 좋은 옵션 인 것 같습니다.
제 질문은 임베디드 비 관계형 상점에 대한 다른 옵션이 있는지 여부입니다. 배포 할 필요가 없으며 트랜잭션을 지원할 필요도 없지만 .NET에서 액세스 할 수 있어야하며 다운로드 크기가 작아야합니다.
업데이트 : sqlite를 포함 된 키 - 값 저장소 라이브러리 인 Berkeley DB와 비교하는 SQLite as a Key-Value Database이라는 제목의 기사를 발견했습니다.
하지만 그는 스키마가없는 저장소를 원했습니다 .... –
Astor가 맞습니다. 관계형 모델을 피하고 싶습니다. 먼저 데이터베이스 스키마를 준비 할 필요없이 실제로 모든 종류의 데이터를 저장할 수 있기를 원합니다. 또한 데이터 구조가 나중에 변경되면 엄격한 관계형 모델을 사용하는 것이 문제가 될 수 있습니다. 상점의 기존 데이터에 대한 SQL 변경 스크립트를 작성해야합니다. –
그가 찾고있는 것을 알고 있지만 스키마 생성과 같은 NHibernate와 같은 도구는 관계형 측면을 거의 완전히 숨 깁니다. 스키마를 정의 할 필요는 없으며 클래스에 대한 매핑 만 (Fluent NHibernate로 정말 간단합니다) 클래스가 변경되면 모든 지속성 전략에서 일종의 업데이트를 수행해야합니다. –