2012-07-11 4 views
2

거대한 오래된 데이터를 새로운 시스템 데이터베이스로 이전하는 것이 어떤 접근 방식이 좋을지 궁금합니다 (이전 시스템과 다른 테이블 이름과 열 - 매핑 테이블과 열 필요)?최상의 데이터베이스 마이그레이션 접근법?

1) 데이터베이스에서 데이터베이스인지 (이전 데이터베이스에서 데이터를 추출하고 신중하게 매핑하여 새 데이터베이스에 넣는 스크립트를 작성해야 함)? 그 위의 단위 테스트를 작성하여 정수를 확인하십시오.

(OR)

2) 새로운 시스템 모델 (을 다음 기존 데이터베이스에서 데이터를 추출 객체에 넣어 (최대 절전 모드 또는 JPA 엔티티 객체) 및 지속 자바 퍼시스턴스 API) 프로그램을 사용하여 사용해야합니까?

답변

4

처음으로 이동하십시오. 이것이 바로 ETL 도구가 탄생 한 것입니다.

Java 프로그램 작성을 권하지 않습니다. 일회용으로 개발하고 테스트하는 데는 많은 노력이 필요합니다. 작업에 적합한 도구를 사용하십시오.

+0

+1, ETL 도구는 매우 좋은 이유로 작성되었습니다. – Ollie

+1

True이고, 더 나아가 원래 데이터 저장소가 크면 데이터베이스 마이그레이션 도구로 수행 한 지속 도구가 시간을두고 경쟁 할 수 없습니다. – DataNucleus

+0

죄송 합니다만, 나는이 목적을 위해 완전히 새로운 entites를 만드는 것을 의미하지는 않습니다. 사실, 우리는 이미 새로운 시스템을위한 모델을 가지고 있습니다. 그래서 새로운 시스템 모델을 사용하여 오래된 시스템의 데이터를 추출하고 유지할 수 있을지 생각하고있었습니다. 그러나 DataNucleus는 데이터베이스에서 데이터베이스 접근 방식에서 성능이 더 높을 것이라고 생각합니다. –

2

현재 MySQL에서 Oracle로 데이터 마이그레이션을하고 있는데이 절차를 따르는 것이 가장 좋습니다.

  1. 이전 구조를 사용하여 새로운 시스템으로이 시스템
  2. 가져 오기 이전 데이터에 대한 데이터 맵을 지정 이전 데이터베이스 구조를 덤프하고 새로운 DB 시스템
  3. 에 그것을 다시 만들어야합니다.
  4. 새 DB 구조를 만듭니다.
  5. 데이터를 이전 구조에서 새 구조로 가져 오는 SQL 문을 작성하십시오.

이렇게하면 발생할 수있는 데이터 무결성 문제와 데이터 매핑 문제를 최소화합니다.

관련 문제