반응형

"AWS based EDW 구축"이라는 주제로 프로젝트를 진행하기에 앞서, 기본적으로 등장하는 DW, EDW, RDW, ADW, 그리고 DM, ETL이라는 개념을 용어부터 정리해보려고 한다. 

 

DW(Data Warehouse) - 데이터 웨어하우스

데이터 웨어하우스(data warehouse)란 사용자의 의사 결정에 도움을 주기 위하여 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다.(비즈니스 사용자들의 의사결정 지원에 전적으로 이용된다) 줄여서 DW로도 불린다. DW는 하나 이상의 서로 다른 소스에서 통합된 데이터의 중앙 리포지토리이다. DW, DWH 라고도 표현한다.

정보(data)와 창고(warehouse)가 합쳐져서 만들어진 어휘이다. 따라서 데이터 웨어하우스는 방대한 조직 내에서 분산 운영되는 각각의 데이터 베이스 관리 시스템들을 효율적으로 통합하여 조정ㆍ관리한다. 그렇기 때문에 효율적인 의사 결정 시스템을 위한 기초를 제공하는 실무적인 활용 방법론이 제공되고 있다. 

 

data warehouse 기본 아키텍처 / 출처 : 위키피디아

 

 

EDW(Enterprise Data Warehouse) - 엔터프라이즈 데이터 웨어하우스

엔터프라이즈 데이터 웨어하우스(enterprise data warehouse)는 여러 애플리케이션의 비즈니스 정보를 중앙 집중화하고 조직 전체에서 분석 및 사용할 수 있도록 하는 데이터베이스 또는 데이터베이스 모음이다. EDW는 사내 서버 또는 클라우드에 보관할 수 있다.

이러한 유형의 디지털 웨어하우스에 저장된 데이터는 비즈니스, 직원, 고객 등에 대해 알려진 정보의 대부분을 나타내므로 비즈니스의 가장 귀중한 자산 중 하나가 될 수 있다.

오늘날 기업이 비즈니스 전략을 계획하기 위해서는 데이터 기반 의사 결정에 의존하기 때문에 EDW가 필요하다. 분석을 성공적으로 수행하려면 모든 데이터 소스의 데이터를 분석에 적합한 형식으로 데이터 웨어하우스에 로드해야 한다. 그런 다음 선택한 비즈니스 인텔리전스 도구를 이 데이터 웨어하우스에 연결하여 필요한 분석을 수행할 수 있다.

 

* EDW(엔터프라이즈 데이터 웨어하우스) 사용의 이점

EDW를 사용하면 다음과 같은 이점이 있다.

- 데이터 표준화 : 모든 기업의 운영 데이터는 다양한 OLTP(온라인 트랜잭션 처리) 시스템 및 데이터베이스에 저장된다. 각 시스템 또는 데이터베이스는 데이터를 다른 형식으로 저장한다. 유용한 분석을 수행하려면 먼저 모든 데이터가 동일한 형식이 되도록 데이터를 표준화해야 한다. 이러한 데이터베이스의 데이터는 ETL(Extract, Transform, Load / 추출, 변환, 로드) 파이프라인을 사용하여 데이터 웨어하우스로 로드된다. 이 파이프라인을 사용하여 데이터를 표준 형식으로 변환하고 데이터 웨어하우스에 저장할 수 있다. 이렇게 하면 데이터를 더 쉽게 분석하고 데이터 웨어하우스의 데이터에 대한 이해를 높일 수 있다.

- 유연성 : 기업이 성장함에 따라 저장하는 데이터의 양이 급격히 증가하게 된다. 볼륨의 증가와 함께 기록해야 하는 다양한 기타 속성을 수용하기 위해 데이터 모델을 업데이트해야 하는 상황이 있을 수 있다. EDW는 유연성으로 유명하며 시스템을 완전히 정비하지 않고도 저장되는 데이터의 양이나 데이터 모델의 변경과 같은 요구 사항의 변경 사항을 쉽게 수용할 수 있다.

- 비즈니스 인텔리전스 도구에 대한 연결성 : 대부분의 최신 엔터프라이즈 데이터 웨어하우스(EDW)를 사용하면 선택한 비즈니스 인텔리전스 도구에 쉽게 연결할 수 있다. 이러한 원활한 연결을 통해 기업은 비즈니스가 주요 목표를 얼마나 잘 달성하고 있는지 측정하는 데 사용할 수 있는 다양한 KPI(핵심 성과 지표)를 쉽게 설정하고 추적할 수 있다. 

 

 

RDW(Real-time Data Warehouse) - 실시간 데이터 웨어하우스

사용자는 데이터 웨어하우스에 점점 더 많은 것을 요구하고 있다. 이는 기술이 제공하는 것의 발전과 가능한 기술의 변화로 이어진다. 점점 더 많은 고객이 요구하는 기능인 라이브 데이터, 최근 데이터, 과거 데이터에 대한 분석 기능들을 다루는 실시간 데이터 웨어하우스(real-time data warehouse)라는 개념이 등장하게 된 것이다.

* RDW의 이점
- 빠른 결정
- 이상적인 데이터 로드
- 빠른 복구
- 최적화

 

 

ADW(analytical data warehouse) - 분석 데이터 웨어하우스

ADW의 A가 analytical이라 함은 분석이라는 의미이다.

다른 뜻으로는 오라클 데이터웨어하우스 클라우드(ADW: Autonomous Data Warehouse cloud)라는 인공지능 기술 등을 도입해 클라우드 기반 실시간처리를 도와주는 솔루션이 있다. 여기서 말하는 것은 전자에 말한 분석 DW를 말한다. ADW는 과거의 DW개념이라고 생각할 수 있으며 RDW로 점점 발전해가고 있다.

 

 

DM(Data Mart)

데이터 마트는 금융이나 마케팅같은 제한된 수의 데이터를 하나의 주제에 초점을 맞춘 데이터웨어 하우스의 간단한 형태이다. 규모가 더 작고 집중적이다.

 

 

ETL(Extract, Transform, Load)

ETL 시스템은 소스 데이터 시스템과 데이터 웨어하우스 간의 데이터 이동과 데이터 웨어하우스에서 데이터 마트로의 이동을 관리한다. 먼저 소스에서 데이터를 추출한 다음 다음 스토리지 계층의 표준에 따라 변환해야 하며 마지막으로 형식이 지정된 데이터를 이 다음 계층에 올바르게 로드해야 한다.

쉽게 말해서 원본으로부터 데이터를 내려받아 가공해서 로딩하는 것을 ETL이라고 한다. 금융권에서 많이 등장하는데 예를들어서 은행 거래를 할 때 새벽에 잠시 작업이 안 되고 로딩하는 과정이 ETL 작업중인 것이다.

 

출처 : Snowflake

 

 


Database 아키텍처의 과거와 현재에 대하여

 

 

정형, 비정형, 반정형을 object storage에 모아서 AI를 위한 데이터셋을 만들수도 있고 기존의 DW를 구성할 수도 있다. 예전에는 DB 안에 들어있던 정형 데이터만 썼다면 지금은 정형, 비정형, 반정형을 이용해 구성할 수 있다.

 

OLTP의 특징 : 동시접속자가 엄청 많다. 커넥션이 몇백~몇천개까지 열린다. 동시접속자들을 받아서 최대한 많이 처리하는 것이 관건이며 대표적으로 MySQL, Oracle, DB2, MSSQL같이 우리가 알고있는 대부분의 SQL.을 말한다.

OLAP – 동시 접속자 수는 작음. 심할 경우에는 커넥션이 5개인 경우도 있음. 동시에 들어오는 쿼리가 적다. 대용량 데이터를 처리를 잘 한다는 컨셉으로 갔었음. 대표적으로 Informix, Sybase / Teradata 같은것들이 있고 전통적으로 고가의 장비였다.

 

그런데 DW시장이 생기기 전 1999~2000년 정도에는 어떤식으로 처리를 했을까?

기업엔 굉장히 많은 DB가 있다. 하나의 업무단위가 많이 있었는데 이제 이 업무에대한 보고를 해야하는 것. 결국 최고 결정권자들이 결정할 수 있도록 보고하는 자료를 만들어야 한다. 간략하게 하나의 레코드를 만들어서 (축약, 요약, 데이터 단편화)정보 만들기하는 것을 기존에는 reporting system이라고 불렀다. (ex. 재무, 환율정보등)

 

전체적인 흐름을 살펴볼 수 있도록 아래의 그림으로 정리해두었다.

 

과거의 database의 흐름 기본 아키텍처

 

원통형의 그림은 각각의 데이터를 의미한다. 재무, 환율정보 등과 같은 것이다. 

 

현재의 database의 흐름 기본 아키텍처

 

엑사데이터와 같은 대용량의 데이터를 관리해주기도 하며 실시간 동기화를 사용하는 방향으로 나아가고있다. 여기서 CDC라는 개념과 위에 설명한 EDW, RDW, ADW가 등장한다. 결국 관리가 되는 데이터로 바꾸려면 정형 데이터로 바꿔야 한다. 그 때 쓰이는 게 EMR, Spark와 같은 솔루션이 있다.

 

아직까지는 기본적으로 실시간으로 동기화 시켜주는 기술이 없다. 그래서 자꾸 케네시스라던지 카프카, 등으로 꽂아넣는 Microservice Architecture로 가이드가 되고 있다. 전통적인 기업들의 앱을 바꾸기란 쉽지가 않다. 아직까지는 위와 같은 흐름으로 정형, 비정형, 반정형 같은 것들을 처리하고 계속해서 새로운 것들이 등장하고 있는 상황이다.

 

 


 

 

현재 프로젝트를 진행하고 있는데, 앞으로 두달간 해야 할 과제들이 생겼다. 이런것들에 대해 이벤트와 데이터 파이프라인이 발생하면 어떻게하면 심플하게 가져가고, 유기적으로 만들 것인가 흐름을 고민하는 것이 필요하다. 또한 모니터링을 하고 있다가 임계점이 넘으면 자동으로 scale out을 하고 테라폼을 돌려서 서버를 증설할 수 있는지. 그리고 이것을 돌렸을 때 네트워크 구성이 잘 되도록 구조화 하는 작업이 필요하다.

 

이러한 컨셉을 가지고 아마존에서 사용하는 기능들을 돞아보고 생각해보는 시간을 프로젝트 기간동안 가져 볼 예정이다.

 

 

 

<참고자료>

DW(Data warehouse) - wikipedia

 

데이터 웨어하우스 - 위키백과, 우리 모두의 백과사전

데이터 웨어하우스(data warehouse)란 사용자의 의사 결정에 도움을 주기 위하여 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다. 줄여

ko.wikipedia.org

 

 

Data warehouse - Wikipedia

The basic architecture of a data warehouse In computing, a data warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a system used for reporting and data analysis and is considered a core component of business intelligence.[1] DWs ar

en.wikipedia.org

 

EDW(Enterprise Data warehouse)

 

Enterprise Data Warehouse (EDW)

See our definition of EDW, or Enterprise Data Warehouse. Understand what a data warehouse is and why its important

www.precisely.com

 

Understanding EDW (Enterprise Data Warehouse) Simplified

This article will provide you with an understanding of Enterprise Data Warehouses (EDW) along with its types allowing you to set it up for your business.

hevodata.com

 

RDW(Real-Time Data Warehouse)

 

An Overview of Real Time Data Warehousing on Cloudera - Cloudera Blog

Users today are asking ever more from their data warehouse. This is resulting in advancements of what is provided by the technology, and a resulting shift in the art of the possible. As an example of this, in this post we look at Real Time Data Warehousing

blog.cloudera.com

 

Why have a real-time Data Warehouse?

Going from an infrequently updated data warehouse or data mart environment to a near real-time data warehouse has a number of benefits. Here are just five.|Going from an infrequently updated data warehouse or data mart environment to a near real-time data

www.hvr-software.com

 

 

반응형

+ Recent posts