외부 데이터, 내부 데이터, 로그 데이터를 저장하는 DB가 각자 분리되어있던 전통적인 시스템에서는 각각의 DB에 들어있는 데이터를 따로 분석하여 의사결정을 내렸다. 이후 하드웨어나 데이터 구조의 발전에 따라 각기 다른 데이터들을 데이터 웨어하우스(Data Warehouse; DW)에 옮겨담게 되었고, 통합된 데이터 대쉬보드를 구성할 수 있게 되었다.
전통적인 데이터베이스(RDB)에서는 효율적인 데이터 탐색과 저장공간 절감을 위해 정규화 된 스키마를 사용하고 있었다. 과도한 읽기, 낮은 쓰기의 특징을 띄는 데이터 분석 워크로드에 정규화된 스키마를 사용하는것은 비효율적이었기에, 덜 정규화 되었지만 JOIN 작업에 효율적인 스타 스키마의 형태로 데이터를 저장하게 되었다.
스타 스키마 혹은 조인 스키마란, 한 개의 Fact table과 Primary key 및 각 차원과 추가적인 사실들로 이루어진 스키마이다. Fact table은 각 Dimention table의 Primary key들 또는 숫자 데이터들을 Column으로써 포함하며, Dimension table과의 JOIN을 통해 비졍규화 된 데이터를 나타낼 수 있다.
스타 스키마는 복잡도가 낮고 이해하기 쉬우며 쿼리 작성이 용이하고 조인 수가 적지만, 비정규화에 따른 데이터의 중복이 발생하고, 상대적으로 성능이 저하된다.
ETL 파이프라인
비즈니스 데이터 분석을 하기 위해 기존 DB에서 DW로의 이관이 필요하다. 이 때 사용되는 프로세스를 ETL(Extract-Transform-Load)이라 부른다. 기존 DB에서 데이터를 추출, DW의 스키마 형태에 맞도록 변형, DW에 적재하는 과정이다.
이러한 작업은 데이터의 종류와 크기가 복잠해짐에 따라 적절한 변환 과정을 적용하기 어렵게 만들었다. 이를 해결하기 위해 기존 DB에서 추출한 데이터를 우선 적재하여 필요할 때 마다 적절한 변환을 거치는 ELT 프로세스가 탄생하였다.
ELT 파이프라인
ELT(Extract-Load-Transform) 프로세스는 기존 DB에서 데이터를 추출, 적재, 분석에 필요한 데이터의 형태에 맞도록 변형하는 과정이다.
DW에도 데이터를 적재할 수 있지만, 일반적으로 데이터 레이크(Data Lake; DL)에 데이터를 담아둔다. DL에 담겨진 이미지, 동영상, 파일, 테이블 등의 데이터들은 분석 혹은 모델 학습에 용이하게 사용될 수 있게 일부 특정 형태로 변형하는데, 이를 데이터 마트(Data Mart; DM)라 부른다. BI툴, 딥러닝 애플리케이션과 같은 데이터 사용자들은 DM에 접근하여 자신이 원하는 형태의 데이터를 제공받을 수 있다.