본문 바로가기

2-minutes lecture

(5분 만에 이해하는 IT 용어) EDW

 

기술용어도 왜, 어떻게 시작된 건지 등 인문학적 방식으로 접근하면 나중에 기술적으로 접근할 때 많은 도움이 됩니다.

 

IT 경험이 없는 회사직원들과 진행할 스터디를 준비하는 사전작업으로 작성한 문서이므로 기술적인 측면이나, EDW를 사용하기 위한 프로그램 사용법은 이 글에서 다루지 않습니다. 맨 마지막에 간단하게 제가 추전하는 방법을 적긴 했지반 관련 기술은 따로 긴 시간을 투자해서 시험공부 하듯이 배우는 방법 밖에 없습니다.

 

방정식 푸는 게 중요한 게 아니라 왜 방정식이라는 게 중요한 지, 이걸 어떻게 어디에 써먹는 지를 먼저 아는 것과 비슷합니다.

 


 

#1

몇 년전 디지털데일리 기사 내용 중 일부입니다. 겨우 한 줄인데도 수없이 많은 전문용어들이 난무합니다.

그 중 오늘의 주제인 EDW가 보이네요.

요새 빠지지 않는 빅데이터라는 것과는 다르다는 것과 E를 뺀 DW의 하위 개념이라는 걸 유추할 수 있습니다.

그리고 기존에 있는 2개의 시스템(빅데이터, EDW)을 동시에 사용하려면 프로젝트까지 해야한다는 것도 유추할 수 있네요.

#2

EDW는 아래와 같이 3개 단어가 합쳐진 합성어입니다. 

회사의 데이터를 창고에 쌓는 거네요.

 

#3

여기서 가장 중요한 단어는 Warehouse 입니다. 

Data가 아니고 Warehouse 입니다. 왜냐하면 EDW는 이미 회사전체(Enterprise)에 Data는 가득 있는 상태인데, 이를 효율적으로 사용하기 위해 창고에 잘 쌓는 개념이기 때문입니다.

 

#4

창고는 장사가 잘 되고, 매장이 크고, 물건을 쌓아둘만한 정도의 사업은 되야 따로 돈들여 임대를 하거나 짓는 건물입니다.

즉, 어느 정도의 회사와 데이터 규모가 있는 곳에서 필요한 게 EDW 입니다.

은행도 사업초기 수신(예적금)과 여신(대출) 비즈니스 정도만 있던 시절엔 필요치 않은 개념이었습니다.

이 때는 데이터(자료)가 필요하면 전산실(또는 IT관계사) 직원에게 요청하면 됩니다. (잘 알겠지만 데이터산출은 시간이 걸립니다. 최소 2~3일)

#5 

이렇게 2개의 사업영역만 있는 경우 보고서를 하나 작성한다고 가정하겠습니다.

VVVVIP 고객 몇 명의 수신과 여신 잔고를 매일 보고하려면 수신 자료 뽑고 여신 자료 뽑아서 액셀로 옮기고 같은 고객인 지 확인해서 아래와 같은 보고서를 만들어야 합니다.

이 과정에서 동명이인을 구분하지 못하거나 한두 줄, 또는 숫자 일부를 누락하거나 할 위험이 있습니다.

 

#6

문제는 이 같은 보고서는 모든 부서가 모두 필요로 합니다. 전략기획부, 마케팅부, 영업부, 하물며 인사부도 비슷하지만 조금씩 다른 보고서를 끝없이 작성해야 합니다.

#7

이런 경우 앞서 말했던 누락할 위험 뿐만 아니라 또 다른 문제가 생길 수 있습니다.

예상한 분도 있겠지만 데이터가 맞질 않는 경우가 발생할 수 있습니다. 정합성의 문제라고 보통 얘기합니다.

왜냐하면 각 부서별로 담당자가 모두 같은 데이터의 원천(테이블)을 보지 않기 때문입니다.

전략부 직원이 자료를 산출하기 전 다른 부서에 연락해서 이렇게 뽑은 데이터가 있는 지 일일히 확인하지 않는다면 조금만 복잡한 기준이 더해지는 경우 100% 다른 결과가 나오게 됩니다. 

 

 

#8

거기다 은행의 사업영역은 외환, 투자상품, 비대면 등 점점 넓어지고 복잡해지고 있습니다. 

이처럼 끝없이 늘어나는 공급자(투자, 수신, 외환,...)와 수요자(인사부, 전략부,...)를 전사적(Enterprise) 관점에서 보면 또다른 위험요소가 보입니다.

잘못된 보고서와 같은 최종 산출물의 정합성 문제뿐만 아니라 각 부서별로 비슷한 일을 반복적으로 비효율적으로 하고, 데이터가 다를 때 이에 대한 검증을 위한 사후작업에 리소스를 투자하는 것도 고려할 위험요소라 할 수 있습니다.

그리고 모든 사용자들이 각 시스템에 접근하기 위한 계정과 암호를 관리해야 합니다.

화살표 복붙하기도 힘드네요.

#9

그래서 나온 개념이 Warehouse 입니다.

가게 이곳 저곳(Enterprise)에 있는 물건(Data)을 복제해서 창고(Warehouse)에 넣어두고 필요한 사람들이 사용하게 하는 겁니다.

 

 

#10

EDW 특징을 정리하면 다음과 같습니다.

  • 일반적으로 전일자 데이터를 쌓아 둡니다.
  • 보통은 일별로 적재하지만, 월별로 쌓는 경우도 있습니다. 그래서 EDW 데이터에는 연월일 칼럼이 항상 있습니다.
  • 업무용 데이터를 모두 복사하는 게 아니라 주요 데이터만 가져옵니다. 사용될 일도 없는데 모든 데이터를 복사해서 저장공간 등 자원을 낭비할 필요가 없기 때문입니다.
  • 사용자(전략부, 마케팅부 직원 등)는 EDW에만 접근하고, 실제 업무용 데이터에 바로 접근하지 않아 EDW 계정만 알면 됩니다.
  • EDW를 사용해도 부서별 결과가 달라지는 상황은 발생합니다. 상대적으로 적어질 뿐.

 

#11

2000년 초반부터 은행뿐만 아니라 국내회사들은 앞다투어 EDW 를 구축했습니다.

앞장들에서도 언급했지만 데이터의 효율적 관리측면 뿐만 아니라 안정성, 수도 없이 산출해야 하는 자료대응 등이 그 목적이었습니다.

https://www.cubeserv.com/ 에서 인용

 

 

수출입은행 차세대 시스템, bikorea.net, 2014.11

 

#12

EDW 가 발전하면서 조금 더 기능이 세분화 되고 있습니다.

EDW 라는 시스템은 기본적으로 앞에서 언급했듯이 야간에 원본 데이터를 EDW로 전송하게 되므로 하루 정도의 딜레이가 있습니다. 즉, 전일자 기준의 데이터를 조회하게 되는 것입니다.

이렇게 하루 전날 데이터를 사용하는 분석용인 EDW 영역을 ADW라고 부릅니다.

하지만 마케팅이나 FDS(Fraud Detecting System, 이상징후탐징)와 같이 실시간 데이터에 대한 분석니즈가 생길 수 밖에 없는데 이를 위해 RDW라는 영역에 구성하여 실시간 데이터를 분석할 수 있게 하고 있습니다.

 

 

#13

이제 마무리를 해야겠습니다.

 

맨 첫 기사에 나왔듯이 EDW 외에 다른 방법의 데이터 방법(빅데이터 플랫폼 등)이 나왔지만 은행권의 EDW 활용은 여전히 매우 낮은 수준이 아닌가 생각됩니다. 일반회사과 동일할 순 없지만 현장의 영업점 직원들도 EDW에 접근하여 본인들 지점의 마케팅 전략을 세우는 일반회사들에 비하면 대부분의 은행은 본사의 일부직원에 한해 사용이 되고 있습니다.

그리고 별도의 라인과 컴퓨터를 설치하는 물리적 통제 방식으로 관리되어 책상이 가득 차는 곳도 있습니다.

책상이 가득차기도 합니다.

 

상황이 이렇다보니 회사차원에서는 사용을 독려하고 교육도 제공하지만 실제 업무에서 사용하기가 어려워 특정 직원이나 부서에서만 사용이 되고 있습니다.

물론 이런 문제에 대한 고민으로 많은 회사가 조금 더 쉽게 데이터를 추출할 수 있는 BI(Business Inteligence) 시스템을 만들어 전직원에게 제공하고 있습니다.

 

BI를 여기서 설명하려면 너무 길어지니 간단하게 둘의 차이를 말하자면 EDW는 쿼리를 사용할 줄 알아야 하고, 훨씬 더 많은 데이터가 있는 시스템이고, BI는 드래그/드랍도 지원할 만큼 사용자의 편의를 제공하고, 매우 빈번하게 사용되는 데이터 산출로직을 미리 담아둔 시스템이라고 보면 됩니다.


그럼 이같은 EDW를 잘 사용하려면 어떤 Skill이 필요한 지 적고 마치겠습니다.

 

당연히 가장 중요한 건 쿼리입니다. 물론 전체적인 데이터의 구성과 그림을 아는 게 훨씬 더 가치(?)가 있지만 구슬이 서말이라도 꿰어야 보배라는 말도 있듯이 눈 앞에 데이터가 상자(EDW 시스템)에 쌓여 있는데 그 상자를 열지 못하면 아무 소용이 없기 때문입니다. 이 상자를 열 수 있는 열쇠가 쿼리라고 생각하면 됩니다.

 

 

쿼리 강의는 여기저기 많이 있으니 직접 찾으시면 됩니다.

그래도 제가 추천하는 방법 아래 적긴 하겠습니다. (그냥 무조건 하면 됩니다.)

  1. Oracle XE 설치
  2. SQL Developer 설치 
  3. 테이블 만들기 : 아래 파일 열어서 실행하면 됨
  4. 쿼리 실행해보기

SQL-Oracle-Script.sql
0.03MB

 

위 방법은 일반적인 국내회사에서 구축한 EDW 시스템을 다루는 걸 가정한 방법입니다.

첫 단락에서 언급한 기사처럼 요새는 빅데이터 시스템 등 기존 데이터베이스와 다른 방식의 데이터를 관리하는 시스템 뿐만 아니라 데이터를 다루는 프로그램도 R, Python 등등 수없이 많습니다.

 


회사생활을 하던 하지 않던 데이터를 다루는 기술은 타이핑처럼 필요한 기술이 되가는 것 같습니다.

쿼리가 익숙해지면 "더 가치있는" 데이터의 전체적인 그림을 보는 과정이 반드시 필요합니다.

그리고 비즈니스에 대한 이해가 없으면 아무 소용 없습니다. 

 

제가 필드에서 만났던 데이터 산출 잘하는 사람은 쿼리를 화려하게 짜는 사람이 아니라 테이블과 데이터 구조를 이해하고 그리고 데이터를 비즈니스적으로 이해를 하는 사람인 경우가 대부분이었습니다.