Design a Data Warehouse | System Design
- 데이터 웨어하우스는 다양한 데이터 출처에서 데이터를 수집, 변환, Centralized 데이터 스토리지로 로딩하여 분석을 수행하는 시스템입니다 🦄
- 데이터 웨어하우스 기능 요구사항은 데이터 수집, 데이터 변환 및 분석가가 데이터에 쉽게 액세스할 수 있는 쿼리 인터페이스 제공입니다 🤓
- 데이터 웨어하우스 비기능 요구사항은 데이터 로딩 응답 속도 및 대용량 데이터 처리 기능입니다 ⚡️
- 데이터 출처로는 분석 서비스 (예: Amplitude, PostgREST) 와 애플리케이션 데이터베이스가 있습니다 📚
- 데이터를 데이터 웨어하우스에 적재하는 방법으로는 배치 작업을 사용하여 데이터베이스에서 데이터를 추출하여 트랜스폼하고 데이터 레크(data Lake) 로 로딩하는 ETL 과정이 있습니다 📥
- 스케일링 문제를 해결하기 위해 배치 작업 대신 Spark와 같은 분산 처리 프레임워크를 사용하여 병행 처리를 사용할 수 있습니다 ⚙️