어느 가을날의 전환점

이행|데이터 이행 전략 본문

Development

이행|데이터 이행 전략

어느가을빛 2014. 2. 11. 10:25

데이터 이행도 현행 시스템 테이블의 볼륨과 물리적 구조, 데이터 변동량 등을 고려하여 작업 그룹을 분류하고, 단계별 이행 계획을 수립하는 전략이 필요합니다.

* 이행 전략 수립 시 고려 사항

1. 목표 시스템에서 불필요한 데이터는 이행하지 말자!

2. 변하지 않는 과거 데이터는 선이행하자!

3. 대용량 테이블의 경우 필요하다면 데이터 보존 정책을 수립해서 필요한 범위의 데이터만 이행하자!

4. 필요 시 현행 시스템의 데이터 클린징을 수행하라!

5. 데이터 이행 검증 방안을 수립하라!

6. 데이터 이행 전문가 그룹과 이행 도구를 활용하라!


* 작업 그룹

1) 그룹1
   - 데이터 볼륨이 크고 Range Partition 되어 있으며 과거 데이터에 변경이 없는 테이블.
   - 
과거 데이터에 대한 변경이 발생하지 않는 파티션에 대해서 선이행을 함으로써 데이터 이행 당일 작업 시간에 대한 부담을 줄여줄 수 있는 매우 중요한 요소.

2) 그룹2
   - 파티션으로 구성되어 있지 않지만 특정 일자 컬럼으로 명확한 범위 구분이 가능하며 과거 데이터에 변경이 없는 테이블.
   - 
특정 일자 컬럼 기준으로 과거 데이터를 선이행 하고, 변동 분에 대해서는 원하는 시점이나 이행 당일에 발생된 데이터 만큼만 이행할 수 있습니다.

3) 그룹3
   - 파티션 구성과 상관 없이 과거 데이터에 변경이 발생 수 있는 경우.
   - 
변경분이 많이 발생하는 테이블은 변경분에 대한 처리가 쉽지 않기 때문에 이행 당일에 작업을 하면 됩니다


이렇게 그룹별로 작업 단위를 나누어서 이행 전략을 수립한다면, 굳이 명절이 아니더라도 주말에도 데이터 이행을 할 수 있는 시간이 가능할 수 있을 것입니다.  물론, 데이터 볼륨과 시스템 환경 등을 고려하여 실제 수행 가능한 지에 대한 판단이 선결되어야 합니다.


** 이행 기법 참고

Bulk insert

SQL Server 통합 서비스 (SSIS : SQL server Integration Services)

데이터 모델에 대한 변경이 없고, 데이터 볼륨이 소규모인 시스템인 경우는 전통적인 데이터 이행 방식인 export / import 방식이 유리할 수 있습니다.

오라클에서 대용량 파티션 테이블들이 특정 테이블스페이스 단위로 관리된다면 Oracle8i 이후부터 제공하고 있는 TTS(Transportable tablespace) 방식을 이용하여 테이블스페이스 단위로 데이터 파일을 이동해서 바로 사용이 가능합니다. 이 방식은 대량의 데이터를 옮길 때 가장 빠르고 효율적으로 사용할 수 있는 방법입니다. 옮길 대상 테이블스페이스를 READ ONLY로 변경하고, 옮길 대상 DB로 데이터 파일을 복사한 후, 해당 테이블스페이스의 구성정보만 EXP => IMP 하면 바로 사용이 가능합니다.
10g 이전 버전에서는 원본과 대상이 서로 같은 플랫폼인 경우에만 이전이 가능했지만, 10g 부터는 RMAN을 통한 변환 작업을 통해 이것이 가능해 졌습니다. 다만, 동일한 캐틱터 셋, 블록 사이즈를 사용해야 하고, standard edition 에서는 지원되지 않는 등 몇 가지 제약사항들은 존재합니다. 이러한 제약사항에 해당되지 않는다면, 데이터 모델 변경이 없이 동일한 오라클DB로 대용량DB를 이행을 해야 하는 경우는 TTS 방식을 사용하시기 바랍니다. 이 방식을 사용하게 되면 이행 시간의 대부분은 단지 데이터 파일을 복사하는 데 소요되는 시간입니다.


#출처 : http://blog.naver.com/PostView.nhn?blogId=mispsw&logNo=80171050402

Comments