데이터 파이프라인 이란?
한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조로 데이터를 제공
데이터 파이프라인 설계도
Architecture for High-Throughput Low-Latency Big Data Pipeline on Cloud
Scalable and efficient data pipelines are as important for the success of analytics and ML as reliable supply lines are for winning a war.
towardsdatascience.com
0. 데이터 생성
1. 수집
- Amazon Kinesis Streams: 큐 서비스와 같다. stream(강물)처럼 앞단부터 차곡차곡 쌓는 형태의 데이터. stream 데이터의 특정 부분을 잡기 위해 그물을 던진다. (그물의 크기를 window라고 함) 일정 시간과 용량이 되면 데이터는 소멸하게 된다.
저장이 잘 안될 경우 느려지는 현상이 발생한다. DBMS가 느려져도, 이 큐에서 모든 데이터를 일단 받기에 사용자가 앱을 navigation할 때에도 작동이 잘 된다. - Amazon Kinesis Firehose: 큐에 있는 데이터를 S3에 쉽게 저장하도록 지원. (코딩 없이) (redshift, elasticsearch 등 데이터를 실시간 넣는 것도 있다.)
- Amazon API Gate way: 앱이나 외부에서 발생하는 이벤트를 aws 서버와 연결해주는 프록시 서버.
- Lambda function: 이벤트에서 발생한 여러 서비스를 핸들링하기 위해 사용. Kinesis Streams에 있는 데이터를 S3/rdbms에 저장
2. 수집 + 전처리
- AWS Glue: 데이터 파이프라인이 많으면 운영하기 어렵다. 데이터 카탈로그에 있는 메타 정보. 어느 위치/포맷/정보 변경 등을 가진다.
- Amazon S3: 저장
3. 전처리 및 저장
- Amazon EMR: AWS 안에 있는 하둡 관련 에코 어플리케이션을 가진 알리형 서비스. 하둡 구성을 실행하는데 예전에 몇 시간 걸렸던 것을 최대 10분 등으로 처리.
4. 전처리 및 분석 및 시각화
- Amazon Thena: ed-work하게 데이터를 분석 할 수 있는 환경 제공.
5. 분석 및 시각화
- Apache Zeppeline
- Tableaur
- Superset
데이터 lambda 설계도
람다 아키텍처란?:
실시간 분석을 지원하는 빅데이터 아키텍처.
대량의 데이터를 실시간으로 분석하기 어려우니, batch로 미리 만든 데이터와 실시간 데이터를 혼합해서 사용하는 방식.
https://gyrfalcon.tistory.com/entry/람다-아키텍처-Lambda-Architecture
람다 아키텍처 (Lambda Architecture)
람다 아키텍처란? 실시간 분석을 지원하는 빅데이터 아키텍쳐 대량의 데이터를 실시간으로 분석하기 어려우니 batch로 미리 만든 데이터와 실시간 데이터를 혼합해서 사용하는 방식이다. <람다
gyrfalcon.tistory.com
1. Raw Data Store
- Amazon API Gateway
- Amazon Kinesis Streams
- Amazon Kinesis Firehose
- Amazon Pinpoint: CRM 서비스. 특정 앱/웹에서 발생하는 이벤트를 실시간/데이터 기반으로 마케팅할 수 있는 툴킷. API Gateway에서 발생하는 비용이 부담될 경우에도 사용.
2.1 Batch-Processing Engine
- Spark: AWS EMR을 통해 배포.
- AWS DMS: DB를 가져올 때 서비스의 부하를 적게 해서 가져온다.
2.2 Real-Time Processing Engine
- Spark streaming: EMR 안에 있지만 항상 켜야하는 단점.
- Amazon Kinesis Analytics
3. Serving Data Store
- Amazon ES: Elastic Search Service. 보통 Real time에 가장 많이 사용. 데이터양이 지속적으로 많아지면 약간 부적합하다. 왜냐하면 storage와 computing하는데 시간이 늘어나고 비용적으로 더 많이 발생하기 때문. 그래서 보통 신규 서비스의 태깅, 가입, 페이징에 대한 분석을 빠르게 활용하기 위해 사용. (데이터의 유지는 2주~한달 정도 보고 운영하는데 적당)
- Amazon DynamoDB
- Amazon RDS: Mysql같은 DBMS 서비스.
3.1 Serving Data Store를 바탕으로 Amazon SageMaker를 이용해서 data discovery, predictive modeling 만들기.
3.2 분석
- presto: EMR 안에 있음. 쉽게 시각화하며 요청한 사람에게 보여줄 수 있다.
- Amazon Redshift: column 베이스의 분석 툴.
4. Visualization
- Apache Zeppline
- Tableaur
'AWS' 카테고리의 다른 글
AWS TechCamp: Web Application with Serverless (1) | 2024.03.26 |
---|---|
SageMaker (0) | 2021.07.30 |
AWS API Gateway와 Lambda (0) | 2021.07.30 |
앱 서버 연결 방법 (0) | 2021.07.30 |
스터디 1주차 (0) | 2021.07.21 |