본문 바로가기

데이터 Story/데이터 상념(想念)

데이터 모델링이 왜 어려운가?

데이터 모델링은 어렵습니다. 모델링 이론이 어렵다는 말은 아닙니다. 이론은 다른 분야의 것과 비교해서 어렵지 않다고 생각합니다. 하지만 이론을 알고 있더라도 막상 시작하려면 무엇을 어떻게 해야 할지 막막해집니다. 또한 완료하고 나서는 모델링이 제대로 됐는지에 대한 확신이 없습니다. 시작하기 어렵고 결과를 확신할 수 없으니 어려운 분야임이 틀림없습니다.

 

이유는 여러 가지가 있을 것 같습니다. 우선 모델링 이론(理論) 외에 알아야 하는 분야의 폭이 넓습니다. 모델링은 데이터의 본질을 통찰해야 하는 추상적인 개념에서부터DBMS(데이터베이스)의 구체적인 특징과 기능까지 알아야 제대로 수행할 수 있습니다.

 

데이터의 집합을 정의하는 것은 쉽지 않습니다. 유사한 집합을 일반화(Generalization)하는 것도 쉬운 작업이 아닙니다. DBMS의 기본적인 특징을 알아야 하는 것은 기본이고 성능 관점의 구체적인 지식을 습득해야 합니다. 개발자보다SQL 작성 능력이 뛰어나야 하고PLAN을 분석해 효율적인 구조의 모델을 선택할 수 있어야 합니다.

 

그리고 사실상 정답이 없다는 점이 어렵습니다. 공식이나 틀에 맞추기보다는 상황에 따라 판단이 달라져서 정답이 없이 느껴집니다. 똑같은 요건도 상황에 따라 최적의 모델이 달라질 수 있습니다. 하지만 분명히 상황에 맞는 정답은 있습니다. 최소한 모범 답안은 존재합니다. 100점짜리 모델과0점짜리 모델은 존재하지 않을 수 있지만10점에 가까운 모델과90점에 가까운 모델은 존재합니다.

 

흔히 데이터 모델을 데이터 저장소와 같이 인식하고 사용합니다. 마치 블랙박스와 같은 엔터티에 무엇이 어떻게 들어 있는지는 상관없이 결과만 제대로 나오면 프로젝트는 이상 없이 진행됐습니다. 하지만 최근에는 데이터 모델에 대한 관심이 높아져서 블랙박스 안에 존재하는 모델을 공개해 더 좋은 모델이 될 수 있도록 노력합니다. 분명히90점에 가까운 모델은 있으며 어떻게든 그 모델을 지향해야 합니다.

 

또 다른 어려움은 어떤 모델이90점에 가까운 모델인지 확인할 수가 없다는 것입니다. 잘 된 모델을 확인하는 방법에 대한 연구가 절실하다고 생각합니다. 프로그램은 원하는 결과가 나오면 확인할 수 있고 튜닝은 원하는 수치나 현재보다 월등한 수치가 나오면 확인할 수 있지만 좋은 모델은 확인하기 쉽지 않습니다.

 

필자가 모델링을 수행하면서 가장 어려워하는 부분 중 하나는 구축된 모델을 관련자한테 설득하는 것입니다. 사실은 설명하는 것인데 결국 설득으로 이어지는 경우가 많습니다. 사용자를 설득해야 하고 개발자를 설득해야 합니다. 데이터 집합(주제)를 정의한 개념적인 내용을 설명하고 이해시키기는 쉽지 않습니다. 다양한 이해관계가 있는 사람을 설득하는 것 또한 쉽지 않습니다. 특히 실제로 모델을 사용해서 개발해야 하는 개발자를 설득하는 것은 힘들 때가 많습니다. 관련자를 설득할 때는 모델러 역시 객관적이고 구체적인 방법으로 설득해야 합니다. 이런 여러 가지 이유 때문에 데이터 모델링은 쉬운 분야가 아닙니다.

 

[이론과 실무를 겸비한 전략서 관계형 데이터 모데링 프리미엄 가이드] 中에서

 

 

하지만 데이터 모델링은 상식적입니다. 이는 쉽다는 것을 의미합니다.