2012-09-23 3 views
2

작은 스윙 데스크탑 애플리케이션을 개발했습니다. 이 응용 프로그램은 다른 데이터베이스의 데이터가 필요하므로 원격 데이터베이스에서 jdbc를 사용하여 정보를 얻고 jpa를 사용하여 로컬 데이터베이스에 복사 할 수있는 Java를 사용하여 작은 프로세스를 만들었으므로 문제는 프로세스에 많은 시간이 소요됩니다. 이 작업을 더 빨리 수행하기 위해 다른 방법이 있습니까?mysql 데이터베이스에서 다른 mysql 데이터베이스로 데이터 복사하기

제가 명확하지 않으면 알려주세요. 저는 원어민이 아닙니다.

감사

디에고

+1

안녕 디에고, 문제는 광범위한으로 우리에게 더 많은 정보를 제공하려고합니다. 이 질문에 답할 수 있을까요? 원격 데이터베이스의 크기, 크기 (MB), 테이블 수, 가져 오기를 완료하는 데 걸리는 시간 (초) 및 허용되는 시간은 얼마나 될까요? 로컬 호스트 ??? – Igor

+0

원격 데이터베이스를 제어하고 있습니까? 그렇다면 둘 다 보안 네트워크에 있습니다. 속도 문제는 주로 클라이언트로 데이터를 빨아 들인 다음 로컬 서버로 밀어 넣는 것입니다. 속도를 높이기 위해 할 수있는 일이 많지 않습니다. –

+0

감사합니다. 나는 이런 종류의 일을 해본 경험이 없었다. –

답변

1

한 좋은 옵션은 MySQL의에서 복제 기능을 사용하는 것입니다. 자세한 내용은 MySQL 설명서 here을 참조하십시오.

+0

도움을 주셔서 감사합니다. 테이블에 동일한 구조가 없기 때문에 복제를 사용하지 않고 로컬 테이블에 적어도 4 개의 열이 더 있습니다. –

+0

그렇다면 "The FEDERATED Storage Engine"이라는 또 다른 옵션을 시도해야한다고 생각합니다. 로컬 테이블이 아닌 원격 데이터베이스의 테이블에있는 데이터에 액세스하는 저장소 엔진입니다. 여기를 참조하십시오 [http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html] – RGO

0

JPA은 객체 - 관계형 매핑이 비용이 많이 드는 것처럼 덜 적합하기 때문에 대량 데이터 전송입니다. 여기서도 데이터베이스 복제이 필요하지 않습니다.

아마도 backup은 해결책입니다. 몇 가지 다른 접근 방법이 있습니다.

일반적으로 cron 작업의 mysqldump (예 : 테이블)를 사용하여 덤프를 압축하고 검색 할 수도 있습니다.

관련 문제