정의 및 비교) Data Warehouse, Data Base, Data Lake, Data Mart

2022. 7. 26. 20:59관심있는 주제

728x90

다른 내용을 정리하다가 헷갈려서 따로 정리를 해보고자 한다.

주로 DW와 다른 것들을 비교한 자료들을 토대로 정리했다.

필자가 전문적으로 배운 것이 아니라 표현을 하는 데 있어서 부족함이 있을 수 있어서, 부족한 부분 댓글로 상세하게 작성 부탁드린다. :)

 

Data Warehouse(DW)

ODS 데이터들을 활용이 가능한 형태로 만들어 저장하고 관리, 분석할 수 있는 시스템

데이터 웨어하우스는 보다 정보에 입각한 의사 결정을 내릴 수 있도록 분석 가능한 정보의 중앙 리포지토리

 데이터는 트랜잭션 시스템, 관계형 데이터베이스 및 기타 소스로부터 보통 정기적으로 데이터 웨어하우스로 들어감

 

DW의 아키텍처 그림은 아래와 같다고 한다.

 

비즈니스 애널리스트, 데이터 엔지니어, 데이터 사이언티스트 및 의사 결정권자는 비즈니스 인텔리전스(BI) 도구, SQL 클라이언트 및 기타 분석 응용 프로그램을 통해 데이터에 액세스합니다.

즉 다른 분석 응용 프로그램들은 DW에 있는 데이터를 바탕으로 분석합니다.

DW안에는 Transaction System이나, RDB 및 기타 데이터들이 들어간다. 

Bottom Tier에서는 Data 부분들이 Transaction System이나 RDB 등을 의미하고,  ETL(Extract Transform Load) 과정을 거쳐서 DW에 적재가 된다. 

 

Middle Tier에서는 OLAP(Online Analytical Processing) Server는 데이터를 액세스하고 분석하는 데 사용되는 분석 엔진들이다.

살짝 딴 길로 새서 OLAP에 대해 정리된 것을 보면 

OLAP는 Online Analytical Processing의 약어로 최종 사용자가 다차원 정보에 직접 접근하여 대화식(마치 컴퓨터와 직접 대화하는 것처럼)으로 정보를 분석하고 의사결정을 지원하는 시스템
간단히 말하면, 어떠한 의사결정을 하려고 하는데 필요한 정보를 얻어 도움을 받을 수 있고 정보를 분석할 수 있는 일종의 툴
즉 결국 툴이기 때문에 다양하게 존재할 수 있다.
# 1) Xplenty# 2) IBM Cognos# 3) 마이크로 전략# 4) Palo OLAP 서버# 5) Apache Kylin# 6) icCube# 7) 펜타 호 BI# 8) 몬드리안# 9) OBIEE# 10) JsHypercube# 11) 제 독스
## https://ko.myservername.com/top-10-best-analytical-processing-tools

 

Top Tier에서는 사용자가 실제로 데이터를 분석하고 마이닝하고 또 보고할 때 사용하게 되는 frontend가 존재하는 티어다. 

 

 

예시)

쇼핑할 수 있는 앱이 있다면, 아래와 같은 시스템들이 존재함.

각 시스템에 맞는 데이터들이 데이터 베이스에 적재됨.

각 시스템에 대한 설명은 다음과 같다고 한다.

  1. 결제 관리 시스템 : 사용자가 쇼핑을 하고 결제를 관리 하는 시스템 (사용자 결제 목록, 결제 내역)
  2. 재고 관리 시스템 : 현재 옷의 재고를 보고 수량을 관리하는 시스템 (현재 재고수량, 부족한 재고 수량)
  3. 주문 관리 시스템 : 쇼핑 주문는 하는 시스템 (주문 내역)
  4. 회원 관리 시스템 : 쇼핑몰 가입하거나 탈퇴하는 관리하는 시스템 (사용자 나이,성별,주소,유저 id)

4개의 시스템은 각자의 목적에 맞게 역할이 있고, 데이터를 저장하고 있다. 

DB는 작은 규모의 조회,삽입,삭제,수정을 하기 위해 만들어진 시스템인데, 만약 우리가 원하는 데이터를 얻기 위해 직접적으로 DB에 접속해서 처리하게 되면, 시스템 부하로 인해 다른 시스템들이 마비가 올 수 있습니다. 

이러한 부하 방지를 위해서 운영 DB에서 추출하여 큰 규모의 데이터 조회 및 분석을 위해 만들어진 것이 DW입니다.

 

https://bomwo.cc/posts/Datawarehouse/


일단 DW에 대한 설명은 여기까지 하고 데이터 베이스에 대한 개념을 알아보자.

 

Data Base(DB)

데이터베이스란 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임
 데이터베이스는 저장 장치 내에서 정리되어 저장된 데이터의 집합이고, 이를 효율적으로 관리하는 소프트웨어를 데이터베이스 관리시스템(Database Management System)이라 부르고 약자로 DBMS로 사용

즉 데이터 베이스는 단순 데이터 집합이고 DBMS를 통해서 데이터 베이스에 접근해서 사용하는 것이다.

DBMS가 나오면서 데이터 베이스에 접근하기 위해서 SQL이 나왔고, 관계형 데이터 베이스(RDBMS : Relational Database Management System)를 조작할 때 사용한다.

SQL 명령어는 크게 또 3 종류가 있다고 한다.

명령어 설명
DML(Data Manipulation Language) 데이터 베이스에 새롭게 데이터 추가 삭제 내용 갱신을 의미한다.
DDL(Data Definition Language) 데이터베이스 객체라는 것을 만들거나 삭제할 때 사용
DCL(Data Control Language) Transaction 제어 접근 권한을 제어 

여기서 또 데이터 베이스의 종류가 다양하다고 하는데 , 이것은 나중에 더 궁금하면 찾아보고 아래 링크를 남겨두겠다.

쉽게 정리된 것 같아 공유한다.

https://velog.io/@zooneon/DB-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C

 

그렇다면 DW와 Data Base는  어떠한 차이가 있는지 보면 다음과 같다.

DW와 DataBase 비교

특징 Data Warehouse Database
적합한 워크로드 분석, 보고, 빅데이터 트랜잭션 처리
데이터 원본 여러 소스로부터 수집되고 정규화된 데이터 트랜잭션 시스템과 같이 단일 소스에 있는 그대로 캡처한 데이터
데이터 캡처 대개 미리 결정된 대량 배치 일정에 따른 대량 쓰기 작업 트랜잭션 처리량을 최대화할 수 있도록 새로운 데이터가 사용할 수 있어 지속적인 쓰기 작업에 최적화 됨
데이터 정규화 스타 스키마 또는 눈송이 스키마와 같이 비정규화된 스키마 고도로 정규화된 정적 스키마
데이터 스토리지 컬럼 방식 스토리지를 사용하여 간단한 액세스 및 고속 쿼리 성능에 대해 최적화 단일 행 지향 물리적 블록에 대한 고도의 처리량 쓰기 작업에 최적화
데이터 액세스 I/O를 최소화하고 데이터 처리량을 최대화하도록 최적화 대량의 소규모 읽기 작업

DATA LAKE

위의 그림은 DW와 DATA LAKE 그리고 최근에 나온 DATA LAKEHOUSE(2021) 버전으로 비교가 되는 장표이다.

현재는 LAKE HOUSE라는 개념까지 나온 것 같은데 일단 패스...

데이터 레이크는 대규모의 다양한 원시 데이터 세트를 기본 형식으로 저장하는 데이터 리포지토리 유형

데이터 레이크는 데이터 저장을 위해 전체적인 대규모 리포지토리를 원하는 기업의 데이터 관리 전략으로 널리 이용

데이터 레이크는 조직에서 수집한 정형·반정형·비정형 데이터를 원시 형태(raw data)로 저장하는 단일한 데이터 저장소

원시 데이터는 특정 목적을 위해 처리되지 않은 데이터
이터 레이크에 있는 데이터는 쿼리 되기 전까지는 정의되지 않습니다.

즉, Data Lake는 DW 보다는 좀 더 원자료 데이터를 적재한 다음에 입맛대로 다룰 수 있게 됩니다.

DW와 Data Lake 비교

데이터 웨어하우스는 분석을 위해 설계되었으므로, 대량의 데이터를 읽어 추세 파악하는 작업이 포함

데이터 레이크는 정형, 반정형 및 비정형 데이터를 비롯한 모든 데이터에 대한 중앙 리포지토리 

 

  Data Warehouse Data Lake
데이터 트랜잭션 시스템, 운영 데이터베이스 및 사업 부서(LOB) 애플리케이션의 관계형 데이터 정형, 반정형 및 비정형 등 모든 데이터
스키마 일부 경우 데이터 웨어하우스를 구현하기 전 설계되며 분석과 동시에 작성 가능
(스키마-온-라이트 또는 스키마-온-리드)
분석 시에 작성됨(스키마-온-리드)
가격/성능 로컬 스토리지를 사용하여 가장 빠른 쿼리 결과를 얻음 저렴한 스토리지를 사용하여 쿼리 결과가 빠르게 제공되며 컴퓨팅 및 스토리지 분리
데이터 품질 신뢰할 수 있는 중앙 버전 역할을 하는 고도로 큐레이트된 데이터 큐레이트될 수 있거나 될 수 없는 모든 데이터(즉, 원시 데이터)
사용자 비즈니스 애널리스트, 데이터 사이언티스트 및 데이터 개발자 비즈니스 애널리스트(큐레이팅된 데이터 사용), 데이터 사이언티스트, 데이터 개발자, 데이터 엔지니어 및 데이터 아키텍트
분석 배치 보고, BI 및 시각화 기계 학습, 예비 분석, 데이터 검색, 스트리밍, 운영 분석, 빅 데이터 및 프로파일링

데이터 마트

데이터 마트는 단일 주제 또는 LOB에 초점을 맞춘 단순한 형태의 데이터 웨어하우스

데이터 마트 같은 경우 기업 내 특정 팀 또는 LOB 가 요청한 데이터에 대한 손쉬운 액세스 제공 

 

즉 , 데이터 마트는 영업, 재무, 마케팅 등 단일 주제 또는 LOB에 중점을 둔 단순한 형태의 데이터 웨어하우스입니다. 그렇기 때문에 데이터 마트는 데이터 웨어하우스보다 적은 소스로부터 데이터를 수집합니다. 데이터 마트의 소스에는 내부 운영 체제, 중앙 데이터 웨어하우스, 외부 데이터가 포함됩니다.

LOB = Line-of-Business
특정 유형의 고객 트랜잭션 관리 또는 일부 유형의 비즈니스 요구를 충족시키는 데 관련된 구성 요소 또는 자원을 식별하는 데 자주 사용되는 용어
ERP, CRM, MES 같은 기업용 비즈니스 애플리케이션을 통칭
https://vikira.tistory.com/entry/LOB-Line-Of-Business-란

 

DW와 데이터 마트 비교

데이터 웨어 하우스는 공유 및 세부 데이터를 위한 디자인 패턴 및 아키텍처

수백 개의 소스와 애플리케이션에서 모든 주제 영역에 대한 데이터를 모든 사용자에 걸쳐 통합되고 공유된 동일한 데이터 웨어하우스로 보냄

 

데이터 마트는 단일 기능 영역에 초점을 둔 데이터 리포지토리

데이터 웨어 하우스의 하위 집합 역할을 하며, 제한된 사용자 그룹에 서비스를 제공

(https://majjangjjang.tistory.com/161)

데이터 웨어하우스 데이터마트
데이터 웨어하우스는 수많은 주제 영역의 데이터를 저장한다. 데이터 마트에는 인사, 재무, 마케팅 등 부서와 관련된 자료가 실려 있다.
기업의 중앙 데이터 저장소 역할을 한다. 그것은 데이터 웨어하우스의 논리적인 하위섹션으로, 데이터는 특정 부서 애플리케이션을 위한 저렴한 서버에 저장된다.
데이터 웨어하우스는 별, 눈송이, 은하 또는 사실 별자리 스키마를 사용하여 설계된다. 그러나 스타 스키마는 가장 널리 사용되는 스키마다. 데이터 마트는 테이블을 디자인하기 위해 스타 스키마를 사용한다.
데이터 웨어하우스는 보통 100GB 이상의 대용량 데이터를 포함하고 있기 때문에 설계와 사용이 까다롭다. 데이터 마트는 크기가 작기 때문에(100GB 미만) 상대적으로 설계와 이용이 쉽다.
데이터 웨어하우스는 기업의 의사결정 과정을 지원하기 위해 설계된다. 그러므로, 중앙집중식 시스템과 그것의 자율성에 대한 전사적인 이해를 제공한다. 데이터 마트는 특정 사용자 그룹 또는 기업 부서를 위해 설계된다. 따라서 부서별 해석과 분산형 데이터 스토리지를 제공한다.
데이터 웨어하우스는 세부 정보를 정규화 또는 정규화 형식으로 저장한다. 한 데이터 마트는 매우 변별력이 높은 데이터를 요약된 형태로 보유하고 있다.
데이터 웨어하우스는 큰 치수를 가지며 고장 위험을 초래할 수 있는 많은 출처의 데이터를 통합한다. 데이터 마트는 크기가 작고 적은 소스에서 데이터를 통합하여 고장 위험이 적다.
데이터 웨어하우스는 데이터가 더 긴 기간 동안 존재하는 주체 지향적이고 시간 변종이다. 데이터 마트는 기업과 관련된 특정 영역을 대상으로 하며, 더 짧은 기간 동안 데이터를 보관한다.

 

 

 

 

728x90