-
데이터 레이크하우스 아키텍처[IT] 공부하는 개발자/Data - ALL 2024. 12. 10. 16:33
데이터 레이크하우스 아키텍처를 이해하려면 먼저 데이터 레이크, 데이터 웨어하우스에 대해서도 알아야한다.
데이터 레이크 vs 데이터 웨어하우스 vs 데이터 레이크하우스
데이터 레이크와 데이터 웨어하우스의 장점을 결합한 것이 발전된 방향의 데이터 레이크하우스!!
ACID 트랜잭션, 오픈 포맷 기반, 저렴한 운영 비용...
데이터 레이크
기술 스택
- 저장소:
- Amazon S3, Azure Data Lake Storage (ADLS), Google Cloud Storage (GCS).
- 온프레미스 환경에서는 Hadoop Distributed File System (HDFS) 사용.
- 파일 포맷:
- Apache Parquet, ORC, Avro (열지향 포맷 추천).
- 데이터 처리:
- Apache Spark, Apache Flink, Presto를 활용해 대규모 데이터 처리.
- 메타데이터 관리:
- Apache Hive Metastore 또는 AWS Glue Catalog.
데이터 웨어하우스
기술 스택
- 데이터베이스:
- Amazon Redshift, Google BigQuery, Snowflake (클라우드 기반).
- 온프레미스에서는 Oracle Exadata, Teradata 등 전통적 SAN, NAS, 디스크 스토리지
- ETL 도구:
- Apache Nifi, Talend, Informatica, AWS Glue를 활용해 데이터 정제 및 적재.
- BI 도구:
- Tableau, Power BI, Looker를 통해 데이터 시각화.
데이터 레이크하우스
데이터 레이크하우스는 데이터 웨어하우스에서 가능한 ACID 트랜잭션등의 고급 기능을 데이터 레이크의 저렴한 스토리지에서 구현할 수 있게 한 것이다.
기술 스택
- 저장소:
- 독립적인 스토리지 아키텍처, 디스크 또는 SAN/NAS 기반 스토리지
- 테이블 포맷:
- Apache Iceberg, Delta Lake, 또는 Apache Hudi.
- 데이터 처리 및 분석:
- Apache Spark, Dremio, Databricks.
- 데이터 관리 도구:
- Nessie, AWS Glue Catalog를 통한 카탈로그 관리.
- 스트리밍:
- Apache Kafka, Flink를 통해 실시간 데이터 처리.
도입 과정
- 데이터 통합:
- 데이터 레이크의 데이터를 Iceberg와 같은 테이블 포맷으로 관리.
- ACID 트랜잭션을 지원하여 데이터 일관성 확보.
- 실시간 분석:
- Kafka와 Flink를 사용해 실시간 스트리밍 데이터 처리.
- Dremio 또는 Databricks에서 ML/AI 워크로드 실행.
- 시간여행 및 버전 관리:
- Iceberg의 시간여행 기능을 통해 과거 데이터를 복원하거나 분석.
- 테이블 스냅샷을 사용해 데이터 변경 내역을 관리.
- BI 및 ML 통합:
- Looker로 BI 보고서 작성, Spark MLlib으로 예측 분석 수행.
3가지 아키텍처를 운영하는 사례
1. IoT 센서 데이터 처리 (데이터 레이크)
- 센서로부터 수집한 대규모 로그 데이터를 S3에 저장.
- Apache Spark를 사용하여 비정형 데이터를 정제.
2. 판매 데이터 분석 (데이터 웨어하우스)
- 데이터 레이크에서 정제한 매출 데이터를 Snowflake로 적재.
- BI 도구(Tableau)로 대시보드 생성.
3. 고객 행동 분석 및 예측 (데이터 레이크하우스)
- Iceberg 테이블로 고객 데이터를 관리하며 실시간 업데이트 반영.
- Kafka를 사용하여 실시간 이벤트 스트리밍 처리.
- Spark MLlib으로 고객 행동을 예측하는 머신러닝 모델 실행.
기술 통합 전략
- 데이터 레이크를 기본 저장소로 활용하여 모든 데이터를 수집.
- 중요한 분석용 데이터는 데이터 웨어하우스에 적재하여 고성능 쿼리 수행.
- 고급 분석과 실시간 처리를 위해 데이터 레이크하우스를 병행 운영.
Reference.
https://www.skcc.co.kr/insight/trend/2696
http://www.itdaily.kr/news/articleView.html?idxno=208876
& ChatGPT
'[IT] 공부하는 개발자 > Data - ALL' 카테고리의 다른 글
Spark JAR에 대해 연구해보자... 너는 무엇을 하는 아이니 (0) 2024.12.12 [Kafka] 카프카의 실전 서비스 운영 (1) 2024.09.18 [Hive] 하이브 핵심정리 (1) 2023.10.19 Zeppelin 과 Notebook 비교, 어떤 것을 고를까? (1) 2023.05.18 [Streamlit] 설치 단계에서 발생한 이슈와 해결방법 정리 (0) 2023.04.16 - 저장소: