2010-02-17 3 views
2

내 데이터가 데이터베이스 (MySql)에 저장되는 Java 코어에서 프로젝트 주소록을 완료했습니다.mysql, sql 등의 데이터베이스를 제외한 다른 데이터 저장

저는 홀 데이터베이스를 다시 작성해야한다는 요구 사항이 있기 때문에 다른 컴퓨터에서 프로그램을 실행할 때 문제가 발생합니다.

그래서 등 MySQL은, SQL

+1

귀하의 질문에 대한 답변은 여기에 있습니다. 귀하의 이메일 주소에 대한 회신은 SO의 목적을 무효화합니다. 또한 공개 사이트에 이메일 주소를 게시하는 것은 수 많은 스팸 메일을 쉽게 얻을 수있는 방법입니다. –

답변

4

나는 그런 SQLite로 임베디드, 경량 데이터베이스를 사용하는 것이 좋습니다 것 같은 데이터베이스 소프트웨어를 사용하지 않고 나에게 내 데이터를 저장하기위한 어떤 대안을 알려주세요. 확인 해봐. 기능 페이지에서 (권장 섹션 에서 SQLite는를 들어 사용) :

응용 프로그램 파일 형식. fopen()을 사용하여 XML을 작성하거나 독점 형식을 디스크 파일 에 응용 프로그램에서 사용하는 대신 SQLite 데이터베이스를 대신 사용하십시오. 은 파서를 작성하고 문제를 해결할 필요가 없으므로 데이터는 에 액세스하고 플랫폼을 넘어서 더 쉽게 액세스 할 수 있으며 업데이트가 트랜잭션이됩니다.

+1

일반적으로 나쁜 접근 방식은 아니지만 응용 프로그램이 이미 JDBC를 사용하고있는 것 같기 때문에 임베디드 JDBC 가능 DB가 여기에 더 적합 할 것입니다. 또한 : 내가보기에 SQLite는 특히 Java와 친숙하지 않습니다. 내가 틀렸어? –

+0

@ Joachim Sauer - 내가 두 사람을 같이 사용하지 않았기 때문에 나는 정말로 몰랐다. 나는 그러나 그것이 가치가 있다고 생각했다. – karim79

+0

SQLJet이 있습니다. >>> 인기있는 SQLite 데이터베이스 관리 시스템의 순수 Java 구현. 나는 그것을 사용하지는 않았지만. – Fakrudeen

0

데이터가 너무 크지 않은 경우 간단한 txt 파일을 사용하여 모든 데이터를 저장할 수 있습니다. 그런 다음 메모리에로드하십시오. 하지만 이렇게하면 데이터를 수정/쿼리하는 방식이 변경됩니다.

+0

나중에 내가 제안하는이 유형의 제안. plz 텍스트 파일에 데이터를 저장하는 방법을 알려주십시오 – Ravi

+0

RDBMS에 하나의 테이블 (하나의 테이블)이 있다면 가장 간단한 방법은 txt 파일의 CSV 형식으로 각 행의 날짜를 저장하는 것입니다 파일. 그런 다음 한 줄씩 읽으십시오. 구분 기호로 분리하여 사용하십시오. 희망 도움말) –

6

당신은

그 모든 추가 소프트웨어 설치없이 실행할 수 있으며, 또 다른 도서관처럼 행동 할 수 ... 메모리 데이터베이스와 같은 HSQLDB, Derby (일명 JavaDB), H2을 사용할 수 있습니다 .

+0

+1. 그러나 Ravi는 응용 프로그램을 닫을 때 데이터가 손실된다는 점에 유의해야합니다. –

+2

@ 브루노 : 반드시 그런 것은 아닙니다. HSQLDB는 데이터베이스를 읽고 파일에 쓰도록 구성 될 수 있습니다. 나는 다른 것들에 대한 경험이 없지만 그들이 똑같이 할 수 있다고 확신한다. –

+0

네, 그 말이 사실입니다. db가 나중에 메모리에로드 할 수있는 파일의 메모리에 데이터를 덤프하는 기능을 가지고 있지 않은 이유는 없습니다. –

2

에 StackOverflow의 요점은 질문/답변 :

당신은 파일 시스템에 데이터를 저장할 수있는 메모리 (사용 직렬화 등) DB에 대한 간단한 대안 주위에 이메일을하지 않았을 정도로이었다. 심지어 메모리에서 완전히 실행될 수있는 HSQLDB를 사용할 수도 있습니다.

+0

안녕하세요 평온히 Java로이 모든 것을 해달라고 말해주세요. 이 작업을 수행하는 데 도움이되는 소프트웨어가 있고 java와 호환되는 소프트웨어가 있다면. 제발 말해줘. – Ravi

0

mysql, sql 등의 데이터베이스 소프트웨어는 구현 노력의 추상화를 제공합니다. 동일한 것을 사용하지 않으려면 XML 또는 플랫 파일과 같은 자체 데이터베이스가 있다고 생각할 수 있습니다. XML 파서 나 핸들러를 사용할 수 있기 때문에 XML은 여전히 ​​더 나은 선택입니다. 사용자 정의 된 데이터베이스/플랫 파일에 데이터를 저장하는 것은 장기간 관리 할 수 ​​없습니다.

왜 sqlite를 탐색하지 않습니까? 파일 기반이므로 별도로 설치하지 않아도 데이터를 검색하거나 데이터와 상호 작용할 수있는 표준 SQL을 사용할 수 있습니다. 제 생각에는 sqlite가 더 나은 선택이 될 것입니다.

0

prevayler (.org)를 사용하기 만하면됩니다. 데이터베이스를 사용하는 것보다 빠르고 간단합니다.

0

귀하의 질문에서 귀하의 응용 프로그램이 실행되는 컴퓨터의 로컬 파일 시스템에 영구 저장 장치의 형태가 필요하다고 가정합니다. 그 외에도 응용 프로그램의 데이터를 사용하는 방법과 볼륨을 결정해야합니다. 데이터베이스가 필요합니까? 다른 분야의 데이터를 검색하고 있습니까? 쿼리 언어가 필요합니까? 데이터가 메모리의 간단한 데이터 구조에 맞도록 작습니까? 얼마나 탄력성이 있어야합니까?이러한 유형의 질문에 대한 대답은 올바른 저장 장치 선택을 유도하는 데 도움이됩니다. 필요한 모든 것은 단순한 CSV 파일, XML 또는 유사한 것일 수 있습니다. SQLite, Berkelely DB, JavaDB 등의 경량 데이터베이스가 있습니다.하지만 데이터베이스의 성능이 필요한지 여부는 요구 사항에 달려 있습니다.

0

요즘 많이 사용하고있는 가게는 입니다. 이것은 그래프 데이터베이스로 사용하기 쉬울뿐 아니라 완전히 자바에 내장되어 있으며 임베디드되어 있습니다. 나는 SQL 대안을 선호한다.

관련 문제