1. redshift가 뭔가요?

- postgresql를 기반으로한 AWS의 서비스입니다.

- 실습에서는 데이터웨어하우스로 사용하기 위해 구축합니다.

- 관리형 데이터베이스 서비스인 RDS를 사용하면 Zero-ETL을 구축할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/c_redshift-and-postgres-sql.html

 

Amazon Redshift 및 PostgreSQL - Amazon Redshift

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/serverless-whatis.html

 

Amazon Redshift 서버리스란 무엇인가요? - Amazon Redshift

Amazon Redshift 서버리스란 무엇인가요? Amazon Redshift Serverless는 데이터 웨어하우스 용량을 자동으로 프로비저닝하고 기본 리소스를 지능적으로 확장합니다. Amazon Redshift Serverless는 용량을 몇 초 만

docs.aws.amazon.com

 

2. Zero-ETL은 뭔가요?

- ETL 과정에서 복잡한 파이프라인 생성을 생략하는 기능입니다.

- AWS의 관리형 데이터베이스인 RDS를 사용하면 CDC 기능을 사용해서 redshift에 데이터를 바로 쌓을 수 있습니다.

- ETL은 데이터른 추출하고 변환하고 적재하는 과정을 말합니다.

- CDC는 데이터베이스의 변경되는 데이터를 바로 다른 DB나 저장소에 반영하는 것으로 생각하면 됩니다.

https://aws.amazon.com/ko/what-is/zero-etl/

 

제로 ETL이란? - 제로 ETL에 대한 설명 - AWS

제로 ETL은 ETL 데이터 파이프라인을 구축할 필요성을 없애거나 최소화하는 통합 세트입니다. 추출, 전환, 적재(ETL)는 다양한 소스의 데이터를 결합, 정리 및 정규화하여 분석, 인공 지능 (AI) 및 기

aws.amazon.com

 

3. 요금은 어떻게 나올까

- 기본적으로 저장된 데이터의 용량에 따라 월별 요금이 나옵니다.

- 그리고 쿼리 작업을 하는데 사용하는 컴퓨팅 리소스에 따라 요금이 나옵니다.

https://aws.amazon.com/ko/redshift/pricing/

 

클라우드 데이터 웨어하우스 – Amazon Redshift 요금–Amazon Web Services

 

aws.amazon.com

 

4. 너무 복잡해요!

- 용어에 대해서 너무 깊게 이해할 필요는 없습니다.

- 실습을 진행하면서 어떤 기능인지 눈으로 확인하고 이해해도 괜찮아요.

- 생각보다 redshift를 이용한 CDC 방법이 제일 쉬울 수 있습니다.

 

 

4. 다음 글 예고

- AWS에서 redshift를 직접 생성합니다.

1. 데이터 레이크란 무엇인가요?

- 어떤 서비스에서 생성되는 데이터를 모두 적재하는 저장소를 운영하는 것으로 생각하면 됩니다.

- 원천 데이터에서 저장소 까지 데이터를 적재하는 작업과 적재한 데이터를 잘 사용할 수 있도록 하는 작업이 주를 이룹니다.

 

2. AWS는 어렵지 않나요?

- 익히기는 어렵지만 로컬 컴퓨터에 실제 구축을 하는 것 보다 훨씬 적은 노력이 들어갑니다.

- 현재는 대부분의 기능은 자동으로 관리되는 관리형 기능이 많기 때문에 인프라 지식도 생각보다 많이 필요 없습니다.

 

3. 시작하며

- 대략적인 구조는 원천 데이터 베이스와 동일한 데이터를 가지는 데이터 웨어하우스를 만들고 파일로 적재합니다.

- 사용되는 기능은 s3, redshift, RDS, DMS, Athena 등이 있습니다.

- 당연히 AWS에 가입해서 리소스를 생성하는 작업이 있으니 AWS 계정을 생성하고 시작하세요!

- 사용에 따라 금액이 나올 수 있으나, 공부를 위해 조금은 투자를 한다고 생각하면 안 아까울지도??

1. airflow 테스트 환경 구축

- 간단한 테스트 환경 구축을 위해 airflow에서 제공하는 docker compose yaml파일을 사용한다.

- 아래의 스크린샷과 같은 부분에서 다운받을 수 있다.

- 링크 : https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html

curl로 다운하는 것도 가능하다

2. airflow에서 사용할 파이썬 라이브러리 추가 방법

- docker compose 파일에 간단하게 라이브러리를 추가하는 방법이 있다.

- airflow에서 pymysql이 기본으로 제공되지 않는데, pymysql을 설치하려면 아래와 같이 내용을 수정하고 저장하자.

## docker compose 파일에서 추가로 설치할 python module을 등록하는 경우
## 아래와 같은 environment 찾아서 수정 후 docker compose up -d
_PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:- pymysql}

## module을 여러개 설치해야하는 경우는 아래와 같이 공백으로 구분하여 추가한다
_PIP_ADDITIONAL_REQUIREMENTS: ${_PIP_ADDITIONAL_REQUIREMENTS:- pymysql pandas numpy}

3. airflow를 실행하자

- docker compose 파일이 있는 폴더에서 docker compose up -d으로 airflow 환경을 구축한다.

- airflow에서 사용하려는 port를 이미 사용하고 있는 경우 yaml에서 port 번호를 바꿔주도록 하자.

- 공식적으로 제공하는 파일에서는 id와 password는 모두 airflow이므로 변경이 필요하면 yaml에서 바꿔주자.

- localhost:8080 으로 접속해서 아래와 같은 창이 뜨면 테스트 환경 구축에 성공한 것이다.

 

'데이터 시스템 구축 정보 공유 > airflow' 카테고리의 다른 글

1. Airflow란?  (0) 2022.07.31

+ Recent posts