전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

김기창의 데이터 모델링 강의(최종회) : 데이터 모델러에 대한 사색(하): 데이터 모델러가 되고 싶다면

전문가칼럼
DBMS별 분류
Etc
작성자
dataonair
작성일
2019-05-09 00:00
조회
5191





김기창의 데이터 모델링 강의(최종회)

데이터 모델러에 대한 사색(하): 데이터 모델러가 되고 싶다면



[필자 소개]
김기창은 데이터 분야에서 15년 이상 일하고 있으며, 현재는 위즈덤마인드 (www.wisdom-mind.co.kr)의 대표 컨설턴트로서 데이터 모델링(Data Modeling)과 DA(Data Architecture) 컨설팅을 하고 있다. 특별히 풍부한 실전을 바탕으로 데이터 모델링을 직접 수행하며, 실무에 적절한 DA 컨설팅을 하는 것이 강점이다. 저서로는 [데이터베이스 활용을 위한 SQL Server 2000], [관계형 데이터 모델링 프리미엄 가이드], [관계형 데이터 모델링 노트]가 있으며, 역서로는 [데이터 모델링 리소스 북]이 있다. 2007년에는 [전사적 데이터 아키텍처 프레임웍에 대한 개념 모델 개발] 논문을 발표했다. 모델러가 기업에게 제공할 최고의 가치는 좋은 모델을 제공하는 것이라고 생각하고 있다. 소명을 갖고 많은 기업에서 진짜 모델이 운영되는 것을 꿈꾸고 있으며, 그런 모델을 설계하는 진짜 모델러가 많아질 수 있도록 노력하고 있다.



지난 회에 이어 데이터 모델러에 대한 소개로 이 연재를 마무리할까 합니다.



예비 모델러에게 하고 싶은 조언

예비 모델러에게 하고 싶은 조언이 있습니다. 진입장벽이 높지만 포기하지 않으면 누구나 될 수 있다는 점입니다. 기회는 우연히 다가옵니다. 그때 준비가 돼 있느냐가 관건입니다. 준비하고 있어야 한다는 게 조언입니다.


조급하게 생각하지 말아야 합니다. 여의치 않다면, 당장 모델러가 되길 바라기보다는 10년 후를 생각하고 준비하라는 것입니다. 10년이 생각만큼 길지 않습니다. 인생 후반기에 모델러를 한다는 생각으로 차근차근 준비하면 좋겠습니다.



기회를 잡아라

모델링 기술을 충분히 익혀 모델링을 할 수 있는 준비가 된 상태에서 어떤 식으로든 기회가 왔을 때는 금전적인 조건을 생각하지 말고 우선 기회를 잡으라고 권하고 싶습니다. 업종을 바꾸는 처지인데도 불구하고 현재보다 더 높은 연봉을 요구하는 경우를 많이 봅니다. 안타까운 경우입니다. 모델러로 안착한다면 연봉은 따라옵니다.


이런 현실적인 이유 때문에 나이가 적을수록 모델러로 전환하기 수월합니다. 모델링 이론을 충분히 익히고, 기회가 왔을 때 금전적인 손해를 감수할 수 있다면 누구나 모델러가 될 수 있습니다. 모델러가 되겠다는 의욕이 있다면 어렵지 않다고 생각합니다.




DAP 자격증 취득

마지막으로 실무적인 조언을 드리겠습니다. DAP(data architecture professional) 자격증을 취득하실 것을 권합니다. 실무 모델링만을 놓고 봤을 때, DAP 자격증이 있다고 모델러로 일할 수 있는 것은 아닙니다. 실무 경험 상 DAP 자격증과 모델링은 연관 관계가 크지 않습니다. 그럼에도 DAP 자격증이 있다는 것은 많은 것을 내포하고 있습니다.


DAP 자격증의 특성 상 모델링 실습이 매우 중요합니다. 이 점이 초보 모델러로 활동할 수 있는 자격을 준다고 볼 수 있습니다. 제 오프라인 강의의 수강생들을 보면, DAP 자격증의 존재 여부에 따라 실력 차이가 크게 납니다. DAP 자격증이 있으면 기본 실력은 된다는 것을 의미합니다.


또 한 가지 중요한 점은, DAP 자격증을 취득하려면 많은 노력이 필요한데요. 이는 노력을 하는 사람인지를 알 수 있는 중요한 증거가 됩니다. 간혹 모델러가 너무 되기 싶어 DAP 자격증 준비를 하는데 노력을 하지 않는 사람을 봅니다. 합격수기를 쓴 사람의 노력보다 두 배를 더 한다고 생각하고 해야 합니다.


이상으로 모델러가 되는 과정에 대한 전반적인 과정을 설명했습니다. 자신의 위치에서 업무를 묵묵히 하면서, 평일 저녁이나 주말에 시간을 내서 모델링 공부를 하는 것이 중요한 과정입니다. 연장된 과정이 DAP 자격증을 취득하는 것이고요. 기회가 왔을 때, 다소간 손해를 감수해야 합니다. 과감한 선택이 필요합니다.


토요일에 도서관에 가고, 일요일에 교회를 가면 인생이 달라진다는 얘기를 자주 합니다. 쉽지만 실천하기 어려운 것이 진리죠. 공부를 열심히 하면 좋은 대학에 간다는 것 같이 실천하기 매우 어려울 수 있습니다. 등산은 한 달에 한 번 가고 나머지는 도서관에서 인생을 설계하는 것이 어떨지요. 모델러가 되는 유의미한 과정이 될 것입니다.



데이터 모델러의 좋은 점과 힘든 점

IT 업계에서 일하면서도 데이터 모델러를 모르는 사람이 대부분입니다. 그래서 데이터 모델러가 되고 싶다는 사람은 매우 소수에 해당합니다. 그래도 막연하게 데이터 모델러가 되고자 하는 분들에게 소개하고 싶은 내용입니다. 아마도 제 개인적인 의견이 가장 강한 내용일 거 같습니다. 제가 데이터 모델러로 일하면서 힘들었던 점은 무엇이고, 좋았던 점은 무엇인지로 이해하시면 좋을 거 같습니다.


먼저 데이터 모델러의 힘든 점부터 설명드리겠습니다. 저에 대한 단점이 노출되기도 하고 모델러를 희망하는 사람들의 의욕을 꺽을 수도 있기 때문에 간단하게 언급하고 싶지만, 많은 힌트를 주기 위해 비교적 자세하게 적겠습니다. 힘들게 전업을 했는데, 예상치 못했던 점을 나중에 알게 되면 안되니까요.


저는 인터뷰와 리뷰가 매우 힘듭니다. 남들 앞에 서는 것을 꺼려하는 개인적인 성향 때문인지 인터뷰와 리뷰가 매우 힘듭니다. 사람들 앞에 나서는 것을 좋아하지 않는 사람, 더 나아가 이걸 극도로 싫어하는 사람은 모델러가 되는 게 적절하지 않을 수 있습니다. 물론 저 같은 사람도 하기 때문에 이런 분들도 재고(再考)는 필요합니다.


인터뷰는 주로 IT 현업을 대상으로 하게 됩니다. 모델링을 할 때마다 초기에 인터뷰를 하게 됩니다. 관리하고 있는 엔터티에 대한 인터뷰이기 때문에 인터뷰할 담당자도 많습니다. 담당자의 성향이 모두 다른 것은 당연합니다. 인터뷰는 진행이 우선이고, 가능한 많은 설명을 들어야 하기 때문에 상대방에게 맞춰야 합니다. 자연스러운 갑을 관계가 형성됩니다.


인터뷰가 힘든 것은 상대방의 성향이 너무나 다르다는 것인데요. 많은 사람을 인터뷰하기 때문에 그 중에 힘들 게 하는 사람이 존재하게 됩니다. 친숙해지면 달라지기도 하지만 초반에는 상대방의 성향이 대체로 공격적이기도 합니다.


인터뷰와 리뷰에 대해서는 상세하게 설명할 기회가 있을 것입니다. 이 글을 통해 인터뷰에 응하는 사람(interviewee)들이 전향적인 자세로 인터뷰에 참여해 주시길 바라겠습니다.



인터뷰와 리뷰, 같으면서도 다른 점

인터뷰와는 다르지만 리뷰 또한 비슷한 이유로 힘듭니다. 리뷰는 모델러가 설계한 모델을 관련자에게 설명하는 것을 말합니다. 관련자 중에는 인터뷰를 진행했던 IT 현업 담당자가 있고, 개발할 담당자가 있습니다.


인터뷰 때는 본인을 추궁하는 것으로 생각해서 소극적으로 대응했던 IT 현업 담당자가 리뷰 때는 상황이 확 바뀝니다. 적극적으로 변하게 된다는 말입니다. 개발이 끝나면 운영해야 할 입장이라 매우 까다롭고 예민하게 리뷰를 합니다.


개발 담당자와의 리뷰 또한 쉽지 않습니다. 모델링에 대한 지식이 없고, 현재 소스를 그대로 사용하고 싶은 개발자와의 리뷰는 더욱 그렇습니다. 간혹 자신의 생업이 도전 받고 있다고 생각하는 개발자를 만나면 매우 힘들어집니다. 이 경우 모델러는 조심해야 합니다.



데이터 모델러는 개발자의 적

IT 현업 담당자나 개발자의 말대로 모델링을 하는 것은 아니지만, 어쨌든 동의를 얻어야 해서 설득이 필요합니다. 협의가 되지 않을 때는 이슈가 되고, 상위 관리자까지 참여해서 최종 결정을 하게 됩니다. 이해 관계가 모두 다른 다양한 관련자(IT 현업 담당자, 수행사 PL, 개발자)가 모두 공감해야 하기 때문에 결과를 도출하는 과정이 어렵습니다.


결국은 이해 관계가 다른 많은 사람을 상대하는 것이 힘든 것입니다. 모델만 보고 얘기하면 좋을 텐데, 그렇지 않습니다. 사람 사는 게 그렇듯 인관 관계나 정치적인 요소가 주도적일 때가 많습니다. 모델러만의 얘기는 아닐 텐데, 많은 사람을 이끌어야 하는 입장이라 더욱 크게 느껴집니다. 모델러로 활동하게 되면 이 부분을 힘들어 할 것이라 예상됩니다.



‘만만한 게 모델러‘

비슷한 얘기인데, 많은 사람을 상대하고 이해 관계가 다르다 보니 누군가의 비난이 따르게 됩니다. 프로젝트 자체가 치열할수록 이런 현상은 심합니다. 모델러는 열 번의 결정을 잘 했어도 한 번의 결정을 잘못하면 소위 동네북이 될 가능성이 높아집니다. 물론 서로 배려하면서 진행되는 프로젝트가 훨씬 더 많습니다.


이상은 모델러로 일하면서 개인적으로 힘들었던 부분입니다. 너무 부정적으로 받아들일 거 같아 이 부분에 대한 긍정적인 면도 말씀드리면요. 모델러로서 어느 정도 인정 받은 후에는 큰 어려움이 없었습니다. 주로 초반에 겪은 어려움입니다. 무엇이든 고비를 넘기면 같은 어려움도 더 이상 어려움이 아니게 되죠.


모델러의 특성 상 모델링해야 하는 업무가 매번 다른 것도 힘든 점일 거 같습니다. 개인적으로는 다른 업무를 설계하는 걸 좋아하는 편인데요. 아마 모델링을 하시면서 겪게 될 어려움일 거라 생각됩니다.



데이터 모델링은 컨설팅

모델링이 컨설팅에 속한다는 점도 어려움일 수 있습니다. 이 부분도 저는 긍정적으로 받아들여서, 오히려 큰 그림을 그리고 이끌어 가는 것에 대한 재미가 있는 편입니다. 제대로 끌고 가기 위해 끊임없이 공부해야 한다고 생각하면서 모델링하고 있습니다.


그럼, 이제부터 좋은 점에 대해 설명하겠습니다. 이 부분은 짧게 언급하겠습니다.



높은 성취감

상위 수준의 설계를 하고, 설계한 것을 사람들에게 설명해 주고 개발을 이끌어 가야 하기 때문에 성취도가 높은 편입니다. 사람들이 잘 따라와서 데이터가 제대로 관리되는 것을 볼 때 느끼는 희열은 보람을 뛰어넘습니다.


모델링이 쉽다는 점이 저에게는 좋은 점입니다. 이 말에 동의하는 사람은 못봤지만, 저는 모델링이 상식적이라서 쉽습니다. 몇 가지 원칙만 따르면 되고, 그 원칙도 당연한 상식이라고 여겨져서 쉽습니다. 물론 매우 어려운 부분을 가끔 만나고, 가끔은 피를 말리는 것 같은 압박감을 받을 때도 있습니다. 전반적으로 쉽다는 얘기입니다.



경험은 나의 힘

경험이 쌓일수록 유리하다는 점도 좋은 점이라고 말하고 싶습니다. 경험이 쌓이고 나이를 먹을수록 유리하게 작용합니다. 시간을 내편으로 만드는 직업이라고 말하고도 싶습니다.


기술 변화가 없다는 점 또한 좋은 점이라고 말하고 싶습니다. 프로그래밍 언어나 DBMS처럼 종류별이나 시대별로 기술 변화가 심하지 않습니다. 사실 관계형 데이터 모델링 이론은 아예 처음부터 기술 변화가 없었습니다. DW나 빅 데이터, DB의 신기술 등 주변 기술 변화만 따라가면 됩니다.


기술 변화가 없다고 해도 기술 습득은 한이 없을 거 같습니다. 개인적으로는 이미 15년 전에 모델링이 자신 있었는데요. 어떠한 요건도 다 설계할 수 있다고 생각했습니다. 하지만 15년이 지난 지금도 연구해야 할 부분이 없지 않습니다. 자신 있다고 할 수 없을 거 같습니다.



데이터 모델러는 진정한 데이터 전문가

모델링은 노동 집약적이지 않다는 점도 좋습니다. 시간이 없어서 모델링을 못했다는 게 없다는 얘기입니다. 짧은 시간에 다른 사람은 할 수 없는 양을 모델링할 수 있습니다. 물론 설계해야 하는 엔터티의 개수가 절대적인 기준이 되긴 합니다.


데이터 모델러를 데이터 전문가로 인정해주는 것 또한 좋은 점입니다. 데이터 전문가 자체가 드물기 때문에 그 분야의 전문가로 인정받으면서 일할 수 있다는 것은 어쨌든 좋은 점입니다.



금전적인 보상

경력이 쌓인다면 다른 분야보다 연봉이 높다는 것도 좋은 점이라고 말하고 싶습니다. 설계를 하는 직업이고 컨설팅에 속해 있으며, 전문가가 많지 않기 때문에 진짜 전문가가 되면 금전적으로도 대접을 받으면서 일 할 수 있습니다. 사실 어떤 분야든 최고 전문가가 되면 연봉이 높을 것입니다.


데이터 모델러의 나쁜 점과 좋은 점을 나름대로 정리해 봤습니다. 개인적인 생각이기 때문에 참고만 하시길 바랍니다. 모델러가 되려고 하는 사람들이 모델러의 장단점을 알면 좋을 거 같아서 언급했지만, 스스로 좋아하면 그만이라 생각합니다. 저 역시 모델링이 좋아서 여기까지 온 것이니까요.



모델러가 하지 말아야 할 것

이전 절이 모델러가 되려고 하는 분에게 해당되는 내용이라면, 이번 절은 모델러로 활용하고 계신 분에게 해당되는 내용일 거 같습니다. 모델러가 하지 말아야 할 것에 대해 간략하게 언급하겠습니다.


모델링 이론을 지키지 않는 등의 설계를 제대로 하지 않는 것에 대해서는 언급할 필요가 없을 거 같습니다. 비정규화의 선봉자가 돼서 정규화를 무시하는 등의 일은 하지 말아야 할 것입니다.


제가 강의할 때마다 강조하는 것은 AS-IS 그대로 설계하는 것은 하지 말아야 한다는 것입니다. 최근 모델링이 대부분 상향식 방법을 사용하기 때문에 생기는 현상인데요. 이미 존재하는 AS-IS 모델에서 바뀌는 부분 없이 거의 그대로 설계하는 것입니다.


물론 속성 표준화는 해야 하기 때문에 컬럼 명은 바뀌게 됩니다. 컬럼 명만 바꿔도 개발 시에 할 일은 많아집니다. 그래서 개발의 부담을 줄이기 위해 모델의 구조는 바꾸는 않는 경우가 많습니다. 이런 정치적인 판단을 해야 하는 프로젝트가 있을 수는 있지만, 대부분 그렇지 않기 때문에 처음부터 AS-IS 모델 구조 그대로 설계하는 것은 하지 말아야 합니다.


AS-IS 모델 구조 그대로 설계하면 모델러로서 할 일이 대폭 감소됩니다. 사실 일이 없는 것입니다. 데이터를 제대로 관리할 수 있는 모델 구조를 설계하는 것이 모델러가 해야 할 가장 중요한 일입니다. 이 일을 하지 않는다는 것은 모델러가 필요 없다는 것을 의미합니다.


AS-IS 모델 구조 그대로 설계하면 인터뷰나 모델 리뷰 등도 매우 수월하게 할 수 있고, 이슈도 없고, 설득할 내용도 없으니 IT 현업 담장자나 개발자와 부딪힐 일도 없게 됩니다. 일이 매우 쉽게 됩니다.


저는 나름의 다양한 경험을 했기 때문에 어떻게 하면 일을 많이 한 것처럼 보이면서 일을 쉽게 할 수 있는지 방법을 알고 있습니다. 간혹 이와 같이 일하는 모델러를 보게 되는데, 이는 양심과 연관된 일입니다. 매우 부끄럽게 여겨야 할 일이고요.


비슷한 얘기인데, 고객이나 개발자가 원하는 대로 설계하는 것도 피해야 합니다. AS-IS 모델 구조를 바꾸더라도 모델링 이론에 근거한 모델러의 의견을 반영한 것이 아닌 고습니다.


전문 모델러라면 다른 사람과의 의견 충돌을 회피하려는 의도에서 그렇게 할 것이고요. 모델링 스킬이 떨어질 때도 생길 수 있는 현상입니다. 당연히 최선의 모델이 되지 않고 잘못된 방향으로 설계될 가능성이 높아집니다.


개발자와 대립하는 것도 모델러가 피해야 할 일입니다. 간혹 모델러는 가르치는 사람이고, 모델러가 설계한 대로만 개발할 것을 바라는 모델러가 있는데요. 당연히 바람직하지 않습니다. 우선 개발자의 입장을 충분히 들어야 하고, 설득을 해서 의견 일치를 이끌어야 합니다.


모델러가 업무를 설계하려고 하는 것도 하지 말아야 할 것 중 하나입니다. 이는 당연히 모델러가 업무를 많이 알고 있을 때 발생합니다. 간혹 모델러가 업무에 대한 조언을 줄 수도 있지만, 이런 조언이 일정한 선을 넘으면 좋지 않습니다. 개발자가 업무를 잘못 이해하고 있으면 설계한 모델에 예제 데이터를 보여주면서 설득해야 합니다.


간혹 모델러가 업무를 설계하는 사람이라고 아는 사람도 있는데요. 일반적이지 않은 상황입니다. 모델러는 업무 자체를 설계하는 사람이 아니고 설계된 업무에 필요한 데이터를 설계하는 사람입니다. 전문 모델러로 한정한다면 더욱 그렇습니다.



당부의 말: 사명감

이제 이번 강의를 마무리할 시간입니다. 모델러에게 강조하고 싶은 것은 두 가지입니다.


이미 입신(立身)의 경지에 올랐지만 정석을 공부하며, 끊임 없이 묘수를 연구하는 프로기사처럼 모든 모델러가 기본을 중시하고 더 좋은 모델을 연구하는 프로 모델러를 목표로 했으면 좋겠습니다. 모델러가 됐다고 그만인 게 아니라 그때부터 진정으로 시작이 됐으면 좋겠습니다.


그리고 사명감을 다시 강조하고 싶습니다. 데이터 모델러는 DB와 관련된 최전선에서 일하는 사람입니다. 모델러가 무너지면 데이터 모델이 어디로 가는지를 생각해 보시길 바랍니다. 투철한 사명감을 가지고 모델러의 본분에 임했으면 하는 바람입니다.


데이터 업계에도 전하고 싶은 말이 있습니다. 데이터 자체를 제대로 관리하는 기반인 데이터 모델에 신경을 쓰는 분위기가 생겼으면 좋겠습니다. 기초가 중요함은 백번을 강조해서 지나치지 않습니다. 잘못된 데이터를 활용하는 것은 의미가 없습니다.


구축 사업에서 데이터는 분리 발주해야 한다고 생각합니다. 양질의 데이터를 확보하기 위해서 데이터 영역은 전문 업체에게 맡겨야 합니다. 그래야 좋은 데이터 모델을 사용할 수 있습니다. 좋은 데이터 모델이어야 좋은 데이터를 보관할 수 있습니다. 그래야 빅데이터 등에서 활용할 때 진정한 파괴력을 가지게 됩니다.


품질이 떨어지는 매우 많은 데이터는 낭비 자체입니다. 겉모습에 치중하기보다 내면에 치중해야 하듯이 결과만 양상되는 잘못된 활용에 치중하기 보다 좋은 데이터를 생성하는 기본에 충실해야 한다고 생각합니다.


관련 업체나 기관들이, 특히 구축 수행 업체들이 데이터 모델에 신경써서 전문 업체를 활용하는 것이 중요합니다. 아직은 역부족이지만, 데이터의 중요성을 인식하고 데이터 본질에 충실하기 위해 데이터 분리 발주가 법으로 지정됐으면 하는 생각입니다.


마지막으로 유명한 사진 한 장 첨부했습니다. 휠체어를 탄 사람은 조치훈 9단입니다. 대국 10일 전에 전치 25주의 교통사고를 당했지만, 수읽기를 할 수 있는 머리와 바둑 돌을 놓을 수 있는 오른손이 문제가 없다면서 대국을 강행했습니다. "목숨을 걸고 둔다"는 평소의 인생관을 그대로 보여주는 장면입니다. 그 당시 현장의 충격을 느껴보세요.


column_img_153.jpg
△ 1986년 일본 기성전 1국 장면




조치훈 명인과 같은 정신력으로 모델링을 하는 모델러가 많아졌으면 좋겠습니다. 저 역시 사명감을 가지고 좋은 시스템을 만들어 국가 경쟁력을 높이는 데 조금이라도 이바지할 수 있도록 노력하겠습니다.



연재를 마치며

이상으로 이번 칼럼(김기창의 데이터 모델링 강의)의 연재를 마무리하겠습니다. 강의(신영복, 돌베개) 책에서 영감을 얻어 몇 년 전부터 써보고 싶었던 칼럼이어서 재미있게 썼습니다. 모든 일이 그렇듯 아쉬운 부분이 없진 않지만 만족합니다. 많은 독자분들이 응원해 주신 덕분입니다. 처음에 바랐듯이 명강의가 됐다면 더욱 의미가 있을 거 같습니다.


2017년 7월부터 칼럼을 쓰기 시작했으니 1년이 훌쩍 지났습니다. 개인적으로 그동안 많은 일이 있었습니다. 데이터 모델링 전문 기업인 위즈덤마인드 주식회사를 만들었습니다. 선의의 목적을 가지고 시작했고, 많은 분들이 도와주고 있습니다. 모든 것을 준비해 주신 하나님께 감사드립니다.


사업도 그렇고, 출판이나 오프라인 강의도 활발히 할 생각입니다. 모델링을 보급해서 좋은 시스템을 만드는 데 일조하고 싶습니다. 기회가 된다면 못다한 이야기들로 구성해서 다시 찾아뵙게 되길 바라겠습니다.


끝으로 제 연재를 총괄해주신 박세영 글봄크리에이티브 대표께 감사드립니다. 꼼꼼하게 지도해 주셔서 감사하고, 무엇보다 좋은 인연으로 만남을 지속하고 있다는 것에 감사합니다. 수고하셨습니다. (끝)