Data Lake 란?
Data Lake 란?
Data Lake 란 무엇인가?
정보
엔터프라이즈 환경 내의 다양한 소스로부터 원본 데이터를 흭득, 처리, 분석 및 제공을 하는 거대한 규모의 데이터 저장소
- 데이터 레이크는 정형 데이터, 반정형 데이터, 비정형 데이터 들을 구분하지 않고 모든 데이터를 저장한다
- 데이터 레이크는 온프레미스 또는 클라우드 에 구축될 수 있다.
- AWS 의 경우 Amazon S3 를 주로 사용한다.
데이터 레이크 장점
- 정보 기반의 의사 결정에 도움을 줄 수 있다.
- 데이터 포맷과 관계없이 한곳의 데이터 저장소에서 수집 & 관리를 할 수 있다
- 데이터의 사일로 문제를 해결할 수 있다.
데이터 레이크의 흐름
1. 데이터 수집
- 다양한 소스로부터 원본 데이터 그대로 ( 혹은 최소한의 변경으로 ) 데이터룰 수집한다.
2. 데이터 처리
- 수집한 데이터를 요구사항에 맞춰 가공하여 별도의 모델로 처리한다
3. 데이터 처리
- 데이터 요구사항에 맞게 필요한 형태로 분석한다
4. 데이터 저장
- 분석된 데이터를 적합한 데이터 저장소에 저장한다.
데이터 레이크 요구사항
- 수집 데이터는 한 곳에 저장해야 한다.
- 저장 & 처리 공간이 유연 ( Scalable ) 해야 한다.
- 데이터 생애 주기 ( Data life Cycle ) 정의가 가능해야 한다.
- 안정적으로 서비스가 운영되어야 한다.
- 운영용, 통계용 데이터베이스가 분리되어야 한다.
- 데이터 관련 다양한 솔루션들과 호환이 쉬워야 한다.
데이터 웨어하우스 vs 데이터 레이크
| 이름 | 데이터 웨어하우스 | 데이터 레이크 |
|---|---|---|
| 데이터 | 관계형 데이터 | 관계형 및 비관계형 데이터 |
| 스키마 | 데이터 웨어하우스 구현 전 설계됨 ( Schema on Write ) | 분석 시 사용됨 ( Schema on Read ) |
| 가격 / 성능 | 고비용 스토리지를 사용하여 빠른 결과물을 얻음 | 저비용 스토리지를 사용하여 쿼리 결과의 속도가 빠름 |
| 분석 | 배치 보고, 시각화 ( BI ) | 기계 학습, 예측 분석, 프로파일링 등 |
데이터 레이크 - S3 설계 개념
Tier-1. 원본 데이터
- 원본 데이터의 저장과 보관
- 최소한의 데이터 변환 작업만 진행
- S3 의 Life Cycle 기능을 활용하여 S3-IA 혹은 Glacier 로 저장하여 저장 비용 감소
Tier-2. 분석용 데이터
- Parquet / ORC 같은 Columnar 포맷 사용
- 파티션 정책에 따라 데이터 분산 및 유지 관리
- 분석을 위한 최적화
Tier-3. 특정 분석 목적 데이터 ( Optional )
- 도메인 레벨로 데이터 마트 분리
- Use Case 에 적합한 구성
- 특정 분석 방식에 적합한 데이터 변경 ( Machine Learning, AI )