BI-DataWarehouse, DataMart, ETL

현재 맡고 있는 업무는 “정보계”이다. 이런말 처음들었다.
찾아보니 은행시스템에서 많은 쓰는 어휘인데(현재 업무는 은행계아님!) 전산 시스템 전체에 사용되는 것 같다.
그럼 이전에 내가 했던 일들은 뭐라고하나? 아마 데이터 발생을 하니 계정계 쯤 될 것 같다.
정보계는 데이터가 발생되는 부분은 아니고 축척된 빅데이터를 활용하는 시스템이라고 생각하면 된다.
딱 맞는게 현재 빅데이터로 영업전략을 세우기 위한 사이트를 운영하고 있다.
화면에는 오로지 통계, 통계.. 그리고 조건 다른 통계의 로우데이터 이다.

그 동안 맡았던 시스템도 적은 규모는 아니였으나 이번 시스템은 정말 크다.
하루에 수십만건의 데이터가 발생되는 데,
다행스러운 것이지 이 데이터를 발생시키는 부분을 다루는 것이 아니라,
발생된 데이터를 하루 종일 모으고 모아, 변형하고 다시 적재해서 특수한 목적으로 부분의 데이터를 가지고 화면에 뿌려준다. 아하?
화면에 뿌려주기만 하기에 데이터를 가지고 오로지 select만 날린다.
update, insert, delete를 할 필요가 없으니 에러가 날 꺼리가 전혀 없으며, 고민할 로직이… 거의 없다고 보면 된다. (웹 부문만 한정적 접근 생각)
물론 select를 효율적으로 아주 잘 날리는 것은 어렵다.(그러나 나는 웹이야..웹..)

즉, 내가 맡은 부분은 아주 적다. 아주아주 적고 매우 일부분에 불과하며 또 다행스럽게도 치명적이지 않으며 특별한 이슈도 없다.

그럼, 내가 select를 하기 위해 다루는 데이터가 어디에서 근본적으로는 어디서 생성되었을까?
분명 CRUD에서 CUD를 해주는 부분이 있을텐데 말이다.
바로 이 앞앞앞(?)단 부터 시작해서 전체의 시스템을 BI(Business Intelligence)라고 한다.
BI는 기업에서 데이터를 수집, 정리, 분석하고 활용하여 효율적인 의사결정을 할 수 있는 방법에 대해 연구하는 학문이라고 정의하는데 딱히 와닿지는 않는다.
기업에서 사용되기 위한 시스템을 BI라고 간단하게 생각하면 될 것 같다.

이 BI에서는 흔히 우리가 얘기하는 데이터웨어하우스, 마트, OLAP,  ETL과 같은 기술들이 적용되어 쓰이고 있다.

 

 

1.  사용자들이 사용하는 시스템이 존재하겠다.

예를 들어 ERP, CRM등 회사마다 다르겠지만 각각의 운영시스템(Operational Systems)은 존재한다. 데이터가 여기서 발생한다. 물론, 애초에 분산된 각 시스템을 SI를 통해 한 곳으로 모으는 사이트도 있겠다. 여기서는 각기 다른 시스템에서 발생된 데이터는 각 시스템의 데이터베이스에 적재된다.

 

2. 그리고 ETL(Extra, Transform, Load)을 거친다.

이를 통해 DataWarehouse에 적재하는데, 각각의 시스템에서 발생된 데이터를 한 곳에 몰아 넣기 위한 과정이다.

ETL이 과정이 필요한 이유는 각각의 시스템에서 발생된 데이터가 형태가 다르기 때문에 Datawarehouse에 맞게 적재하기 위해, 변형해서 적재하는것이다. ETL과정은 데이터웨어하우스로 적재하는 과정에서 뿐아니라 마트, OLAP, OTLP 등 운영시스템에 적재하기 위해서도 필요하다.

 

3. ETL과정을 거친 데이터들은 DataWarehouse에 적재된다.

Datawarehouse
데이터 웨어하우스는 기업의 운영시스템과 분리되며, 운영시스템으로부터 많은 데이터가 공급된다. 데이터 웨어하우스는 여러 개의 개별적인 운영시스템으로부터 데이터가 집중된다. 기본적인 자료 구조는 운영시스템과 완전히 다르므로 데이터들이 데이터 웨어하우스로 이동되면서 재구조화되어야 한다. 운영시스템과 데이터 웨어하우스는 근본적으로 다르며, 두 개의 매우 상이한 시스템을 요구한다.

 

4. DataWarehouse에 적재된 데이터를 분류하여 다시 DataMart에 적재된다.

데이터 마트는 웨어하우스보다 더 정리된 개념의 데이터라고 생각하면 된다.

DataMart
데이터 웨어하우스에서 데이터를 꺼내 사용자에게 제공하는 역할을 한다. 데이터 마트는 데이터 웨어하우스의 부분이며, 대개 특정한 조직, 혹은 팀에서 사용하는 것을 목적으로 한다.
개개의 데이터 마트와 데이터 웨어하우스는 형식상 다른 존재이다. 그러나, 이 용어를 사용하는 대부분의 저자들은 용어의 의미상 데이터마트가 사용자 요구 분석에서 시작하는 개념으로 해석하고 데이터 웨어하우스는 기존의 데이터를 어떻게 수집, 분석하고 이를 어떻게 재사용할 것인가에 대한 개념으로 해석한다.

 

5. 이 데이터를 가지고 OLAP, OTLP, ad-hoc 또는 여타 다른 분석,보고의 기업의 운영 데이터로 활용을 한다.

OLAP
온라인 분석 처리(Online Analytical Processing, OLAP)는 의사결정 지원 시스템 가운데 대표적인 예로, 사용자가 동일한 데이터를 여러 기준을 이용하는 다양한 방식으로 바라보면서 다차원 데이터 분석을 할 수 있도록 도와준다.

OLTP
온라인 트랜잭션 처리(Online transaction processing, OLTP)는 트랜잭션 지향 애플리케이션을 손쉽게 관리할 수 있도록 도와주는 정보 시스템의 한 계열로서, 일반적으로 데이터 기입 및 트랜잭션 처리를 위해 존재한다. OLTP는 시스템이 사용자 요청에 즉각 반응하는 처리를 가리키는 용어이기도 하다.

출처 :
https://ko.wikipedia.org/wiki/%EB%B9%84%EC%A6%88%EB%8B%88%EC%8A%A4_%EC%9D%B8%ED%85%94%EB%A6%AC%EC%A0%84%EC%8A%A4
https://www.dremio.com/what-is-a-data-warehouse/
https://www.guru99.com/data-warehouse-architecture.html