본문 바로가기

SQL/DBA 가이드

효과적인 모델 현행화 방안

요즘은 곳곳에서 오래된 건축물들을 리모델링 하는 것을 자주 보게 됩니다.
리모델링을 하기 위해서 반드시 있어야 할 것이 무엇일까요?


필자가 건축에 대해서 자세히 알지는 못하지만, 분명히 기존 건축물에 대한 정확한 설계 도면이 필요할 겁니다.

이미 많은 분들이 데이터 모델을 건축의 설계 도면과 비유를 합니다. 비슷한 이치로 기존의 운영중인 정보시스템에 대한 개선이나 고도화 프로젝트를 진행하기 위해서는 현행화 되어 있는 ERD를 필요로 합니다.


물론, 차세대 프로젝트의 경우도 현행 시스템에 대한 분석이 필요하기 때문에 마찬가지 입니다.


필자가 DA 업무를 수행하면서 느낀 부분은 대부분의 신규 시스템이 구축 시에는 분석/설계 단계의 산출물로 테이블 정의서나 ERD를 필수적으로 요구하기 때문에 대부분은 초기 산출물로 작성되어 있지만, 향후 운영 시에 지속적으로 현행화해서 관리하지 못하는 경우가 많습니다. 요즘은 많은 기업에서 데이터 품질 관리 시스템이나 메타데이터관리시스템을 도입하면서 예전보다는 많이 상황이 좋아졌다고 생각됩니다.


지속적으로 데이터 모델을 현행화 하기 위한 가장 중요한 요소는 '사람' 입니다.


기업내에서 DA에게 데이터 모델 형상 관리에 대한 R&R을 부여하는 것만으로도 첫 단추를 잘 꿰는 것과 같습니다. 실례로 필자가 근무하는 곳에서 데이터 모델 형상 관리가 잘 이뤄지지 못했던 일부 시스템들에 대해서 DA역할을 수행할 담당자를 지정하였고, 필요한 적절한 교육을 진행 후 매월 정기적으로 DA협의회를 진행하면서 지속적으로 데이터 모델 현행화하기 위한 환경을 구성한 결과 현재까지 성공적으로 지속적인 데이터 모델 형상 관리를 수행하고 있습니다.


두 번째로 중요하게 생각하는 요소는 '프로세스' 입니다.


소스 형상 관리와 마찬가지로 데이터 모델에 대한 형상 관리도 SW변경관리 프로세스 내에서 관리되어야 하며, 개발 요구사항과의 추적성이 확보되어야 합니다. 가령, 개발 요구사항에 대해 데이터 모델의 변경 요건이 필요한 경우 기업내 ITSM 혹은 메타데이터관리시스템에서 데이터 모델 변경 요청을 하면, DA가 승인하고, DBA가 실제 배포 일정에 맞춰 DB에 반영을 하며, DA는 배포 일정에 맞춰 승인된 모델 변경 요청 건에 대해 데이터 모델 형상 반영 작업을 진행한다고 가정합시다. 사실 해당 프로세스만 잘 준수 한다면, 데이터 모델에 대한 지속적인 형상 관리가 가능하고 모델과 DB간에 Gap이 발생할 소지가 없습니다.

좀 더 적극적인 모델 변경 관리 프로세스를 위해서는 실제 데이터 모델을 현행화 해야지만, DB에 반영하는 작업을 진행할 수 있다면 정말로 지속적으로 모델 현행화를 안할 수 없게 됩니다.


마지막으로 중요하게 생각하는 요소는 DA가 모델 형상 관리를 효과적으로 하기 위한 모델 형상 관리 도구, ITSM, 메타데이터관리시스템과 같은 '지원시스템' 입니다.


데이터 모델 현행화를 효율적으로 하기 위해서는 지원시스템의 역할이 중요합니다.
만약, DA가 데이터 모델 변경 요청 건을 데이터 모델 관리 도구를 통해서 수작업으로 엔티티/테이블 생성하고, 속성/컬럼명, 속성 설명 등을 작성하는 것은 생각보다 공수를 많이 필요로 하고, 사람이 진행하는 작업이라서 실수가 발생할 소지가 있습니다.

이러한 것들을 개선하기 위해서 데이터 모델 변경 요청 건을 효율적으로 모델 형상 저장소에 적용하기 위한 가장 좋은 방안은 데이터 모델 변경 요청한 내용을 기반으로 자동으로 모델 형상 저장소에 적용할 수 있도록 하는 방안입니다. 하지만, 이 방식은 데이터 모델 변경 요청 정보를 관리하는 저장소와 모델 형상 저장소를 모두 이해하고, 별도의 개발이 필요하기 때문에 쉽지 않은 방식입니다.


차선책으로 모델 형상 관리 도구에서 지원하는 Add-In Module을 이용하는 방식입니다.
기업내에서 표준 테이블정의서 양식을 정의하고, Add-In Module을 이용하여 모델 형상 저장소에 적용하는 방안입니다. 이 방식은 데이터 모델 변경 요청 정보를 저장하고 있는 시스템에서 표준 테이블정의서 양식으로 다운로드할 수 있는 기능만 개발하면 Add-In Module 을 이용하여 다운로드한 테이블정의서를 모델 형상 저장소에 반영하는 방식입니다. 예전에 필자가 네비게이션을 업데이트하지 않아 최근에 생긴 자연휴양림을 찾아가는 데 애를 먹었던 기억이 있습니다. 그때 네비게이션에서는 제 차가 산속을 달리고 있더군요. 또한, 얼마 뒤에 받아본 과속 과태료. 귀챦다고 네비게이션을 업데이트하지 못한 제가 원망 스러웠습니다. 그 이후로는 평소 다니지 않던 길을 가야될 경우나 멀리 여행을 가야될 경우는 반드시 네비게이션을 업데이트 하곤 합니다.


현행화된 ERD가 없다고 해서 정보시스템이 안 돌아가진 않습니다. 하지만, 향후에 장애 사고와 같은 더 큰 위험을 초래할 수 있습니다. 기업에서 데이터 모델에 대한 형상 관리의 중요성을 인식하고, 지속적인 관리가 될 수 있는 체계를 만들었으면 하는 바램입니다.


출처 :: DBGuide.net

'SQL > DBA 가이드' 카테고리의 다른 글

MSSQL DBA  (0) 2014.07.21
[MSSQL] 2005 이상 LOCK MONITORING  (0) 2013.05.21
DA가 갖춰야 할 사고 방식  (0) 2012.06.19
[DBA 가이드] 테이블 관리  (0) 2011.09.22
[DBA 가이드] 백업과 복구  (0) 2011.09.22