대부분의 사람들이 데이터베이스 시스템은 한 기업의 심장과도 같은 역할을 수행할 만큼 중요하다고 대부분의 사람들은 생각한다. 하지만 정작 데이터베이스 시스템을 얼마나 잘 사용하고 있는가를 따져보면 골격과도 같은 데이터 설계가 제대로 이뤄져 있지 않아 낙제점수를 면하기 힘들다. 데이터베이스 컨설팅 전문 업체인 엔코아정보컨설팅의 이화식 사장은 “데이터 설계가 제대로 이뤄져 있지 않은 경우 시스템을 재구축하지 않는 이상 근본적인 문제 해결은 불가능하다. 설계는 건물의 골격이기 때문에 골격이 바뀐다는 것은 굳이 돈으로 따지지 않더라도 ‘큰일 난다’는 사실을 누구나 상식적으로 생각할 수 있다. 하지만 데이터 모델링 전문인력을 찾아보기 힘든 점과 기업 또한 설계에 대한 중요성을 인식하지 못해 악순환은 되풀이되고 있다”고 말한다. 현재 은행권 계정계의 경우 메인프레임 기반에서 유닉스와 같은 개방형 시스템으로 바꾸지 못하는 원인 중 하나가 바로 잘못된 데이터 설계 구조다. 또한 우리은행의 경우 데이터 구조 설계를 리뷰하다가 심각성이 드러나 480억원 규모의 유지보수 비용이 들었다. KTF도 암닥스의 빌링소프트웨어로 과도한 데이터 적재가 심각한 수준에 이르고 있지만 두손두발 다 놓고 있는 상황이다. 다른 곳도 시스템 재구축을 못하고 있는 상황이라 프로그램을 통한 코딩으로 해결하는 것이 대부분이다. 국내 공공기관을 비롯해 각 기업들은 전산시스템 구축을 위해 억대의 돈을 쏟아 부었지만 제대로 된 데이터 설계가 뒷받침되지 않아 문제가 발생하고 있는 것이다.대형 SI, 데이터 모델링 ‘문제 있다’지난 1956년 계층형 데이터베이스가 들어와 사용된 이후 관계형 데이터베이스로 넘어오면서 RDB가 실제 사용되기 시작한 것은 8년 전이다. 한해 평균 데이터 설계 작업은 1400건 이상으로 이중 대형 SI업체인 삼성 SDS와 LG-CNS가 각각 400건 이상의 프로젝트를 진행하고 있어 전체의 60% 이상을 차지하고 있다. 일반적으로 데이터 모델링과 설계 작업은 고객의 요구사항 분석부터 시작해 데이터 모델링, 설계, 개발, 구축 단계 순으로 진행된다. 즉, 고객의 요구사항 분석을 담은 ERD(Entity Relationship Diagram)란 산출물이 나와야 하며, DB 오브젝트를 생성하기 이전의 스크립트 파일인 테이블 레이아웃이 나오고, 프로그래밍 작업이 이뤄진다. 그리고 구축 단계에 가면 데이터베이스 용량(파라미터)을 산출해 그것을 실질적으로 만드는 작업이 이뤄진다. 하지만 실제 현업에서 진행되는 속사정은 그렇지 않다. 우선 데이터 설계시 필수적으로 수반되어야 하는 현업 업무에 대한 이해가 배제되고 ER 다이어그램이 형식적인 작업 수준에 그치고 있다.삼성 SDS에서 데이터 모델링을 진행하는 한 관계자는 “요구사항이 모아져 분석이 되면 산출물이 나오지만 해당 프로젝트의 업무를 이해하지 못해 요구사항 분석은 산출물을 내기 위한 수준에 머물러 있는 게 사실이다. 예를 들어 은행 프로젝트를 진행할 때 구체적인 은행 업무를 이해하지 못한다는 것이다. 이에 ERD의 중요성은 모른 채 산출물을 내야 한다는 목적을 수행하기 위해 작업도 형식적인 수준에 머무를 수밖에 없다”라고 말한다. 실제 ERD를 기반으로 프로그램 작업까지 이어지기 때문에 차후 시스템의 치명적인 결함의 시작은 여기부터라고 볼 수 있다. 특히 데이터베이스 구축 작업이 마무리된 후 남겨진 산출물을 통해 데이터베이스 관리자는 자사의 데이터베이스가 어떻게 설계되어 있는지를 알 수 있으며, 이를 기반으로 운용하기 때문에 가장 중요한 작업임에도 중요성을 인식하지 못하고 있다. 이는 한 회사의 문제가 아니며 여타 다른 SI 업체도 상황은 마찬가지다.또한 계층형 DB에 대한 잔재에 따른 문제점도 한몫하고 있다. LG-CNS 아키텍처팀의 한 관계자는 “과거 계층형 DB에서 검증이 됐던 모델링 기법을 관계형 DB 설계시 적용함으로써 최대한 리스크를 줄여나가는 경우도 있다”고 말해 데이터베이스 설계에 심각한 문제가 있음을 드러냈다. 데이터베이스 설계에 대한 인식이 늘 해오던 관행대로 사후 애플리케이션 로직의 프로그램에서 막으면 되는 것으로 인식돼 처리되고 있음을 극명하게 보여주는 것이다.또한 대형 SI 업체에서 프로젝트를 수주하기 위한 무리한 개발기간 책정과 계약 금액이 적을 경우 프로젝트에 전문 인력이 참여하지 않게 되는 것도 발목을 잡는 요인으로 작용하고 있다. 삼성 SDS와 LG-CNS 모두 협력업체의 인력 지원 비율은 평균 60% 이상에서 많게는 80%에 이르고 있다. 연간 1만명이 넘는 인원이 프로젝트에 참여하는 셈이다. 삼성 SDS의 관계자는 “실제 60% 이상인 협력업체 지원 비율이 적어지면 프로젝트의 성공 가능성은 높아진다. 하지만 SI 업체 입장에서는 자사의 인력 보충이 더 많은 지출을 가져와 이익이 안 되기에 실현은 불가능하다”고 말한다. 국내 SI 업체의 경우 개발 기간이 지체되면 지체 비용 금액이 고객사에게 들어가게 되어 있어 그 기간을 맞추기 위해 안간힘을 쓸 수밖에 없는 상황이다. 하지만 정작 정해진 기간에 프로젝트를 마무리해 시스템이 원활히 돌아가는 경우는 거의 없다. 이는 고객 요구사항을 데이터 모델링 작업에 담지 못해 추가 개발이 반복되는 경우가 많기 때문이다. 또한 이런 경우 시스템 최적화 작업은 대부분 컨설팅 업체에게 넘어가게 된다. 엔코아 정보 컨설팅에서 마케팅을 담당하는 고재형 팀장은 “실제 SI업체에서 최적화 작업을 하지 못해 우리가 참여하는 경우가 많다. 하지만 우리가 참여해 시스템은 원활하게 돌아갈지 몰라도 이때는 이미 성형수술을 가하지 않으면 원천적인 회복은 불가능한 상태”라고 말했다. DB 설계 전문인력 어디로 갔나?데이터 모델링과 설계는 경험과 종합적인 지식이 요구되는 만큼 어려운 분야이기에 전문 인력은 많지 않은 상황이다. LG-CNS의 관계자는 “프로젝트를 진행하는데 데이터 모델에 대한 개념이 없는 사람이 많다. 협력업체와 함께 프로젝트를 수행하면서 모델링 교육을 필수적으로 실시하지만 단번에 나아질 수 있는 부분이 결코 아니기에 어려움이 있다”고 토로한다. 특히 협력업체 인력의 50%가 관계형 DB의 내부 구조를 제대로 이해하고 있지 않은 사람이며 또는 실제 사용해 본 경험이 없다라는 보고에 대해 삼성 SDS와 LG-CNS의 관계자는 “신빙성이 느껴진다”고 답했으며, “더구나 SQL도 제대로 모르는 사람도 있다”고 덧붙인다.이와 함께 전문인력이 부재한 상황에 데이터 설계시 정확한 피드백을 해줄 수 있는 사람이 없다는 점에서 설계가 잘 이뤄졌는지 평가조차 되지 않아 많은 설계자가 자신을 데이터 설계 전문가로 오해하는 경우가 많은 것도 문제로 지적되고 있다. 특히 최초 설계에 대한 피드백이 그 시점에서 이뤄지는 것이 아니고 차후 시스템 성능에서 문제가 발생하면서 원인 분석을 통해 설계가 문제가 드러나기 때문에 이런 위험성은 상당 기간 잠재될 수밖에 없다. 엔코아 정보 컨설팅의 이화식 사장은 “데이터 모델링은 개인별로 차이가 발생할 수 있는 영역으로 제대로 수행했는가의 여부를 판단할 수 있는 잣대는 왜 이렇게 했다는 근거가 확실한가란 조항뿐이다. 자신이 데이터 모델링 전문가라고 생각하는 사람에게 그 근거가 확실한가를 물어보면 아무 말도 하지 못하는 경우가 많다”라고 지적한다.지금도 잘못된 DB 설계는 계속 진행된다지난 6월 본지 데이터베이스 세미나에 참석자 중 데이터베이스 개발자와 프리챌 커뮤니티인 ‘데이터모델링 & DB설계’ 회원 등 총 50명을 대상으로 실시한 설문조사에서 “국내 업체의 데이터베이스 시스템 설계와 모델링이 잘 되어 있다고 보는가”란 질문에 76%가 ‘잘 되어 있지 않다’라고 답변했다. 특히 “데이터베이스 설계시 ERD를 통한 작업이 이뤄지지 않는 이유가 개발기간이 짦은 것이 주 원인이라고 생각하느냐”란 질문에 32%가 동의했으며, 동의하지 않은 사람들의 대부분은 “툴을 통한 ERD를 진행하는 경우는 많아졌지만 ERD가 형식적인 작업에 지나지 않는 것이 문제라고 지적했다. 특히 “자사의 데이터베이스 시스템 설계가 어떤 데이터로 어떻게 설계되어 있는지 자세히 알고 있는가”를 묻는 질문에 ‘자세히 모른다’가 72%로 가장 많았으며, ‘아예 모른다’도 12%로 산출물이 제대로 작성되어 있지 않거나 데이터베이스 시스템을 운용하는 입장에서 중요하게 인식하지 않는 것으로 드러났다. 특히 “설계로 인한 문제 해결의 실마리를 어디서 찾아야 한다고 보는가”란 질문에 “근본적인 해결은 불가능하다”란 답변이 가장 많았으며 “시스템의 심각한 문제로 인해 발생할 비용을 따졌을 때 전문 컨설팅 회사에 의뢰해야 한다”는 의견이 뒤를 이었다. 중소기업의 경우 데이터베이스 전문가가 별도로 있는 것이 아닌 프로그래머가 설계자와 관리자 역할까지 수행하기 때문에 이러한 DB 설계 문제는 더욱 심각한 상황이다. 하지만 지금도 잘못된 데이터 설계는 이뤄지고 있으며, 유지보수 비용을 마련하기 위해 뛰어다니고 있다. 각 기업에서 데이터 설계의 중요성을 인식하는 것이 급선무이며, 데이터 관리팀이 기업 내에 새로운 전문인력으로 부각되어 데이터 아키텍트가 배출될 수 있는 환경을 만들어 가는 것이 시급한 실정이다.@