Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- etl
- MLOps
- Kubernetes
- Kubeflow
- Kibana
- Opensearch
- Minikube
- 파이썬
- 파이썬답게생각하기
- 데이터 플랫폼
- elk
- 쿠버네티스
- fluentd
- 하이브
- AWS Glue
- Spark
- mesos
- Python
- gcp
- 쿠버플로우
- 파이썬처럼생각하기
- 리눅스
- 머신러닝
- hive
- Tabular
- MachineLearning
- TABNET
- yarn
- 쿠버플로
- 데이터 아키텍처
Archives
- Today
- Total
데이터를 걷는 선비
클라우드 데이터 플랫폼의 빌딩 블록(building block) 본문
본 포스팅은 "데이터 플랫폼 설계와 구축(다닐 즈부리브스키 외 저)"를 보고 작성했습니다.
http://acornpub.co.kr/book/cloud-data-platforms#toc
데이터 플랫폼 설계와 구축
다양한 소스에서 데이터를 수집하기 위한 패턴을 찾고, 클라우드 공급업체에서 제공하는 서비스를 활용하는 방법을 배울 수 있다.
www.acornpub.co.kr
데이터 플랫폼의 목적은 분석에 활용될 수 있도록 어떤 유형의 데이터든 비용 효과적으로 데이터를 수집, 저장, 처리해서 활용할 수 있도록 제공하는 것이다.
이를 위해 데이터 플랫폼은 계층 간 느슨하게 결합되어 있는 형태의 아키텍처를 지향한다.
데이터 플랫폼 아키텍처에는 위 그림과 같이 수집(ingestion), 저장(storage), 처리(processing), 서비스(Serving) 계층의 기본 구성 요소가 있는데 각 계층 별 특징을 나이브하게 알아보자!!
[수집 계층]
- 수집 계층은 데이터를 데이터 플랫폼으로 가져온다. 데이터 베이스, 파일 스토리지, 스트리밍 소스, API 등 다양한 데이터 소스로 부터 데이터를 추출하는 역할을 담당한다.
- 기업에서 활용하고자 하는 데이터 소스가 다양하기에 이 계층은 유연성이 높아야 한다.
- 수집 계층 특징 중 중요한 하나는 이 계층에서는 어떤 경우에도 수집되는 데이터를 수정하거나 변환해서는 안된다는 것으로, 데이터 레이크에 처리되지 않은 원시 데이터를 보관함으로써, 데이터 계통 추적(lineage tracing)및 재처리(reprocessing)할 수 있도록해야 한다.
[스토리지 계층]
- 데이터 소스로부터 데이터를 수집해오면 데이터 스토리지 계층에서 데이터를 저장한다.
- 데이터의 수집 속도와 양을 언제든지 수용하도록 확장성이 뛰어나야 하며, 비용도 저렴해야 한다.
- 클라우드 스토리지는 업로드할 수 있는 파일 형식에 제한이 없다. 텍스트 파일(csv, json), 아브로(Avro), 파케이(Parquet), 이미지, 비디오와 같은 거의 모든 파일 형식을 데이터 플랫폼에 저장할 수 있어야 한다.
- NAS(Network-Attached Storage) 또는 하둡 HDFS와 비슷한듯 다른데 차이점은 아래와 같다.
- 클라우드 스토리지는 완전 관리형 서비스이기에, 사용자가 유지보수, SW 업그레이드 등에 대해 고민할 필요가 없다.
- 클라우드 스토리지는 탄력성이 높다, 즉 요청에 맞게 언제든지 스토리지의 크기를 늘리거나 줄일 수 있다.
- 비용 역시 탄력적이다.
- 컴퓨팅 리소스와 분리되어 있어서 대량의 데이터 저장 공간 확보를 위해 불필요한 컴퓨팅 자원을 구매하지 않아도 된다.
[처리 계층]
- 수집된 원시 데이터는 스토리지에 먼저 저장된 후, 활용 목적에 맞게 저장된 데이터를 처리한다.
- 데이터 레이크 구축에서 가장 관심이 집중되는 영역
- 기존 데이터 웨어하우스 구축에서는 처리 기술이 SQL 엔진에 국한된 반면, 데이터 레이크 처리 계층 구현을 위해 선택할 수 있는 기술과 프레임워크가 다양하다.
- 아파치 스파크(Apache Spark)
- 아파치 빔(Apache Beam)
- 아파치 플링크(Apache Flink)
- 처리 솔루션들은 현대 프로그래밍 언어(자바, 스칼라, 파이썬)를 사용해 데이터 변환, 유효성 검사, 정제 작업을 흐름 수준으로 쉽게 프로그래밍할 수 잇도록 지원한다.
- 데이터처리 방식은 크게 배치 처리 방식과 스트림 처리 방식이 있다.
- 배치 모드에서는 데이터가 먼저 스토리지에 저장된 다음 처리된다.
- 스트리밍 모드에서는 데이터 수집 후 스토리지 계층을 거치지 않고 처리 계층으로 바로 전송된다.
[서비스 계층]
- 서비스 계층의 목표는 사용자나 다른 시스템에서 데이터를 활용할 수 있도록 준비하는것이다.
- 기업과 기관에 속한 다양한 사용자로부터 더 많은 양의 데이터를 더 빠르게 처리하고자 하는 요구사항들이 늘어나고 있다.
데이터 플랫폼의 계층 간의 아키텍처를 매우 간단하게 표현했을 때 각 계층의 특징들을 나이브하게 알아보았다. 그러나 실제 데이터 레이크 플랫폼의 아키텍처는 아래와 같이 더욱 더 정교하게 구성되어 있다. 다음 포스팅해서는 이 계층 들에 대해서 더욱 더 자세하게 알아보겠다!!
'BigData > Data Platform' 카테고리의 다른 글
느슨하게 결합된 아키텍처(Loosely Coupled Layer) (2) | 2023.01.08 |
---|---|
클라우드 데이터 플랫폼 계층 아키텍처 (3/3) (0) | 2023.01.08 |
클라우드 데이터 플랫폼 계층 아키텍처 (2/3) (0) | 2023.01.08 |
클라우드 데이터 플랫폼 계층 아키텍처 (1/3) (0) | 2023.01.07 |
Comments