1 데이터 저장소
데이터 엔지니어링은 데이터의 수집, 처리, 저장, 변환, 배포 등 데이터를 효율적으로 관리하고 분석에 적합한 형태로 제공하는 작업입니다.
Data Lake, Data Warehouse, Data Mart는 데이터 엔지니어링의 중요한 구성 요소이다.
Data Lake, Data Warehouse, 그리고 Data Mart는 데이터 저장 및 관리 아키텍처의 개념이다.
1.1 Data Lake
- Data Lake는 원시 데이터(raw data)를 거의 가공하지 않고 저장하는 대규모 저장소이다.
- 구조화된 데이터(예: 테이블 형식 데이터)뿐만 아니라 비구조화된 데이터(예: 이미지, 비디오, 로그 파일 등)도 함께 저장할 수 있다.
- 특징
- 데이터를 변환하거나 구조화하기 전에 저장.
- 저장 비용이 저렴하고 대용량 데이터를 다룰 수 있음.
- 데이터 처리는 나중에 필요할 때 적용(ELT 방식: Extract, Load, Transform).
- 데이터 분석, 머신러닝 등의 고급 분석에 자주 사용.
- 주요 사용처: 빅데이터 분석, 머신러닝 모델 훈련, 비정형 데이터를 다루는 경우.
- 데이터를 변환하거나 구조화하기 전에 저장.
1.2 Data Warehouse
- Data Warehouse는 구조화된 데이터를 저장하는 중앙화된 데이터 저장소이다.
- 여러 소스에서 데이터를 수집한 후, 데이터를 변환하고 정제하여 저장하므로 정형화된 데이터만 저장한다.
- 특징
- ETL 프로세스(Extract, Transform, Load)를 사용해 데이터 변환 후 저장.
- 분석 및 보고를 위한 데이터가 사전 정의된 스키마에 맞춰 저장됨.
- 실시간 쿼리 성능이 중요하며, 비즈니스 인텔리전스(BI) 분석에 주로 사용.
- 주요 사용처: 비즈니스 분석, 데이터 마이닝, 보고서 작성.
- ETL 프로세스(Extract, Transform, Load)를 사용해 데이터 변환 후 저장.
1.3 Data Mart
- Data Mart는 특정 부서 또는 팀이 필요로 하는 데이터만 모아둔 소규모 데이터 저장소이다.
- Data Warehouse의 하위 집합으로 볼 수 있다.
- 특징
- 비즈니스 단위에 맞춘 데이터 서브셋.
- Data Warehouse보다 가볍고 빠른 접근이 가능.
- 특정 목적(예: 마케팅 분석, 재무 보고)을 위해 구조화된 데이터를 사용.
- 주요 사용처: 특정 부서의 분석 요구(예: 재무부, 마케팅부) 또는 특정 주제별 분석.
- 비즈니스 단위에 맞춘 데이터 서브셋.
1.4 주요 차이점
- 데이터의 가공 여부
- Data Lake는 원시 데이터를 저장
- Data Warehouse는 정제된 데이터를 저장
- Data Mart는 특정 부서 또는 목적에 맞춘 데이터를 저장.
- Data Lake는 원시 데이터를 저장
- 데이터 구조
- Data Lake는 비정형 데이터와 정형 데이터를 모두 저장
- Data Warehouse와 Data Mart는 구조화된 데이터에 초점을 맞춤.
- Data Lake는 비정형 데이터와 정형 데이터를 모두 저장
- 사용 목적
- Data Lake는 분석과 머신러닝에 사용될 수 있음
- Data Warehouse는 비즈니스 인텔리전스와 보고에 사용될 수 있음
- Data Mart는 특정 부서나 팀의 요구에 맞는 데이터 분석에 사용될 수 있음.
- Data Lake는 분석과 머신러닝에 사용될 수 있음
1.5 추가적인 데이터 저장소 개념
- Operational Data Store (ODS)
- 실시간 데이터를 저장하는 저장소
- 주로 운영 데이터 처리를 위한 시스템
- 실시간 데이터 통합과 분석을 위해 사용되며, ETL 처리를 기다릴 필요 없이 데이터를 즉시 사용할 수 있다.
- 실시간 데이터를 저장하는 저장소
- Data Lakehouse
- Data Lake와 Data Warehouse의 장점을 결합한 하이브리드 아키텍처
- 비정형 데이터와 정형 데이터를 한곳에 저장하고, 분석을 위한 스키마와 ETL 프로세스도 제공하는 형태로 발전한 개념
- Data Lake와 Data Warehouse의 장점을 결합한 하이브리드 아키텍처
- NoSQL Databases
- 전통적인 관계형 데이터베이스(RDBMS)와는 달리, 다양한 데이터 형식을 저장
- 스키마가 필요 없다.
- 대규모 분산 시스템에서 특히 효과적이다.
- 예시: MongoDB, Cassandra
- 전통적인 관계형 데이터베이스(RDBMS)와는 달리, 다양한 데이터 형식을 저장
- Graph Databases
- 노드와 엣지로 구성된 그래프 형태로 데이터를 저장
- 데이터 간의 관계가 중요한 상황에서 유용
- 예시: Neo4j, Amazon Neptune
- 노드와 엣지로 구성된 그래프 형태로 데이터를 저장