본문 바로가기

cloud

AWS Data Pipeline???

글을 작성하기 전에

DBA로 업무를 수행하면 데이터 엔지니어(DE), 데이터 사이언티스트등과 협업하는 일이 생길 수 있습니다. 협업 시 기본적인 용어를 모르고 있어 DB입장에서 ETL,CDC을 통해 수집되어 활용될 수 있는 데이터 파이프라인에 대해서 개인적으로 정리하는 포스팅입니다.

 

1. What Is Data Pipeline??

- 다양한 데이터 저장소에서 데이터를 수집하여 데이터 웨어하우스와 같은 데이터 저장소로 이전하는 과정(물이 공급 될 때 수도꼭지에서 나오기 까지 과정과 비슷)

- 일반적으로 RDBMS에서 데이터 추출 시의 데이터를 그대로 사용할 수 없기 때문에 데이터를 적절하게 추출, 병합하는 과정들이 포함되어야 함

           *  파이프 라인의 분류 :  배치용 파이프라인, 스트리밍 데이터 파이프라인

                                             이 분류는 사용자의 목적에 따라 두가지로 나뉘며 DBA는 해당 목적을 위한 다양한 툴 제공

ETL은 Extraction(추출), Transformation(변환), Load(삽입) 를 의미하여 소스에서 목적지로 전달하기 위한 변환에 초점을 두고, 파이프라인은 데이터의 이동(과정)에 초첨을 둔다
ETL은 주로 배치용 파이프라인을 나타내는 경우가 많은편으로 ETL 파이프라인을 데이터 파이프라인의 부분집합으로 생각하는 경우도 있음

- 파이프 라인의 구성 요소 : 수집 - 준비 - 변환(분석)- 분석된 데이터를 배포 (Publish)
- DBA는 수집 대상인 RDBMS들을 운영하므로 데이터 파이프라인 구성요소에 대해 이해 필요

 

2. Simple Data Pipeline diagram

 

https://aws.amazon.com/ko/blogs/big-data/automating-analytic-workflows-on-aws/ 의 일부 그림을 참고하여 datapipeline diagram을 분석

RDS에서 추출 된 데이터는 EMR을 거쳐서 다시 가공 & 처리되고 S3의 형태로 저장

 


* EMR??

     - AWS 제공하는 완전관리형 빅데이터 플랫폼

     - Hadoop환경을 쉽게 구축할 수 있는 장점이 있음

* S3??

     - AWS에서 제공하는 인터넷 스토리지로, 쉽게 접근할 수 있으며 버킷을 통해 관리됨

 

 

3. 빅데이터 플랫폼 아키텍처 상세

 - RDS에서 배치 or 동기화 등의 작업을 통해 DMR로 이관되는 데이터를 처리하기 위해 Data Processing Tools들이 사용 될 수 있으며, 그러한 스케줄링은 airflow에 의해 관리됨
→ 해당 과정을 거쳐 처리된 데이터가 S3에 저장되고 S3에 저장된 데이터의 쿼리 서비스(데이터 프로세싱 툴)로 aws athena등의 방법이 사용됨

그림 출처 : https://www.c-sharpcorner.com/article/beginners-guide-to-data-pipelines/

 

 

 

4. 데이터 파이프라인 활용 시나리오

 - 데이터베이스 시각화를 통한 데이터 인사이트 확보

 - 데이터 마이닝을 위한 데이터 가공으로 머신러닝에 활용

 - 데이터 웨어하우스 구성

 

5. DataPipeline을 DFD로 그려보기

- DFD 0


- DFD 1