데이터 웨어하우스에는 두 명의 아버지가 있다

DW의 아버지라고 불리는 빌 인먼과 랄프 킴벌을 소개합니다

by 데이터 로맨티스트
DW에서의 데이터 흐름

자기 소유의 집일 수도 있고, 전세일 수도 있습니다. 그것도 아니면 월세일 수도 있겠지만 어찌 되었든 모두가 집에서 삽니다. 데이터도 역시 집이 있습니다. 이 집이 처음에는 그냥 창고였다가 공장의 역할로 달라지긴 했는데 근래에는 정말로 집이 되어 갑니다. 왜냐하면 이것저것 좋은 기능과 공간이 더해지면서 이젠 좀 아기자기하거든요. 데이터 웨어하우스(DW)로 불리는 이 집 안에서 데이터는 대파처럼 다듬어지고 감자처럼 손질되다가 비즈니스 사용자의 주문에 맞게 소스가 뿌려집니다.


밖으로부터 집(DW)으로 들어온 데이터는 그 출처가 다양하고 생김새도 제각각입니다. 이 데이터를 목적에 맞게 활용하려면 그 구조를 이해하고 있어야 합니다. 데이터는 그 유형을 정형, 반정형, 비정형으로 나눕니다. 정형 데이터는 수집하기 전에 미리 구조를 확인하는 것이 가능합니다. 주로 데이터베이스에서 관리되고 엄격한 구조 규칙을 따릅니다. 반정형 데이터는 대개 소스를 직접 눈으로 봐야 그 구조를 제대로 알 수 있습니다. HTML, JSON, 웹로그 등이 반정형에 포함됩니다. 마지막으로 비정형 데이터는 그 구조를 봐도 잘 모릅니다. 음성, 영상, 텍스트처럼 구조가 정해지지 않은 것이 비정형 데이터입니다. 어쨌거나 생긴 건 달라도 모두가 소중한 아이들입니다.


여러 경로를 통해 들어온 데이터는 중앙화의 과정을 거칩니다. 빠뜨리지 않고 한가운데 데이터를 모은 후에 같은 것과 다른 것을 나누고 서로 간의 관계를 정의합니다. 여기에서 중앙화는 데이터를 꽉 쥐고 통제를 하려고 보관한다는 의미가 아니라 빠뜨리지 않고 모든 데이터를 모아 쓸모 있도록 다룬다는 것으로 이해하시면 더 좋습니다. 어떤 가정의 아내가 가계부를 꼼꼼하게 쓰는데 남편의 숨겨진 신용카드 청구금액이 있다는 것을 갑자기 알게 되면 자금관리가 어렵게 되겠죠? 관리되지 않는 데이터가 적으면 적을수록 좋습니다.

그리고 중앙화를 하면 일반적으로는 연결되기가 어려울 수 있는 데이터들의 관계가 만들어지게 됩니다. 서로 떨어져 있을 듯한 재고, 유통, 판매, 마케팅 데이터가 한 자리에 모인다면 굵고 중요한 데이터의 흐름을 볼 수 있게 되는데 이런 정보는 기업 안의 많은 분들에게 큰 도움을 줄 수 있습니다.


분류와 분배가 잘 되어 있는 약재 데이터

한가운데 모인 데이터를 냉장고에 분류해서 보관하듯이 잘 저장했다면 이제는 요리를 해야 하겠죠. 데이터 개발자는 비즈니스 사용자가 요청한 정보를 쉽게 가져갈 수 있도록 분배를 합니다. 사용자가 기대하는 정보를 전달하는 것은 즐거운 일이 될 수 있습니다. 단, 그가 원하는 정보를 전달할 만반의 준비가 되어 있을 때 그러하겠죠. 요즘과는 좀 다른 옛날 한의원에 가 보신 적이 있나요? 수많은 약재들이 종류만큼 다양하고 작게 분류된 서랍 속에 분배되어 있고 그 앞에서 한의사가 마치 약재 인솔자인 마냥 중후한 표정으로 손님을 맞이합니다. 그 한의사는 각각의 약재가 어떤 병을 가진 환자에게 언제 얼마만큼 필요한지를 정확히 알고 있습니다. 그래서 그분은 여유롭습니다.

사용자를 위한 정보가 무엇인지는 어떻게 알 수가 있을까요? 사용자를 만족시키려면 데이터를 어떻게 분배를 할지를 알아야 하고, 어떤 사람이 얼마만큼의 빈도로 데이터를 필요로 하는지 알 수 있어야 합니다. 사용자가 바라는 것이 무엇인지에 대한 이해가 충분하다고 생각되었을 때 데이터 모델러는 설계를 시작합니다. 그 작업은 일종의 인테리어 설계와 유사합니다. 다양한 직무의 사람들이 옳은 결정을 위해 지원받기를 원하는 유용한 정보의 조각들을 한데 모아서 하나의 구조를 만드는 일입니다. 여기까지 되었다면 이제 남아있는 것은 성능과 사용자 표현 부분이 되겠습니다.



관점의 분화


지금까지는 데이터웨어하우스 안에서 데이터가 흘러가는 모습을 이야기했습니다. 이 흐름이 가능하도록 데이터 저장 구조를 설계하는 역할을 데이터 모델러가 하게 됩니다. 그리고 여기에서 데이터 모델러는 꼭 필요한 선택을 한 가지 해야 합니다. 그것은 유입되는 데이터를 중심으로 설계를 할 것인가, 아니면 고객의 요청을 중심으로 설계할 것인가입니다.

스티브 잡스는 “우리의 일은 고객이 욕구를 느끼기 전에 그들이 무엇을 원할 것인가를 파악하는 것이다. 사람들은 직접 보여주기 전까지 무엇을 원하는지 모른다.”라고 말했습니다. 이런 의견과 같지는 않겠지만 애플과 비슷한 고객 관점을 가진 기업에서 데이터 모델러가 하게 되는 역할은 유입되는 데이터를 집중해서 분석하고 사용자들이 중요하게 대해야 할 정보와 지식들을 체계적으로 준비할 수 있는 구조를 만드는 것입니다. 이와 반대로 어떤 기업은 "대표부터 인턴까지, 전 직원이 고객상담에 참여해라!"라는 슬로건으로 고객중심의 경영을 지향합니다. 고객이 무슨 얘기를 하든 작은 것이라도 귀담아듣고 요구사항을 내재화하여 고객에게 서비스로 돌려주는 방식입니다. 이런 경우라면 데이터 모델러는 안정적이고 튼튼한 설계에 힘쓰기보다는 유연하고 신속한 대응이 가능하도록 그 스키마 구조를 만들어야 합니다.


홈씨어터가 전달하는 데이터, 영상과 음향

예를 하나 들어보겠습니다. 저를 영화를 엄청 사랑하는 영화 마니아라고 가정하겠습니다. 좋아하는 영화를 될 수 있으면 방해를 받지 않고 집에서 조용하게 즐기겠다고 마음먹었다면 집안 거실에 멋들어진 홈시어터 시스템을 만들고 싶을 것입니다. 저녁 8시 푹신한 소파에 앉아서 맥주 한 캔을 들고 스릴러 영화를 즐기는 것을 상상하면 너무 좋습니다. 우퍼, 스피커, 앰프 등의 음향장비와 TV, 프로젝터와 같은 영상장비를 조화롭게 배치해서 우리는 영화를 최적의 상태에서 즐길 수 있습니다.

여기에서 집안의 공간구조, 홈시어터를 구성하는 장비들은 데이터 웨어하우스 구축에 있어서 IT 인프라와 닮았습니다. 그리고 각각의 장비들을 어디에 위치시킬지를 고민하고 설계하는 것은 데이터 모델러의 스키마 모델링 역할과 같습니다. 최적의 음질을 전달하기 위해 소리가 가는 길을 정하고 소리들의 교차점을 정하는 것이 홈시어터 시스템을 구성하는 분의 역할이라면 데이터 모델러는 정보 가치가 높은 데이터가 지나가는 길을 만들고 고객이 쉽게 찾아갈 수 있도록 마크를 합니다. 이 마크는 테이블이라고 불리는 정형적 데이터 저장 영역입니다. 그런 후에 모델러는 이제 고객이 자주는 아니고 가끔, 하지만 꼭 필요한 정보를 가져갈 수 있는 곳도 꼼꼼히 신경 씁니다. 이렇게 하나의 시스템은 완성됩니다.


이번에는 다른 상황을 상상해 보겠습니다. 이제 갓 3살이 된 남자아이를 돌보는 아빠가 있습니다. 아이는 매우 활동적인 편이고 이 아이가 원하는 것은 끊기지 않는 재미입니다. 그리고 아이가 아빠의 돌봄에 만족하지 못한다면 아내의 따가운 잔소리가 아빠의 가슴에 파고들 수 있습니다. 누가 봐도 분명하게 아이는 아빠의 고객입니다.

조금 전의 홈시어터 시스템에서 흐름의 주체인 데이터가 소리라면 이번에는 그 주체가 아이에게 재미와 즐거움을 줄 수 있는 무엇(?)입니다. 아빠는 아이에게 재미를 줄 수 있는 장난감 아이템을 거실, 작은방, 주방등 적재적소에 배치합니다. 그런 다음 어떤 놀이가 아이의 웃음을 멈추지 않도록 해 줄지 고민하고 준비합니다. 여기에서 만족감이라는 시점에서 봤을 때 홈시어터와 아이 돌보기는 다른 점이 있습니다. 홈씨어터는 어제 세팅한 스피커 배치가 오늘도 여전히 만족을 주겠지만 아이는 그렇지 않습니다. 어제 재미있었던 놀이가 오늘은 더 이상 그렇지 않고 시시한 취급을 받을 수 있습니다. 어제는 좋았던 아이의 기분이 오늘은 그렇지 않을 수 있습니다. 아이의 만족감을 만드는 원천은 언제든 변합니다. 아빠에게는 참 끔찍한 일입니다.



두 아버지


빌 인먼(Bill Inmon)은 1945년에 미국 캘리포니아에서 태어났습니다. 그는 데이터 웨어하우징에 관하여 첫 번째 책을 썼고, 첫 번째 콘퍼런스를 열었으며, 첫 번째 강의를 한 사람입니다. 그리고 데이터 웨어하우징의 정의를 가장 처음으로 했습니다. 그가 정의한 DW는 아래와 같습니다.

“데이터 웨어하우스란 관리자의 의사 결정을 지원하기 위해 주제 지향적이고 비휘발성이며 통합된, 시간에 따라 달라지는 데이터의 묶음이다”

그는 DW의 기본이 되는 개념으로 기업정보공장(Corporate Information Factory) 아키텍처를 만들었습니다. 이 개념에서 DW는 정보라는 제품을 생산하는 공장처럼 운영되고 데이터는 그 원자재로 쓰이게 됩니다. 일반 공장이 그러한 것처럼 빌 인먼의 공장도 명확한 역할을 각자 담당하는 구성요소들을 가집니다. 그 요소들은 애플리케이션, 통합/변환 계층, 운영 데이터 저장소, 데이터웨어하우스, 데이터마트 등으로 구성됩니다. 각 요소는 데이터를 전사적으로 통합한 다음 데이터 마이닝, 통계, BI Analytics 서비스 등에 제공하게 됩니다. 빌 인먼의 설계는 들어오는 데이터에 더 집중합니다. 데이터가 처음 들어오고 웨어하우스에 안착하기까지 진행하는 프로세스는 매우 유연하며 데이터 중복을 최소화합니다. 그리고 데이터를 하나의 저장 영역에 통합해서 관리한다는 것을 보장받습니다. 이런 면을 봤을 때 빌의 설계 방식은 홈시어터 시스템을 구축하는 것과 많이 닮았습니다.


랄프 킴벌(Ralph Kimball)은 1944년 생이며 데이터웨어 하우징 및 비즈니스 인텔리전스 주제에 관한 대가입니다. 그는 데이터 웨어하우징의 원조 설계자 중 한 명이며 데이터 웨어하우스는 이해하기 쉽고 빠르도록 설계되어야 한다는 자신의 신념을 열심히 퍼뜨리고 있습니다. 차원 모델링 또는 킴벌 방법론으로도 알려진 그의 방법론은 의사 결정 지원 분야에서 사실상의 표준이 되었습니다. 그는 웨어하우스 설계를 하기 위해 첫 번째 해야 할 일을 비즈니스 프로세스의 선정이라고 말합니다. 고객의 어떤 행동을 분석대상으로 정할지를 의미하는데요. 그래서 랄프 킴벌의 방식으로 DW를 만들 때에는 최초 계획을 수립하는 행위를 제외하면 가장 먼저 하게 되는 것은 현업 담당자와 인터뷰를 하는 것입니다. 고객의 목표는 무엇이고, 그것을 위해 어떻게 잘하고 있는지, 직면하고 있는 문제가 무엇인지 등과 같은 주제를 가장 많이 고민해보았을 대상과 충분한 시간을 들여 대화를 하면서 모델러가 분석해야 할 프로세스를 식별합니다. 이 킴벌 방식은 위에서 예로 들은 3살 아이의 아빠가 처한 상황과 꽤 비슷한 상황에서 활용되지 않을까 싶습니다.


위에 소개한 두 분, 데이터 웨어하우징의 아버지인 빌 인먼과 랄프 킴벌은 모두 데이터 분석 설계 분야의 발전에 독보적인 업적을 쌓았습니다. 신기한 것은 두 분이 서로 지극히 다른 관점과 철학을 바탕으로 데이터 웨어하우징 이론을 정립했고 지금의 위치에 있다는 것입니다. 이것을 보면 데이터 주도 분석 방식과 고객 주도 분석 방식 둘 다 특정한 시기에 영향을 받지 않는 본질가치를 가지고 있었나 봅니다.

빌 인먼은 조금은 과묵하지만 묵묵히 가정을 지키면서 한 발 더 앞선 미래를 위해서 거시적인 데이터 하우스를 만들어 간다고 본다면, 랄프 킴벌은 더 활동적이고 적극적으로 고객의 마음을 살피고 이야기하고 공감하면서 화목한 가정을 꾸리는 ‘엄마 같은’ 아버지의 역할이지 않을까요?

제멋대로의 상상을 한번 해 봅니다.





keyword