DW(Data Warehouse)란?

김무땅·2022년 6월 19일

1.DW(Data Warehouse)의 정의

DW란 사용자의 의사결정에 도움을 주기 위하여, 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다.
라고 사전에 정의되어 있습니다.
정리하자면 사용자의 의사결정에 필요한 데이터가 들어있는 데이터베이스라고 할 수 있습니다.
그렇다면 DW를 구축하지않고 시스템의 DB에 직접 접근해서 분석하면 되지 않을까? 라고 생각할 수 있는데 시스템의 DB를 통해 분석이 어려운 예시가 있습니다.

만약 쇼핑을 할 수 있는 앱이 있다면 간단하게 아래와 같은 시스템이 있고 각 시스템에 맞게 데이터들이 DB에 쌓일것입니다.
1.결제 관리 시스템 : 사용자가 쇼핑을 하고 결제를 관리 하는 시스템 (사용자 결제 목록, 결제 내역)
2.재고 관리 시스템 : 현재 옷의 재고를 보고 수량을 관리하는 시스템 (현재 재고수량, 부족한 재고 수량)
3.주문 관리 시스템 : 쇼핑 주문는 하는 시스템 (주문 내역)
4.회원 관리 시스템 : 쇼핑몰 가입하거나 탈퇴하는 관리하는 시스템 (사용자 나이,성별,주소,유저 id)

각각의 시스템은 각자의 목적에 맞게 역할이있고 그에 맞게 DB에 데이터를 저장할 것입니다. 만약 최근 6개월간의 회원들이 어떤 제품을 얼마나 구매했는지 알고싶다면 회원시스템과 주문 관리 시스템의 DB에 쿼리를 작성해서 데이터를 조회할수 있을것입니다.
하지만 운영 시스템에 쿼리(SELECT,JOIN) 등을 기간으로 작성하여 그 데이터가 많다면 시스템에 부하가 발생하여 앱이 동작하지않거나 DB를 분석하는동안 사용할수가 없게됩니다. 시스템DB는 작은규모의 데이터를 조회, 삽입, 삭제, 수정을 빠르게 하기위해 만들어진 시스템이기때문에 큰 규모의 데이터를 조회했을때 부하가 발생할 수 있습니다.

따라서 이런 부하를 발생시키지 않고 운영DB를 추출하여 큰 규모의 데이터를 조회 및 분석을 위해 만들어 진 것이 DW라 할수있습니다.
기존 DB와 DW의 차이점

구분기존 데이터베이스데이터 웨어하우스
기능업무 프로세스의사결정
데이터 형태기능별 상세 데이터주제별 요약 데이터
데이터 조작read/write/update/deleteread only
지향 방향신속한 처리다차원 분석 제공

2. DW의 목적

DW는 기존의 정보를 활용해 더 나은 정보를 제공하고, 데이터의 품질을 향상시키며, 조직의 변화를 지원하고 비용과 자원관리의 효율성을 향상시키는것

  • 운영시스템을 보호하고 사용자 질의에 신속한 응답성을 제공할 수 있다.
  • 여러 시스템에 산재된 데이터들이 DW로 모아지고, 통합되어 사용자는 자신들이 필요로 하는 데이터가 어디에 있는지 신경쓰지 않고 필요한 데이터를 쉽게 가져와 사용할 수 있다.
  • 데이터는 DW로 옮겨오기전 정제 및 검증과증을 거치게 되어 사용자는 양질의 데이터를 사용할 수 있다.
  • 데이터를 기반한 의사결정이 가능하다.
  • 여러 소스의 데이터를 통합해서 분석이 가능하다.
  • 과거 데이터 분석
  • 기존 정보를 활용해 더 나은 정보를 제공한다.

3. DW의 기본개념과특징

  • 기존의 운영시스템은 성능과 안정성을 위해 시스템 자체에 최적화되어있다면 DW는 분석하고자 하는 데이터를 중심으로 재구성,최적화 되어있다.
  • 표준화된 분석 기준을 제공하여 항상 신뢰할 수있는 수치를 제공한다.
  • 별도의 분석 전용 시스템이기 때문에 기존의 운영시스템에 전혀 부담을 주지 않는다.

W.H Inmon이 정의한 데이터웨어하우스의 특징 4가지

특징의미
주제지향성(Subject Oriented)업무 중심이 아닌 주제 중심
통합성(Integrated)산개되어잇는 DB로부터의 데이터 통합
시계열성(Time Variant)시간에 따른 변경 정보를 나타냄
비휘발성(Non-volatile)데이터 변경 없이 리포팅을 위한 read only 사용(스냅샷 과같음)
  • 주제지향성
    - DW 내의 데이터는 일상적인 트랜잭션 처리를하는 프로세스이 중심인 운영시스템의 데이터와 달리 정보이용자의 관점에서 접근이 가능한 일정한 주제별 데이터로 분류 가능한 특징을 지닌다.
    예를들어 보험회사의 경우 프로세스 중심의 시스템으로는 자동차보험, 생명보험 등이 해당되지만 이들의 주제영역을 보면 고객,약관,청구 등이 될수있다.
  • 통합성
    - DW의 내의 데이터는 고도로 통합되어야한다.
    예를들어 기존의 애플리케이션 중심의 환경에서는 남자와 여자를 남/여, Male/Female, 1/0 등으로 다양하게 적용 할 수 있으나 DW에는 이들을 통합할 필요가 있다. 이러한 데이터의 통합을 위한 운영시스템의 DB 내에서 데이터 변환 작업은 DW 구축의 중요한 작업 중 하나를 차지한다.
  • 시계열성
    - DW에 있는 모든 데이터는 일정 기간동안 정확성을 유지한다. 이러한 틍성은 엑세스 순간 데이터의 정확성이 유지되는 운영시스템과는 매우 다르다고 볼 수있다. DW는 과거의데이터와 현재의 데이터를 동시에 유지한다는 점에서 시간 가변적이라고 볼 수 있다.
    - DW의 시계열성은 어떤 자료가 시간에 따라 변경되어야 하는 것이 아니라 시간에 따른 변경을 항상 반영하고 있어야 함을 의미한다. 이러한 DW의 데이터는 일정한 시간동안 데이터를 대변하는 것으로 스냅샷이라고 할 수있으며, 데이터의 구저상 시간이 아주 중요한 요소로 작용한다. 따라서 데이터 구조상에 DW의 데이터에는 수시적인 갱신이나 변경이 발생할 수 없다.
  • 비휘발성
    - DW용 데이터는 어떠한 시점에서 대량의 데이터가 적재되고 액세스 되는반면 데이터의 갱신이 발생하지 않는 조회전용 데이터이다.
    DW에서는 수행과정에서 두 가지 operation을 갖게되는데 그 첫번째는 데이터를 loading하는 것이고, 두 번째는 데이터를 읽는 것 즉, access 하는 과정이다. 일반적인 운영시스템에서의 처럼 데이터 갱신과 삭제는 이루어지지 않고, DW에 일단 로드 되면, read only 형태의 스냅샷 데이터로 존재하게된다. 따라서 DW에는 운영시스템에서 새로운 데이터를 주기적인 일괄작업으로 새롭게 하는 작업 외에는 수시로 변하지 않는 비휘발성인 특징을 갖게된다.

4.DW의 구조

데이터웨어하우징 환경에서 정보는 제조업자가 제공하는 상품으로 볼 수 있으며, 정보의 흐름은 상품이 제조되어 고객에게 이용되기 까지 과정과 유사한 일련의 흐름을 거치게 된다. 즉, 생산(OLTP시스템) - 저장 및 분배(DW) - 소매(애플리케이션) 과정으로 이루어진다.

4.1 사용자 관점에서 정리한 DW 구조 분류
4.1.1 데이터 소스
  • 데이터소스 층은 운영데이터와 백업 파일 등으로 구성되는 4개의층 중에서 가장 원시적인 정보의 집합장소를 말한다
4.1.2 데이터 웨어하우스
  • 데이터웨어하우스는 사용자에 의해 직접 사용되기도 하고 데이터 마트를 구성하는 데이터를 제공하는 역할도 한다.
4.1.3 데이터 마트
  • 데이터마트 층은 작업그룹서버로 설명될 수 있는데, 관계형데이터베이스나 다차원 데이터베이스를 이용하여 구축된다. 다차원 데이터베이스로 구축된 데이터마트는 마우스로 시스템을 조작하는 방식이어서 사용자 인터페이스가 우수하고, 사용자의 업무 구조를 유사하게 반영하고 있어서 개념적으로 이해가 쉽고, 시스템의 반응속도가 빠른 장점이 있다.
4.1.4 클라이언트 시스템
  • 클라이언트 시스템에서 사용자는 쿼리 및 리포팅 툴, OLAP툴, EIS/DSS애플리케이션, 데이터마이닝 애플리케이션, 웹 브라우저를 이용하여 데이터웨어하우스나 데이터마트를 이용하게 되는데 특히 웹 브라우저는 인터넷의 저렴하고 광범위한 데이터 통신이 가능하기 때문에 관심의 대상이 되고 있는데, 데이터웨어하우스에 저장되어 있는 전사 혹은 부문 데이터를 공유할 수 있다는 장점이 있다.


데이터 웨어하우스의 구조

4.2 DW의 5가지 형태
  • 메타 데이터(Meta Data)
  • 현재 상세 데이터(Current Detail Data)
  • 과거 상세 데이터(Older Detail Data)
  • 약간 요약된 데이터(Lightly Summarized Data)
  • 고도로 요약된 데이터(Hight Summarized Data)
구분의미
메타 데이터데이터를 DW에 어떤 데이터를 어떻게 저장할 것인지를 세부적으로 기술하는 설명자 역할 오퍼레이션시스템의 데이터 구조를 DW로 매핑하는데 필요한 데이터를 요약하는데 사용되는 알고리즘을 포함
현재 상세 데이터대개 디스크에 저장되며 가장 최근의 변경사항을 반영 가장 하위 레벨에 위치하므로 대부분 양이 많음
과거 상세 데이터가끔씩 필요에 의해 액세스되는 데이터 현재의 상세 데이터도 정의되는 시간 개념에 따라 과거의 상세 데이터로 바뀌게 됨
약간 요약된 데이터주로 디스크에 저장되며 현재의 상세데이터를 약간 요약한 것
고도로 요약된 데이터주로 디스크에 저장 간결하게 요약되어 쉽게 액세스 가능 약간 요약된 데이터로부터 재차 요약된 데이터
4.3 일반적인 DW 구조

일반적인 DW의 구조는 운영시스템에서 데이터를 추출하여 로드시키는 데이터웨어하우스서버와 서버에 로드 된 데이터를 다차원 모델링으로 분석, 저장하는 저장고(repository) 그리고 DW의 데이터를 다양한 방식으로 액세스하고 분석하는 데이터웨어하우스 애플리케이션 으로 구성된다.
데이터 저장고를 시스템 측면에서 좀 더 자세하게 분류하면 관리하드웨어, 관리소프트웨어, 추출변환정렬도구, 데이터베이스 마케팅시스템, 메타데이터, 최종사용자의 접근 및 활용도구 6가지로 분류하기도 한다.

4.3.1 데이터웨어하우스 서버
  • DW는 비즈니스 트랜잭션 처리를 위한 오퍼레이션 시스템으로부터 선별되어 가공된 데이터들로 이루어진 데이터베이스이다. DW는 read only data들로 이루어져 의사결정에 도움을 주기 위한 조회만이 가능하고 갱신이나 삭제가 일어나지 않는다는 것을 기본 전제로한다.

  • DW는 중앙 집중화된 데이터의 저장고로 생각할 수 있으며, 이곳에는 실제 사용자가 필요로 하는 데이터가 다차원 분석 모델링 으로 구성되어있는 사실테이블, 요약테이블 그리고 메타데이터 들로 구성된다.
    - 사실 테이블(Fact table) - 다차원 분석 모델링
    - 다차원 분석 모델링에서 데이터를 분석하는 방식은 DW에서 하나의 사실 테이블을 다차원으로 분석하는 것을 말하며 해당 그림은 어떤 회사의 조직에 따른 매출액을 다차원 분석으로 모델링한 것으로 차원과 사실 컬럼을 복합하여 많은 수의 관계형 데이터베이스 테이블을 만들고 이를 사용자가 액세스하도록 한다.

  • 메타 데이터는 DW에 있는 데이터에 대한 모든 정보를 포함하여 어떤 데이터를 어떻게 저장할 것인지 세부적으로 기술하는 역할을 하며DW의 핵심이라고 할 수 있다. 하지만 메타 데이터는 DW구축시 사용되는 도구에 의해서 자동으로 구성되어 관리되고 있어 실제 사용자 보다는 관리자에 의해서 DW가 논리적 일관성을 가지도록 관리하는데 사용된다. 그 내용으로는 운영DB에서 데이터웨어하우스시스템에 필요한 내용들의 연관성, 특징, 장보형태, 길이, 명칭, 알고리즘 등을 나타내고 있다. 또한 메타데이터는 분석하고자 하는 주제 영역의 내용까지 포함하고 온라인 운영시스템의 내용까지 상세하게 나타내고 있다. 또한 ETT(Extract, Transformation, Transportation)과정에서 운영시스템의 주요 분석요소를 어떻게 데이터웨어하우스시스템으로 변경시키고 이동시키는지에 대한 알고리즘 및 조건에 대한 내용도 기술한다.
    메타데이터는 DW가 어떻게 구축되고 있고 운영시스템에서 어떤 요소들을 요약하는지에 대한 전반적인 역할을 하는것으로 요약할 수 있다.

4.3.2 데이터웨어하우스 애플리케이션
  • DW 내의 데이터의 고속 접근과 분석을 지원하기 위해 전문가들이나 실제 사용자들이 사용하는 도구
  • DW 애플리케이션은 데이터가 데이터베이스에 들어 있는 이상 다양한 소프트웨어를 통해서 부석 이용할 수 있다.

5. DW 구축

5.1. DW 구축 단계

DW 구축은 사용 도구와 저장 DB의 종류에 따라 다르지만 일반적으로 우선 운영시스템으로부터 데이터를 DW에 적재시키고, 다차원 모델링을 통해 데이터를 테이블 내에 저장하고 최적의 성능을 내도록 관리한다. 그리고 의사결정 지원을 위해 구축된 DW를 액세스하기 위한 사용자 인터페이스 애플리케이션을 개발하고 분석하면 완료된다.

구분의미내용
1단계실행계획 수립조직의 전략계획, 이행계획, 기술적 검토, DW구성요소에 대한 평가 보고서 작성
2단계데이터 모델 검토DB설계와 프로젝트관리 과정을 포함
3단계데이터 성격 규정DW 내에서 데이터를 입력, 보관, 관리하여 최종 사용자가 가장 효율적으로 활용할 수 있도록 데이터의 성격을 규정하는 작업으로 유지관리시 중요한 정보로 활용
4단계데이터 변환 프로그램 작성운영환경에 있는 데이터를 DW의 DB로 변환하기 위해 필요한 정보를 정리한 후, 데이터변환 도구에 의해 작성하고 그 결과 확인
5단계소스 데이터 추출생성된 데이터 변환 프로그램을 이용하여 실제로 DW를 구축하는 반복적인 작업
6단계메타 데이터 설정특정 기능별 부분에 대한 자료의 집중과 질의를 위해 이미 구축된 DW로부터 데이터 복제기능을 이용하여 필요한 부분과 기능별 데이터마트를 별도 구성
7단계데이터 액세스 도구 지원DW룰 구축한 후에 최종 사용자가 데이터를 가장 완벽하게 활용할 수 있도록 하는 과정, 즉 데이터마이닝의 과정
8단계운영환경 점검, 테스트구축 후 지속적인 모니터링을 통해 문제점을 파악하며 시스템을 개선

6.Data Lake 와 Data Mart는?

5.1.Data Lake 는 정형, 반정형 및 비정형 데이터를 비롯한 모든 가공되지 않은 다양한 종류의 데이터를 한 곳에 모아둔 중앙 레포지토리이며 빅데이터를 효율적으로 분석하고 사용하고자 다양한 영역의 Raw Data를 한 곳에 모아서 관리하고자 하는것이 주된 목적이다.
5.2.Data Mart는 금융, 마케팅 또는 영업과 같은 특정한 팀 또는 사업단위의 요구를 충족시키는 DW이다. 규모가 DW보다 더 작고, 집중적이며 사용자 커뮤니티에 가장 잘 맞는 데이터 요약을 포함할 수 있다. Data Mart는 Data Warehouse 의 종속될 수 있습니다.

7. 온라인 분석시스템(OLAP, On Line Analytical Processing)

OLAP 이란 온라인으로 다차원적인 분석을 하는 시스템으로 구축된 DW에 OLAP도구를 활용하여 대규모 데이터를 실시간으로 분석 처리하고 OLAP 도구는 가공되지 않은 데이터를 기업의 실제 비즈니스 관점을 반영하는 정보로 변환하여 기업의 분서가, 관리자, 중역들이 신속하고 일관적이며, 상호 작용 가능한 액세스를 통해 이들 정보를 다양한 각도에서 분석하게 함으로써 기업 정보에 대한 통찰력을 얻을수 있게한다.

8.데이터마이닝

데이터마이닝이란 DW에 숨어있는 전략적인 정보를 발견하거나 정보들 간의 새로운 패턴을 찾아내는 지식추출 기법으로 주로 통계학, 데이터 분석 및 경영정보 분야 등에 사용되어 왔다.(자세한것은 다음에)

REFERENCE
아프면 안되~!
https://bomwo.cc/posts/Datawarehouse/

profile
근육도 개발도 점진적 과부하

0개의 댓글