본문 바로가기

Library/Database

Data Warehousing

데이터베이스는 크게 2가지 목적에서 사용된다. 즉, 트랜잭션 처리(OnLine Transaction Process), 분석(OnLine Transaction Analysis)이 그것이다. 예를 들어, 인터넷은 거대한 데이터베이스로 생각할 수 있다. 여기서 실제로 유용한 정보를 찾아내는 것이 중요한데, 여기서 의미있는 데이터를 얻어내기 위한 분석 따위를 의미하는 것을 OLAP라 할 수 있다. OLTP가 동적인 형태인 것에 비해서, OLAP는 좀 더 정적인 형태를 가진다.

즉, 데이터 웨어하우징은, 흩어져 있는 데이터들을 분석에 적합한 형태로 통합, 관리하는 것이라 할 수 있다. 그렇다면, 어떤 방식으로 데이터가 저장되는가? 보통 다차원 배열 형태로 저장된다고 할 수 있는데, 이것을 기하학적인 의미로 생각할 필요는 없다. 하나의 데이터가 여러 개의 연관된 인자를 가질 수 있다는 의미이다. 이 연관 관계는 위상으로 표현될 수 있다,

여기서, fact 테이블과 dimension 테이블 개념이 나오는데, fact 테이블이란, 실제 관심이 있는 값들을 연관시키고 싶을 때, 연관된 기본키를 찾는 테이블을 말한다. dimension 테이블은, fact 테이블에서 얻어진 기본키로 연관 값을 가지는 테이블을 말한다. 이 dimension 테이블은 보통 정규화하지 않는데, 그 이유는 OLAP에서 사용되는 데이터베이스의 dismension 테이블은 정적이며, 갱신, 추가, 삭제 따위가 의미 없기 때문이다.