2012-06-30 5 views
2

PHP/MySQL 기반 클라이언트/서버 응용 프로그램을 Java로 작성된 독립형 데스크톱 응용 프로그램으로 이식하고 싶습니다. 데이터베이스는 수십만 개의 행이있는 여러 테이블로 상당히 커졌습니다. 나는 이것이 특정 테이블에 대해 백만 가지 이상의 항목으로 증가 할 것으로 기대한다.대형 데이터 세트 용 내장 Java 데이터베이스

가장 적합한 내장 데이터베이스는 무엇입니까? HSQLDB와 Sqlite는 명백한 선택 인 것처럼 보이지만 다른 것들도 거기에 있다고 생각합니다. 나의 주요 우선 순위는 많은 양의 데이터를 효율적으로 쿼리 할 수있는 능력이다. (this thread은 Sqlite가 이것을 처리 할 수있는 것으로 보인다.) MySQL에서 오래된 데이터를 가져올 수있는 용이성 (HSQLDB가 그런 종류의 고통을 안고 있음을 기억한다).

참고 : 저는 임베디드 데이터베이스를 비교하는 유사한 질문을하기 전에 게시 된 것을 알고 있지만 (예를 herehere에 대한) 나의 우선 순위는 나는 그것이 새 질문을 정당화 생각 대용량 데이터 마이그레이션을 고려하는 대부분의 응용 프로그램에서 다소 차이가있다.

답변

3

시간이 지남에 따라 걱정할 필요가없는 걱정은 포함 된 데이터베이스에서 수백만 행을 처리 할 수있는 메모리가 부족한 사용자가 있는지 여부입니다.

모든 사람이 64 비트 운영 체제와 8GB 이상의 RAM을 갖고 있으면 분명합니다.

충분한 메모리가있는 한 SQLLite 또는 Hypersonic에서 처리 할 수 ​​있다는 데 동의합니다. 나는 기억이 부족한 상황에서 각각 무엇을 할 것인지 궁금해 할 것이다.

Hypersonic을 서버 모드로 실행하고 데이터를 디스크에 보관할 수 있습니다. 특히 SSD가 보편화되면서 매력적인 대안이 될 수 있습니다. 사용 가능한 RAM을 모두 소모하지 않고도 데이터베이스 설치가 필요하지 않고 큰 데이터 세트를 관리 할 수있는 편리함을 유지할 수 있습니다.

3

최신 버전의 HSQLDB는 기가 바이트의 데이터가있는 상용 응용 프로그램에 사용됩니다. HSQLDB의 지속성 메커니즘은 철저하게 테스트되었으며 fsync를 체계적으로 사용함으로써 데이터 손실을 방지합니다. 쿼리 최적화가 향상되었습니다. HSQLDB SqlTool을 사용하면 CSV 또는 SQL 덤프에서 데이터 가져 오기가 매우 쉽습니다.

+0

hsqldb, fredt에 전문적인 첨부 파일이있는 것처럼 보입니다. 나로부터의 걱정은 없지만 여기에 표현 된 견해에 대한 영향을 아는 것은 좋은 일이다. – duffymo

+0

예, 프로필에 hsqldb.org 사이트 주소가 포함되어 있습니다. – fredt

+0

입력 해 주셔서 감사합니다! –

관련 문제