-
『RedShift』 Amaznon Redshift란?AWS/DB 2022. 7. 11. 19:59
Amazon Redshift란?
Amazon Redshift는 데이터 웨어하우스로 OLAP(데이터 분석)에 특화된 Database입니다.
기존의 RDS와 같은 OLTP방식의 데이터 베이스는 트랜잭션에 특화되어 있는 반면, Redshift는 트랜잭션 작업은 느리다.
즉 OLAP 방식의 DB과 OLTP방식의 DB는 서로의 기능을 제공하지만 무척 느리다.
OLAP란?
OnLine Analytical Processing의 약어로 데이터 분석에 특화된 방식이다. 대표적으로 Redshift가 있다. 아래의 3가지가 OLTP에서 데이터 분석을 사용하지 않는 이유이다.
- 복잡한 JOIN 연산을 여러 테이블에 수행해야 하므로 분석 질의에 컴퓨팅 자원이 많이 소모
- 읽기 작업이 많은 분석 질의는 인덱스가 더 많아야 유리한데 OLTP 데이터베이스는 쓰기 속도를 최적화하기 위해 인덱스가 적은 편
- 규모 트랜잭션으로 계속 바쁜 OLTP 데이터베이스에서 긴 분석 질의를 실행하면 (주로 인덱스에 대한) 경쟁이 야기되어 트랜잭션 속도와 질의 속도 모두 저하
OLTP란?
OnLine Transaction-Processing의 약어로 트랜잭션 처리의 특화된 방식이다. 대표적으로 우리가 사용하는 RDMS가 있다. OLAP와 반대되는 이유로 OLTP에서 트랜잭션 처리를 하지 않는다.
요금
요금은 시간당 비용이다. 즉 얼마나 사용했는가는 중요하지 않다. 그렇기 때문에 자주 엑세스를 해야하는 데이터의 경우는 Datalake(정제되지 않은 데이터의 모음)에 적재하지 않고 데이터 웨어 하우스에 적재하는 경우가 많다.
기능
아래의 기능들을 제공한다.
MPP
여러 컴퓨팅노드가 병렬로 작동해 쿼리처리해 아웃풋을 해주는 것이다.(내부 네트워크 이용) 네트워크 사용시 느려지기에 하나의 컴퓨터 안에서 하는게 좋다.
Columnar 데이터 스토리지
기존의 DB는 데이터 저장시 행으로 저장한다.
데이터 압축을 지원한다.(용량, 속도가 좋아짐 Default값이 압축하는 것이다. 옵션 안줘도 된다.)
결과 캐싱
최근 쿼리 결과를 리더 노드의 메모리에 저장한다.
enable_result_cahce_for_session off 라는 것을 사용해 해제도 가능하다.
결론적인 사용 목적
"효율적인 스토리지 사용과 빠른 쿼리"