개요
데이터 웨어하우스(data warehouse)란 사용자의 의사 결정에 도움을 주기 위하여, 기간 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다.
그렇다면 구축하지 않고 시스템의 데이터베이스에 직접 데이터 접근해서 분석을 하면 어떻게 될까?
만약 쇼핑을 할 수 있는 앱이 있다면 간단하게 아래와 같은 시스템이 있고 각 시스템에 맞게 데이터들이 데이터베이스에 쌓일 것이다.
- 결제 관리 시스템: 사용자가 쇼핑을 하고 결제를 관리하는 시스템 (사용자 결제 목록, 결제 내역)
- 재고 관리 시스템: 현재 옷의 재고를 보고 수량을 관리하는 시스템 (현재 재고 수량, 부족한 재고 수량)
- 주문 관리 시스템: 쇼핑 주문을 하는 시스템 (주문 내역)
- 회원 관리 시스템: 쇼핑몰 가입하거나 탈퇴를 관리하는 시스템 (사용자 나이, 성별, 주소, 유저 id)
네 개의 시스템은 각자의 목적에 맞게 역할이 있고 역할에 맞게 데이터베이스에 데이터를 저장할 것이다. 만약 6개월 기간 동안 회원들의 어떤 품목을 얼마나 주문 헀는지를 알고 싶다면 회원 시스템 + 주문 관리 시스템의 데이터베이스에 쿼리를 작성해서 데이터 분석을 할 수 있을 것이지만 운영 시스템에 부하가 발생하게 되어서 앱이 동작하지 않게 되거나 데이터베이스를 분석하는 동안 사용하지 못하게 된다. 시스템의 데이터베이스는 데이터를 작은 규모의 데이터를 조회, 삽입, 삭제, 수정을 빠르게 하기 위해 만들어진 시스템이라서 큰 규모의 데이터 조회를 했을 때에는 부하가 발생하게 된다.
따라서 이런 부하를 발생시키지않고 운영 DB를 추출하여 큰 규모의 데이터 조회 및 분석을 위해 만들어 진 것이 데이터 웨어하우스다.
목적
- 데이터를 기반한 의사 결정이 가능
- 여러 소스의 데이터를 통합해서 분석이 가능
- 과거 데이터 분석
- 기존 정보를 활용해 더 나은 정보를 제공한다.
아키텍처
데이터 웨어하우스의 아키텍쳐라고하면 위 그림과 같이 많은 기업들에서 위 형태로 구축을 하고 있다. 구축을 하면서 다양한 용어에 대해 정리하자면
ETL(Extract, Transform, Load) ETL이란 데이터 웨어하우스 구축 시 데이터를 운영 시스템에서 추출하여 가공(변환, 정제)한 후 데이터 웨어하우스(DW)에 적재하는 과정을 말합다. 일반적으로 발생하는 데이터 변환에는 필터링, 정렬, 집계, 데이터 조인, 데이터 정리, 중복 제거 및 데이터 유효성 검사 등의 다양한 작업이 포함된다.
- Extract: 하나 또는 그 이상의 데이터 원천들로 부터 데이터 추출
- Transform: 추출한 데이터를 요구사항에 맞게 변경하는 작업
- Load: 변형 단계의 처리가 완료된 데이터를 특정 목표 시스템에 적재
데이터 레이크(Data Lake)는 정형, 반정형 및 비정형 데이터를 비롯한 모든 가공되지 않은 다양한 종류의 데이터를 한 곳에 모아둔 중앙 리포지토리. 빅데이터를 효율적으로 분석하고 사용하고자 다양한 영역의 Raw 데이터를 한 곳에 모아서 관리하고자 하는 목적이다. 데이터 마트(Data Mart)는 금융, 마케팅 또는 영업과 같은 특정 팀 또는 사업 단위의 요구를 충족시키는 데이터 웨어하우스이다. 규모가 더 작고, 집중적이며 사용자 커뮤니티에 가장 잘 맞는 데이터 요약을 포함할 수 있다. 데이터 마트는 데이터 웨어하우스의 일부일 수 있다.
'CS > 데이터베이스' 카테고리의 다른 글
[DB] 엔터티(Entity)란? (0) | 2024.09.10 |
---|---|
NOSQL (개념, 특징, 장단점, RDBMS와의 차이점, 모델, 종류) (0) | 2024.08.27 |
데이터 모델링의 이해 (0) | 2024.08.15 |
데이터 테이블의 종류 및 특성 (0) | 2024.08.11 |
[DB] 데이터 딕셔너리 (0) | 2024.08.05 |