반응형

컬럼매핑정의서를 이용한 Query Magration.

 

 

산출물 중에 "컬럼매핑정의서"가 있다.

컬럼매핑정의서는 데이터 이/수관 및 테이블 변경시 이력을 관리하기 위해 작성한다.

 

마이그레이션magration

프로젝트에서는 줄여서 '마이그'라고 말한다.

넓은 의미로, 데이터 뿐만 아니라 프로그램 소스에도 적용하며

차세대와 같이 F/W등 바뀌는 환경에 맞춰 비즈니스 로직의 변경없이 개발하는 것을 총칭하기도 한다.

 

'쿼리 마이그'도 이런 포괄적인 의미로써 사용된 말이며

META적용 등에 의해 '테이블 및 컬럼'이 변경되어 쿼리가 바뀌어야 할 경우를 말한다.

 

이런 경우에

컬럼매핑정의서에서는 A라는 테이블명이 B로 변경되고 컬럼A1이 컬럼B1으로 변경된다고 표기한다.

이 정보를 가지고 테이블과 컬럼을 일괄 변경할 수 있다.

단순히 생각하면, 쿼리를 문서편집기에 놓고 모든 테이블명 및 컬럼을 Replace한다고 생각하면 된다.

이를 엑셀VBA나 간단한 프로그램을 작성해서 사용하면 손쉽게 처리할 수 있다.

 

사례로...

모카드사 차세대 프로젝트에서 '마트'업무를 맡은 적이 있다.

약 150개 테이블을 사용하는 ETL 및 배치프로그램의 마이그 업무가 주업무였다.

META시스템을 새로 도입했기 때문에, 모든 테이블과 컬럼의 명칭이 바뀌었다.

다행스럽게도 비즈니스 로직은 변경된 부분이 없었다.

 

META표준용어로 테이블과 컬럼이 모두 바뀌었기 때문에, 컬럼매핑정의서를 작성했다.

그리고, 개발단계에서 이 정보를 이용하여 Java프로그램을 하나 짰다.

앞서 언급한 모든 테이블 및 컬럼을 Replace하는 프로그램이다.

 

테이블이 150개정도면 그 쿼리는... 엄청나게 많다.

그래서 1차 변환작업을 먼저 해두고, 테스트를 하면서 보완을 하기로 하고 진행하였는데...

실제 수행해보니 90%이상의 변환률을 보여줬다.( Join 및 Alias등에 의해 수작업이 필요했다 )

 

그래서, 3.5개월로 잡혀 있는 개발기간을 0.5개월에 완료했고,

남은 3개월동안은 여유롭게 테스트만 진행하면서 대응할 수 있었다.

 

ETL Query를 작성할 때에도, 컬럼매핑정의서를 잘 활용하면 이행쿼리를 생성할 수 있다.

이행팀에서 엑셀을 이용하여, 실무에서 많이 사용하고 있다.( 대부분 쓰고 있는... )

 

컬럼매핑정의서 작성시 이러한 부분을 고려하여 작성한다면,

조금은 공수를 확보하고, 여유를 가질 수 있는 프로젝트가 되지 않을까 한다.

 

반응형