비투엔 기술기고

[Data Modeling] 강대웅의 데이터 세상 열기!

알 수 없는 사용자 2014. 9. 11. 15:08



1. 그림은 그려야 그려진다.                                                                                   

 

데이터 모델링을 어떻게 해야 할지 모르겠다는 분 들께, "그림은 그리다 보면 그림이 된다."고 말해 주고 싶다. 이 얘기는 마치 "문제는 풀어야 답을 찾을 수 있다."는 말과 같은 의미이다. 푸는 과정이 없이 답을 안다면 전지전능한 것이다. 우리는 전지전능하지 않으므로 풀어봐야 답을 알게 되고, 그려봐야 그리고 싶은 그림을 완성할 수 있는 것이다.

 

대상 업무 도메인에 대해 일단 그려보라(ERD를). 그려진 엔티티에 대해 정의하고 타 엔티티들과 관계를 맺어보다 보면 무수한 질문이 생길 것이고(어떤 책에서는 이를 형사가 수사한다는 표현을 쓴다.) 질문에 대한 답을 찾으면 다시 그림을 수정하고, 이런 일련의 과정을 반복하다 보면 결국 원하는 데이터 모델이 설계되어 있으리라.


‘천리 길도 한 걸음부터’라는 속담도 있지 않은가. 아무리 큰 일이라도 그 첫 시작은 작은 일부터 비롯된다는 의미이겠지만, 첫 걸음을 떼지 않고는 길을 갈 수 없다는 의미로도 이해할 수 있겠다.

 

  "이것이 Bottom-Up Approach 인가요?" 라고 묻지는 마시길...  



2. 장점만 생각하기                                                                                             


몇 년 전 데이터 모델링을 수행했던 ‘모 보험회사’ 프로젝트 사례를 이야기해보고자 한다.

고객사인 ‘모 보험회사’는 주사업자를 선정하여 시스템을 본격 구축하기 이전에 많은 것들을 준비하고자 했고 목표 데이터 모델도 주사업자 선정 전 미리 설계해두고자 했다. 이를 위해 당사 전문 데이터 모델러와 '모 보험회사' 기존 시스템 운영 경험이 풍부한 담당자들을 데이터 모델러로 구성하였으며, '모 보험회사'에서는 특별히 ‘타 보험회사’ 데이터 모델링 경력자를 채용하여 ‘타 보험회사’ 데이터 모델의 사상을 참조하고자 했다.


‘모 보험회사’의 목표 데이터 모델을 설계하기에 앞서 ‘타 보험회사’ 데이터 모델링 경력자로부터 ‘타 보험회사’ 데이터 모델의 사상에 대한 설명을 들을 기회가 있었는데, 당사 전문 데이터 모델러들뿐 만 아니라 ‘모 보험회사’에서 참여한 데이터 모델러들마저도 쉽게 납득할 수 없는 독특한 방향으로 ‘타 보험회사’ 데이터 모델이 설계되었다는 것을 알게 되었고 ‘타 보험회사’ 스타일의 데이터 모델링 방향을 진행할 것인지 일대 혼란을 겪게 된 것이다.

 

당사가 보편적으로 데이터 모델링하는 방향과 차이가 컸던 탓도 있고 물리적인 관점 또는 개발 관점에서 단점이 두드러졌던 특징도 있어서 당사 데이터 모델러들도 이해할 수 없다는 표정과 수용하기 어렵다는 의견이 지배적이었다. ‘모 보험회사’ 데이터 모델러들도 당사 데이터 모델러들의 생각에 동조되어 ‘타 보험회사’ 데이터 모델링 사상 적용에 대해 우려를 표하고 있었다.


 


이에, 고객사인 ‘모 보험회사’ 데이터 모델러들을 배제한 채 당사 데이터 모델러들에게 매일 밤마다 ‘타 보험회사’ 데이터 모델링 사상을 토론할 수 있도록 자리를 마련하였는데 가급적 기술적인 장점만을 논하도록 제한하였다. ‘타 보험회사’ 데이터 모델링 사상은 총 일곱 가지의 상호 연관성이 있는 특징으로 정리되었는데, 대개의 경우 우리 회사의 기술적 판단 기준에 비추어 볼 때 장점보다 단점이 너무 많아 갈등의 요소로 내재되어 있는 것들이었다. 그럼에도 불구하고, 장점만 생각하도록 유도한 이유는 다음과 같다.

 

첫째, 단점이 극명하게 드러나 있다고 판단해버리면 이면에 감춰져 있을지도 모르는 장점은 묻혀버릴 수 있다.

둘째, 세상 거의 대부분의 사물이나 현상은 장점과 단점이 공존하며, 이는 판단하는 자아의 지식과 경험에 의존하여 한 쪽이 두드러지게 인식되는 경향이 있다.

셋째, 긍정의 눈으로 대상을 바라보면 생각지 못했던 새로운 면모를 발견하는 경우가 종종 있다.

넷째, ‘타 보험회사’도 우리가 알고 있는 단점을 전혀 모르는 바가 아니었을 것이고, 내부적으로 여러 차례 토론을 한 결과적 산물일 것이다. 어떤 면에서는 우리의 설계논리를 극복할 수 있는 그들의 논리가 있을지도 모른다.

다섯째, 어차피 단점은 직관적으로 파악하고 있으니, 장점만 생각해도 되고, 추후 장단점을 취합 정리하면 설득력 있는 기술자료로 활용될 수 있다.

 

흔히 하는 말로, “좋은 게 좋은 거죠.”, “그냥 좋게 생각합시다.”와 같이 단점이 많음에도 불구하고 무시하고 넘어가자는 얘기가 아니다. 다른 사람들의 생각과 고민에 대해서도 관심을 가져보자는 것이고 비록 단점이 더 많아 보이지만 그렇게 설계한 그들만의 ‘의도’가 있을 수 있으므로 그 것이 무엇인지 짐작하여 보는 것 자체 만으로도 공부가 되는 것이다.


영국 글래스고 대학에서 '술을 마시면 상대가 더 예뻐 보이는 것이 보편적인 현상인지에 대한 과학적인 접근'을 시도하였다고 하는데, 그 결과 술을 먹은 사람들이 그렇지 않은 사람들 대비, 약 20% 정도 상대를 더 예쁘다고 판단하는 것으로 나타났다고 한다('맥주 안경 효과'라고 한답디다).