2013-02-16 1 views
4

스프링을 사용하여 웹 애플리케이션에 대한 정기적 인 데이터베이스 백업을 예약해야합니다. 스프링 데이터는 백링에 대한 특별한 지원을 제공합니까? TaskScheduler 및 TaskExecutor를 사용할 계획입니다.스프링 데이터를 통한 데이터베이스 백업

답변

6

아니요, 특정 지원은 없습니다. 스프링 데이터는 일괄 작업이 아닌 트랜잭션 용도로 사용됩니다. 물론 findAll() 메서드를 사용하여 결과를 반복하고 저장할 수 있습니다.

스프링 배치는 장기 실행, 무거운 배치 프로세스에 초점을 맞추기 때문에 아마도 더 나은 선택 일 것입니다. 그러나 IMHO 애플리케이션은 백업을 실행하기에 적합하지 않습니다. 데이터베이스 또는 OS 지원을 사용하지 않는 이유는 무엇입니까? 더 빠르고 신뢰할 수 있습니다.

응용 프로그램 수준에서 데이터베이스를 실제로 백업해야하는 경우 데이터베이스 설명서를 고려하십시오. 데이터베이스의 내용을 파일로 덤프하는 간단한 명령이있을 수 있습니다. 예를 들어, 에서 나는 SCRIPTJdbcTemplate의 SQL 명령을 사용하여 데이터베이스를 임의의 파일로 덤프합니다. 하지만이 기술을 reset database after each integration test에 사용합니다. 오버 헤드를 최소화하기 위해 JdbcTemplate을 사용합니다. 그렇기 때문에 Spring Data가 그 업무에 가장 적합한 도구는 아닙니다.

MySQL에는 mysqldump 프로세스가 있으므로 Java에서 실행하는 것이 약간 번잡합니다.

+0

그 이유는 응용 프로그램이 다른 시스템에 분산되어 있으므로 각 응용 프로그램마다 다른 구성이 필요하기 때문입니다. 이것이 제가 신청서를 통해 그것을 시도한 이유입니다. – Manu

+0

@Manu : 알겠습니다. 내 업데이트를 한번보세요. –

+0

토마스 감사합니다. – Manu

관련 문제