Redshift 관련 기타 서비스

yjbenkang·2024년 11월 3일

Redshift가 제공해주는 다른 기타 서비스들이 무엇이 있는지 살펴보는 글이다.

  • Redshift Spectrum (S3 등에 있는 파일들을 테이블처럼 사용 가능하게 해줌)
  • Redshift Serverless
  • Athena (Apache Presto를 서비스화한 것)
  • Redshift ML

Redshift Spectrum

  • Redshift의 확장 기능
  • S3에 있는 파일들을 마치 테이블처럼 SQL로 처리 가능
    • S3 파일들을 외부 테이블들(external table)로 처리하면서 Redshift 테이블과 조인 가능. 로딩하는 오버헤딩 없이 처리가능.
    • 데이터 레이크의 정보를 처리할 수 있게끔 구현한 것이 redshift spectrum.
    • S3 외부 테이블들은 보통 Fact 테이블들이 되고 Redshift 테이블들은 Dimension 테이블
    • 1TB를 스캔할 때 마다 $5 비용이 생김
  • 이를 사용하려면 Redshift 클러스터가 필요
    • S3와 Redshift 클러스터는 같은 region에 있어야함

Redshift Serverless

  • Redshift의 경우 용량을 미리 결정하고 월정액 (Fixed Cost) 지급
  • Redshift Serverless는 반대로 쓴만큼 비용을 지불하는 옵션
    • BigQuery와 같은 사용한 자원에 따른 비용 산정 방식
    • 데이터 처리 크기와 특성에 따라 오토스케일링이 적용됨

Athena

  • AWS Presto 서비스로 사실상 Redshift Spectrum과 비슷한 기능을 제공
  • S3에 있는 데이터들을 기반으로 SQL 쿼리 기능 제공
    • 이 경우 S3를 데이터 레이크라 볼 수 있음.

Redshift ML

  • SQL만 사용하여 머신러닝 모델을 훈련하고 사용할 수 있게 해주는 Redshift 기능
  • 이 기능은 사실 AWS SageMaker에 의해 지원됨
    • SageMaker는 Auto Pilot이라 하여 훈련 데이터를 로드하면 최적화된 모델을 자동 생성해주는 기능 제공
  • 이미 모델이 만들어져 있다면 이를 사용하는 것도 가능 (BYOM : Bring Your Own Model)
  • SageMaker로 모델을 만들었다는 전제하에 그 모델을 redshift안에 마치 SQL함수처럼 임베딩해서 어떤 테이블에 있는 정보, 컬럼들을 그 머신러닝의 인풋으로 주면 그 머신러닝 모델의 결과가 아웃풋으로 나오는 형태로 아주 간편하게 redshift안에서 다수의 레코드들에 대해서 이 머신러닝 추론,예측을 실행해볼 수 있다.
  • 쓰는 방식은 두가지인데, redshift 머신러닝을 써서 아예 모델 Training까지해볼 수 있고 이미 만들어진 모델을 sageMaker을 통해 로딩해서 SQL내의 함수인 것처럼 쓸 수도 있다.
profile
keep growing

0개의 댓글