Redshift Architecture

Roy Jung·2023년 1월 24일
0
post-thumbnail
post-custom-banner

이 글의 Scope

Application level에서 DB선택과 modeling에 도움이 될만한 scope

What is Redshift

AWS에서 개발한 데이터 웨어하우스 서비스이다. 데이터 웨어하우스로 쓰이는 만큼 OLAP에 최적화되어 있다.

  • 분산 시스템이며 Master/slave system이다. Leader node가 외부 어플리케이션과 통신하며 SQL을 처리하고 slave node들에게 병렬적인 쿼리를 요청한다. 또한 결과를 수집해 최종 집계한다.
  • MPP(Massive Parallel Processing) 시스템으로 쿼리를 병렬적으로 수행한다. 따라서 대용량 data에 유리하다.

  • Column 기반으로 저장한다.(columnar storage)

Columnar storage

Column 기반 storage가 뭘까 알아보자. Row 기반은 일반적인 DB가 디스크 블록에 데이터를 저장하는 방식이다. row 전체를 연속으로 저장한다. 반면 column 기반 방식은 컬럼별로 연속적으로 저장한다.

Cloumn 기반으로 데이터를 저장하면 OLAP 쿼리 특히 row전체를 필요로 하지 않고 특정 column 기반을 처리하는 query에서 디스크 I/O를 줄여주며 디스크에서 로드해야 하는 데이터의 크기가 줄어든다. 그러므로 매우 빠르며 효율적이다. 또한 데이터의 크기가 예측가능 해지고 유사하기 때문에 압축하기 용이해진다.

다만 row 전체를 다루는 쿼리 같은 경우에는 row 기반보다 불리하다.

추가적인 특징

  • serverless로 사용할 수 있다. 요금(한달 기준 GB당 0.024 USD)
  • s3를 사용해서 backup 등을 할 수 있다.
profile
내가 보려고 쓰는 글
post-custom-banner

0개의 댓글