2009-04-19 2 views
6

나는 서버에 비누를 말하는 데스크톱 응용 프로그램이 있습니다. 통신 속도가 매우 느려서 많은 데이터를 로컬 데이터베이스에서 전면 및 쿼리로 다운로드하려고합니다. 응용 프로그램이 종료 된 후에도이 로컬 데이터를 유지해야하므로이 작업을 수행하는 가장 좋은 방법은 무엇입니까? . . 거기에 좋은 제품/예제가 이것을 할 수 있습니다. . 내가 캐싱하는 약 25 개의 테이블이 있습니다.빠른 로컬 데이터베이스

답변

14

SQLite는 이에 적합합니다. 몇 년 전에 나는 사용자가 여전히 오프라인으로 응용 프로그램을 사용할 수 있도록 로컬 캐시를 유지 관리하는 "스마트 클라이언트"응용 프로그램을 작성했습니다. SQLite를 사용하고 아무런 문제가 없었습니다. 아주 작고 빠르게 지속되며 대부분의 현대 ORM이이를 지원합니다. 또한 당신의 요구를 충족 할 수

http://www.sqlite.org/

+0

SubSonic도 지원합니다. – flipdoubt

2

H2 데이터베이스를 (내가 NHibernate에 사용되었다). Microsoft는 SQL Server Compact Edition을 제공합니다 : SQL Server Mobile Edition. SQL Server와 TSQL이 필요한 경우이 옵션을 선택하는 것이 좋습니다.

+0

IKVM을 통해 .Net에서 H2를 성공적으로 사용하고 있습니다. H2 문서에는 고급 섹션의 간단한 섹션이 있습니다. –

0

파이어 버드 사용을 고려해보십시오. ADN.NET 익스텐션이 있다고 생각합니다.

1

항상 Access 데이터베이스를 사용할 수 있습니다. 대개 .NET 응용 프로그램에서 쉽게 읽을 수 있으며 클라이언트에 서버를 설치하거나 구성 할 필요가 없습니다.

0

나는 Access와 마찬가지로 개별 데이터베이스 파일에서 작동하는 SQL Server Express 또는 심지어 SQL Server Compact Edition을 고려할 것입니다. 그럼에도 불구하고, 그것은 여전히 ​​SQL Server입니다.

+0

설치 및 배포가 여전히 악몽이기 때문에 SQL Server Express에서 멀리 떨어져있을 것입니다. SQL Server Compact Edition도 좋은 선택입니다. –

+0

악몽이 보는 사람의 시선입니다. 그리고 2008 년에 대해 이야기하고 있습니까? 방금 SQL Server 2008 Enterprise Edition을 모든 부분과 함께 약 5 분의 사용자 상호 작용 (약 30 분간 기다림)으로 설치했습니다. 그것이 _Enterprise_ Edition이었습니다. 나는 Express를 더 짧게 설치할 것을 기대한다. 그리고 메시지를 표시하지 않고 응답 파일을 작성하지 않아도됩니다. –

+0

문제는 로컬 데이터베이스를 사용하는 것이므로 고객이 SQL Server Express를 설치하도록 요구해야합니다. 설치 프로그램에 포함시킬 수 있지만 크기에 많은 것을 추가하고 다른 응용 프로그램이 SQL Server Express를 이미 설치했거나 사용자가 이미 SQL Server를 설치 한 경우 문제가 발생합니다. –

3

Berkeley DB은 좋은 독립형 DB입니다. 창문에 내장 된 ESENT도 고려해야합니다. Ayende의 write-up입니다.

0

Apache Derby도 Sun의 Glassfish Java EE 서버에 사용됩니다.

관련 문제