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

만약 쇼핑을 할 수 있는 앱이 있다면 간단하게 아래와 같은 시스템이 있고 각 시스템에 맞게 데이터들이 DB에 쌓일것입니다.
1.결제 관리 시스템 : 사용자가 쇼핑을 하고 결제를 관리 하는 시스템 (사용자 결제 목록, 결제 내역)
2.재고 관리 시스템 : 현재 옷의 재고를 보고 수량을 관리하는 시스템 (현재 재고수량, 부족한 재고 수량)
3.주문 관리 시스템 : 쇼핑 주문는 하는 시스템 (주문 내역)
4.회원 관리 시스템 : 쇼핑몰 가입하거나 탈퇴하는 관리하는 시스템 (사용자 나이,성별,주소,유저 id)
각각의 시스템은 각자의 목적에 맞게 역할이있고 그에 맞게 DB에 데이터를 저장할 것입니다. 만약 최근 6개월간의 회원들이 어떤 제품을 얼마나 구매했는지 알고싶다면 회원시스템과 주문 관리 시스템의 DB에 쿼리를 작성해서 데이터를 조회할수 있을것입니다.
하지만 운영 시스템에 쿼리(SELECT,JOIN) 등을 기간으로 작성하여 그 데이터가 많다면 시스템에 부하가 발생하여 앱이 동작하지않거나 DB를 분석하는동안 사용할수가 없게됩니다. 시스템DB는 작은규모의 데이터를 조회, 삽입, 삭제, 수정을 빠르게 하기위해 만들어진 시스템이기때문에 큰 규모의 데이터를 조회했을때 부하가 발생할 수 있습니다.

따라서 이런 부하를 발생시키지 않고 운영DB를 추출하여 큰 규모의 데이터를 조회 및 분석을 위해 만들어 진 것이 DW라 할수있습니다.
기존 DB와 DW의 차이점
| 구분 | 기존 데이터베이스 | 데이터 웨어하우스 |
|---|---|---|
| 기능 | 업무 프로세스 | 의사결정 |
| 데이터 형태 | 기능별 상세 데이터 | 주제별 요약 데이터 |
| 데이터 조작 | read/write/update/delete | read only |
| 지향 방향 | 신속한 처리 | 다차원 분석 제공 |
DW는 기존의 정보를 활용해 더 나은 정보를 제공하고, 데이터의 품질을 향상시키며, 조직의 변화를 지원하고 비용과 자원관리의 효율성을 향상시키는것
W.H Inmon이 정의한 데이터웨어하우스의 특징 4가지
| 특징 | 의미 |
|---|---|
| 주제지향성(Subject Oriented) | 업무 중심이 아닌 주제 중심 |
| 통합성(Integrated) | 산개되어잇는 DB로부터의 데이터 통합 |
| 시계열성(Time Variant) | 시간에 따른 변경 정보를 나타냄 |
| 비휘발성(Non-volatile) | 데이터 변경 없이 리포팅을 위한 read only 사용(스냅샷 과같음) |
데이터웨어하우징 환경에서 정보는 제조업자가 제공하는 상품으로 볼 수 있으며, 정보의 흐름은 상품이 제조되어 고객에게 이용되기 까지 과정과 유사한 일련의 흐름을 거치게 된다. 즉, 생산(OLTP시스템) - 저장 및 분배(DW) - 소매(애플리케이션) 과정으로 이루어진다.

데이터 웨어하우스의 구조
| 구분 | 의미 |
|---|---|
| 메타 데이터 | 데이터를 DW에 어떤 데이터를 어떻게 저장할 것인지를 세부적으로 기술하는 설명자 역할 오퍼레이션시스템의 데이터 구조를 DW로 매핑하는데 필요한 데이터를 요약하는데 사용되는 알고리즘을 포함 |
| 현재 상세 데이터 | 대개 디스크에 저장되며 가장 최근의 변경사항을 반영 가장 하위 레벨에 위치하므로 대부분 양이 많음 |
| 과거 상세 데이터 | 가끔씩 필요에 의해 액세스되는 데이터 현재의 상세 데이터도 정의되는 시간 개념에 따라 과거의 상세 데이터로 바뀌게 됨 |
| 약간 요약된 데이터 | 주로 디스크에 저장되며 현재의 상세데이터를 약간 요약한 것 |
| 고도로 요약된 데이터 | 주로 디스크에 저장 간결하게 요약되어 쉽게 액세스 가능 약간 요약된 데이터로부터 재차 요약된 데이터 |
일반적인 DW의 구조는 운영시스템에서 데이터를 추출하여 로드시키는 데이터웨어하우스서버와 서버에 로드 된 데이터를 다차원 모델링으로 분석, 저장하는 저장고(repository) 그리고 DW의 데이터를 다양한 방식으로 액세스하고 분석하는 데이터웨어하우스 애플리케이션 으로 구성된다.
데이터 저장고를 시스템 측면에서 좀 더 자세하게 분류하면 관리하드웨어, 관리소프트웨어, 추출변환정렬도구, 데이터베이스 마케팅시스템, 메타데이터, 최종사용자의 접근 및 활용도구 6가지로 분류하기도 한다.
DW는 비즈니스 트랜잭션 처리를 위한 오퍼레이션 시스템으로부터 선별되어 가공된 데이터들로 이루어진 데이터베이스이다. DW는 read only data들로 이루어져 의사결정에 도움을 주기 위한 조회만이 가능하고 갱신이나 삭제가 일어나지 않는다는 것을 기본 전제로한다.
DW는 중앙 집중화된 데이터의 저장고로 생각할 수 있으며, 이곳에는 실제 사용자가 필요로 하는 데이터가 다차원 분석 모델링 으로 구성되어있는 사실테이블, 요약테이블 그리고 메타데이터 들로 구성된다.
- 사실 테이블(Fact table) - 다차원 분석 모델링
- 다차원 분석 모델링에서 데이터를 분석하는 방식은 DW에서 하나의 사실 테이블을 다차원으로 분석하는 것을 말하며 해당 그림은 어떤 회사의 조직에 따른 매출액을 다차원 분석으로 모델링한 것으로 차원과 사실 컬럼을 복합하여 많은 수의 관계형 데이터베이스 테이블을 만들고 이를 사용자가 액세스하도록 한다.

메타 데이터는 DW에 있는 데이터에 대한 모든 정보를 포함하여 어떤 데이터를 어떻게 저장할 것인지 세부적으로 기술하는 역할을 하며DW의 핵심이라고 할 수 있다. 하지만 메타 데이터는 DW구축시 사용되는 도구에 의해서 자동으로 구성되어 관리되고 있어 실제 사용자 보다는 관리자에 의해서 DW가 논리적 일관성을 가지도록 관리하는데 사용된다. 그 내용으로는 운영DB에서 데이터웨어하우스시스템에 필요한 내용들의 연관성, 특징, 장보형태, 길이, 명칭, 알고리즘 등을 나타내고 있다. 또한 메타데이터는 분석하고자 하는 주제 영역의 내용까지 포함하고 온라인 운영시스템의 내용까지 상세하게 나타내고 있다. 또한 ETT(Extract, Transformation, Transportation)과정에서 운영시스템의 주요 분석요소를 어떻게 데이터웨어하우스시스템으로 변경시키고 이동시키는지에 대한 알고리즘 및 조건에 대한 내용도 기술한다.
메타데이터는 DW가 어떻게 구축되고 있고 운영시스템에서 어떤 요소들을 요약하는지에 대한 전반적인 역할을 하는것으로 요약할 수 있다.
DW 구축은 사용 도구와 저장 DB의 종류에 따라 다르지만 일반적으로 우선 운영시스템으로부터 데이터를 DW에 적재시키고, 다차원 모델링을 통해 데이터를 테이블 내에 저장하고 최적의 성능을 내도록 관리한다. 그리고 의사결정 지원을 위해 구축된 DW를 액세스하기 위한 사용자 인터페이스 애플리케이션을 개발하고 분석하면 완료된다.
| 구분 | 의미 | 내용 |
|---|---|---|
| 1단계 | 실행계획 수립 | 조직의 전략계획, 이행계획, 기술적 검토, DW구성요소에 대한 평가 보고서 작성 |
| 2단계 | 데이터 모델 검토 | DB설계와 프로젝트관리 과정을 포함 |
| 3단계 | 데이터 성격 규정 | DW 내에서 데이터를 입력, 보관, 관리하여 최종 사용자가 가장 효율적으로 활용할 수 있도록 데이터의 성격을 규정하는 작업으로 유지관리시 중요한 정보로 활용 |
| 4단계 | 데이터 변환 프로그램 작성 | 운영환경에 있는 데이터를 DW의 DB로 변환하기 위해 필요한 정보를 정리한 후, 데이터변환 도구에 의해 작성하고 그 결과 확인 |
| 5단계 | 소스 데이터 추출 | 생성된 데이터 변환 프로그램을 이용하여 실제로 DW를 구축하는 반복적인 작업 |
| 6단계 | 메타 데이터 설정 | 특정 기능별 부분에 대한 자료의 집중과 질의를 위해 이미 구축된 DW로부터 데이터 복제기능을 이용하여 필요한 부분과 기능별 데이터마트를 별도 구성 |
| 7단계 | 데이터 액세스 도구 지원 | DW룰 구축한 후에 최종 사용자가 데이터를 가장 완벽하게 활용할 수 있도록 하는 과정, 즉 데이터마이닝의 과정 |
| 8단계 | 운영환경 점검, 테스트 | 구축 후 지속적인 모니터링을 통해 문제점을 파악하며 시스템을 개선 |
5.1.Data Lake 는 정형, 반정형 및 비정형 데이터를 비롯한 모든 가공되지 않은 다양한 종류의 데이터를 한 곳에 모아둔 중앙 레포지토리이며 빅데이터를 효율적으로 분석하고 사용하고자 다양한 영역의 Raw Data를 한 곳에 모아서 관리하고자 하는것이 주된 목적이다.
5.2.Data Mart는 금융, 마케팅 또는 영업과 같은 특정한 팀 또는 사업단위의 요구를 충족시키는 DW이다. 규모가 DW보다 더 작고, 집중적이며 사용자 커뮤니티에 가장 잘 맞는 데이터 요약을 포함할 수 있다. Data Mart는 Data Warehouse 의 종속될 수 있습니다.
OLAP 이란 온라인으로 다차원적인 분석을 하는 시스템으로 구축된 DW에 OLAP도구를 활용하여 대규모 데이터를 실시간으로 분석 처리하고 OLAP 도구는 가공되지 않은 데이터를 기업의 실제 비즈니스 관점을 반영하는 정보로 변환하여 기업의 분서가, 관리자, 중역들이 신속하고 일관적이며, 상호 작용 가능한 액세스를 통해 이들 정보를 다양한 각도에서 분석하게 함으로써 기업 정보에 대한 통찰력을 얻을수 있게한다.
데이터마이닝이란 DW에 숨어있는 전략적인 정보를 발견하거나 정보들 간의 새로운 패턴을 찾아내는 지식추출 기법으로 주로 통계학, 데이터 분석 및 경영정보 분야 등에 사용되어 왔다.(자세한것은 다음에)