
빅데이터플랫폼 아키텍쳐에서 우리가 사용할 부분에 대한 스터디를 진행하였다.
| 단계 | 설명 | Hadoop 관련 구성 요소 |
| 1번 | Ingestion: 데이터 수집 | N/A (외부 툴 필요) |
| 2번 | Slow Storage: 데이터 저장 (데이터 레이크 역할) | HDFS |
| 3번 | Batch Processing and Analytics: 배치 처리 및 분석 | MapReduce, YARN |
| 5번 | Data Warehouse: 분석 결과 저장 및 관리 | Hive |
| Data Consumers | Data 소비자: BI 도구, 쿼리 엔진 등 | Presto |
1.1. Ingestion (1번)
- Hadoop에서 해당하는 구성 요소:
- Hadoop 자체에는 Ingestion 도구가 포함되어 있지 않으므로, 외부 도구를 사용해야 함.
- 예시 도구: Apache Kafka, Apache Flume, Sqoop.
- 설명:
- 외부 소스(스트리밍 데이터, 배치 데이터 등)에서 데이터를 수집하여 HDFS로 저장하는 단계.
- 예를 들어, 웹 로그 데이터를 Kafka로 수집하고 이를 HDFS로 전달할 수 있다.
- 우리는 기업에서 전달받은 데이터를 사용하였으므로, 외부 도구는 사용하지 않았다.
1.2. Slow Storage (2번)
- Hadoop에서 해당하는 구성 요소:
- HDFS (Hadoop Distributed File System).
- 설명:
- HDFS는 데이터 레이크(Data Lake)로 작동하며, 대규모 데이터를 분산 저장하고 관리.
- 데이터는 여러 노드에 분산 저장되어 내결함성과 확장성을 보장.
- HDFS는 정형, 비정형 데이터를 모두 저장할 수 있으며, Hive와 같은 도구로 분석할 준비를 한다.
1.3. Batch Processing and Analytics (3번)
- Hadoop에서 해당하는 구성 요소:
- MapReduce와 YARN.
- 설명:
- HDFS에 저장된 데이터를 배치 처리하여 대규모 분석 작업을 수행.
- MapReduce:
- 데이터를 분산 처리하기 위한 Hadoop의 기본 프레임워크.
- 데이터를 Mapper에서 처리하고 Reducer에서 집계.
- YARN:
- 자원 관리 및 작업 스케줄링을 담당.
- 여러 작업(MapReduce, Hive 쿼리 등)을 효율적으로 실행하도록 지원.
1.4. Data Warehouse (5번)
- Hadoop에서 해당하는 구성 요소:
- Hive.
- 설명:
- Hive는 HDFS에 저장된 데이터를 SQL 기반으로 처리할 수 있는 데이터 웨어하우스 역할을 수행.
- HDFS의 데이터를 쿼리 가능한 테이블로 정의하고, 분석에 사용할 수 있도록 관리.
- 데이터를 구조화하여 Presto나 BI 도구에서 활용할 수 있는 형태로 제공한다.
1.5. Data Consumers
- Hadoop에서 해당하는 구성 요소:
- Presto와 외부 BI 도구(Tableau, Power BI 등).
- 설명:
- 데이터 소비자는 Presto를 통해 Hive 테이블에 접근하고, 데이터를 빠르게 분석 및 시각화.
- Presto는 BI 도구와 쉽게 통합 가능하며, 실시간 분석 성능을 제공한다.
2. Hive에 대한 설명
Hive의 주요 역할
- 데이터 웨어하우스:
- HDFS에 저장된 데이터를 SQL 기반으로 처리.
- 데이터 레이크에서 데이터를 구조화하여 쉽게 쿼리 가능하게 변환.
- SQL 기반의 처리:
- HiveQL(Hive Query Language)은 SQL과 유사하며, 사용자는 복잡한 MapReduce 코드를 작성하지 않아도 SQL을 통해 데이터를 처리.
- 대규모 배치 처리:
- Hive는 대규모 데이터 분석에 적합하며, 주로 배치 작업에 사용.
- ETL 작업:
- 데이터를 추출(Extract), 변환(Transform), 로드(Load)하는 데 사용.
Hive의 특징
- 확장성: 대규모 데이터를 처리할 수 있도록 설계.
- 내결함성: HDFS의 내결함성을 상속받아 안정적인 데이터 처리.
- 연동성: Presto, Spark와 같은 분석 도구와 쉽게 통합 가능.
3. Presto에 대한 설명
Presto의 주요 역할
- 실시간 데이터 쿼리:
- Presto는 빠르고 실시간으로 데이터를 쿼리할 수 있는 분산 SQL 엔진.
- 대량의 데이터를 처리하면서도 낮은 지연 시간 제공.
- 다양한 데이터 소스 통합:
- Hive, HDFS, MySQL, Cassandra와 같은 다양한 데이터 소스에 연결 가능.
- 데이터를 이동하지 않고, 저장소에 직접 쿼리.
- BI 도구와의 통합:
- Tableau, Power BI 같은 BI 도구와 쉽게 연동 가능.
Presto의 특징
- 고성능: 배치 처리에 적합한 Hive와 달리, Presto는 실시간 대화형 쿼리에 최적화.
- 확장성: 클러스터 규모에 따라 성능이 향상.
- 분산 아키텍처: 여러 워커 노드에서 병렬 처리를 수행하여 빠른 결과 제공.
Presto와 Hive의 차이점
특징 Hive Presto
| 처리 방식 | 배치 처리 | 실시간 쿼리 |
| 속도 | 상대적으로 느림 (MapReduce 기반) | 빠름 (메모리 기반 처리) |
| 용도 | 대규모 배치 처리 | 대화형 분석, 실시간 쿼리 |
| 데이터 이동 | 데이터 처리 후 저장 필요 | 데이터 이동 없이 쿼리 수행 |
'스터디 > Project' 카테고리의 다른 글
| [Alpha Project] 4. 데이터 분석 및 결과 (0) | 2025.12.02 |
|---|---|
| [Alpha Project] 3. Sample log 데이터 분석 (0) | 2025.11.28 |
| [Alpha Project] 2. 파이프라인 설계 및 구현과정 (0) | 2025.11.28 |
| [Alpha Project-스터디] 클라우드 데이터플랫폼 아키텍쳐 (0) | 2025.11.28 |
| [Alpha Project] 1. 프로젝트 소개 및 진행 과정 (0) | 2025.11.28 |