이번 포스팅에서는 빅데이터란 무엇인지 알아보고, 나아가 빅데이터 플랫폼과 빅데이터 아키텍처에 대한 내용도 정리해 보도록 하겠다.
"빅데이터란 무엇일까?"
빅데이터란 기존에 존재하는 데이터 처리 응용 소프트웨어로는 처리할 수 없을 만큼 "방대한 양의 데이터"를 의미한다. 뿐만 아니라 빅데이터란 데이터로부터 가치를 추출하고 결과를 "분석하는 기술"로도 그 의미를 갖는다.
"빅데이터 플랫폼, 빅데이터 아키텍처?"
우선 플랫폼이란 많은 사람들이 쉽게 이용할 수 있고, 다양한 목적의 비즈니스가 이루어지는 공간이라고 할 수 있겠다. 빅데이터 플랫폼은 "빅데이터 + 플랫폼"의 개념으로, 빅데이터 수집부터 저장/처리/분석 등 전 과정을 통합적으로 제공하여 해당 기술들을 잘 사용할 수 있도록 준비된 공간이라고 볼 수 있겠다.
이러한 빅데이터 플랫폼을 구축하기 위해서는 "빅데이터 아키텍처"에 대한 이해도가 필요하다. 빅데이터 아키텍처란 아래 그림과 같이 모든 업무를 빅데이터 측면에서 처음부터 끝까지 체계화한 설계도라고 할 수 있다. 빅데이터 플랫폼을 잘 구축하고 활용 및 관리하기 위해서는 이 빅데이터 아키텍처를 잘 설계하는 것이 무엇보다 중요하다.
빅데이터 아키텍처를 설계하는 일은 매우 중요하기에, 세부적으로 살펴보도록 하겠다!
우선 빅데이터 아키텍처를 구성하는 단계는 크게 5단계로 나뉜다.
1. Sources (비즈니스 및 운영 데이터 생성 단계)
2. Ingestion and Processing (ETL 단계)
3. Storage (쿼리 및 프로세싱이 가능한 형태로 데이터를 저장하는 단계)
4. Analytics and Prediction (데이터를 분석 및 탐색하는 단계)
5. Output (데이터 분석 결과를 시각화 및 애플리케이션에 적용하는 단계)
* 모든 과정은 workflow management를 통해 관리된다!
각 단계 별로 조금 더 자세히 살펴보면 다음과 같다.
- Sources (비즈니스 및 운영 데이터 생성 단계)
- 정형 데이터 (ex. RDBMS, 스프레드시트)
- 비정형 데이터 (ex. 이미지, 텍스트, 음성, 영상)
- 반정형 데이터 (ex. JSON, XML, 웹 로그, 센서 데이터)
- Ingestion and Processing (ETL 단계)
- 배치형 데이터 수집
- ex) 데이터베이스, 파일
- 배치 처리 >> MapReduce, Spark, Hive, ...
- 스트리밍형(실시간) 데이터 수집
- ex) 애플리케이션 이벤트, 로그, 센서 데이터
- 스트림 처리 >> Flink, Spark, Kafka, ...
- 하이브리드 데이터 수집 (실시간 수집을 위한 것)
- Lambda 아키텍처
- "배치 처리 + 스트림 처리"
- 총 3개의 Layer로 구성 (Batch Layer, Serving Layer, Speed Layer)
- 비효율적 >> 이러한 문제를 보완하고자 Kappa 아키텍처가 개발되었다!
- Kappa 아키텍처
- Lambda 아키텍처와 다르게, Batch Layer가 제거된 아키텍처이다.
- 즉, Lambda 아키텍처에 비해 단순한 형태!
- Lambda 아키텍처와 다르게, Batch Layer가 제거된 아키텍처이다.
- Lambda 아키텍처
- 배치형 데이터 수집
- Storage (쿼리 및 프로세싱이 가능한 형태로 데이터를 저장하는 단계)
- Data Warehouse
- ex) Google BigQuery, Amazon Redshift, Snowflake, ...
- Data Lake (Raw data 저장)
- ex) AWS S3, HDFS, ...
- Data Warehouse
- Analytics and Prediction (데이터를 분석 및 탐색하는 단계)
- Interactive Query Engine
- ex) Trino, Presto, (Cloudera) Impala, ...
- 데이터 분석가 또는 데이터 과학자들이 쉽고 빠르게 분석을 진행할 수 있는 환경을 제공해준다.
- Realtime Analytics (실시간 분석 지원)
- ex) Druid, Pinot, ClickHouse, ...
- Machine Learning
- ex) Spark, Amazon SageMaker, Azure Machine Learning, Mahout, ...
- Interactive Query Engine
- Output (데이터 분석 결과를 시각화 및 애플리케이션에 적용하는 단계)
- ex) Tableau, Superset, Redash, ...
- 데이터 기반의 의사결정을 지원하고, 프로덕트를 향상시킨다.
* Workflow Management
구축한 파이프라인에 대한 워크플로우 스케줄링 작업을 위해 사용되는 대표적인 도구들은 다음과 같다.
- ex) Airflow, Azkaban, Luigi, Oozie, ...
<Reference>
1. [패스트캠퍼스] 한 번에 끝내는 빅데이터 처리 with Spark&Hadoop 강의
'Data Engineering > Hadoop Ecosystem' 카테고리의 다른 글
[Airflow Master Class] Docker 및 Airflow 설치 (0) | 2023.08.20 |
---|---|
[Airflow Master Class] WSL 설치 & 리눅스(Linux) 기본 명령어 (0) | 2023.08.20 |
[FastCampus-DE] 4. Hadoop & HDFS (0) | 2022.07.27 |
[FastCampus-DE] 3. 빅데이터 플랫폼과 Hadoop Ecosystem (0) | 2022.07.26 |
[FastCampus-DE] 2. 데이터 파이프라인 (0) | 2022.07.26 |