[AWS] 저장소 비교 분석(Redshift,ElastiCache)

2024. 4. 9. 13:57IT

AWS Redshift

정의

  • 페타바이트급 데이터 웨어하우스 서비스

설명

  • AWS Redshift Serverless를 사용하여 프로비저닝된 데이터 웨어하우스를 구성하지 않아도 데이터를 액세스하고 분석이 가능하다.
  • 리소스가 자동으로 프로비저닝하고 데이터 웨어하우스 용량이 알아서 크기 조정이되어 예측 불가한 워크로드에서도 빠른 성능을 제공한다.
  • 데이터 웨어하우스가 유휴 상태일 때는 요금이 발생하지 않고 사용량에 대한 요금만 지불한다.
  • 클러스터
    • 리더노드 1개와 컴퓨팅 노드 1개 이상으로 구성된 노드 집합이다.
      컴퓨팅 노드 유형 및 수는 데이터의 크기와 실행할 쿼리 수, 필요한 쿼리 런타임 성능에 따라 결정된다.
  • Columnar Storage & MPP(massively parallel processing)
    • 컬럼 기반의 스토리지 구조를 사용하여 데이터 압축 및 쿼리 성능을 최적화한다.
    • MPP 아키텍쳐를 사용하여 병렬 처리를 통해 대량의 데이터를 효율적으로 처리한다.

추가 설명

  • Columnar storage
    • 컬럼 지향 데이터베이스
    • 일반적은 RDB는 행 지향DB로 디스크에 레코드 단위로 데이터를 읽고 쓴다. 그래서 select절을 사용하여 조회할때 특정 컬럼만 넣는다고 그 컬럼만 읽는것이 아니다.
    • 컬럼 지향 데이터베이스는 디스크에 컬럼단위로 읽고 쓰기에 select절에 넣은 컬럼만 조회가 가능하다.
    • 데이터가 컬럼별로 저장되어있기에 특정 로우의 데이터를 업데이트할 때, 삽입속도는 더 느리다. 그렇기에 업데이트와 삽입이 빈번한 경우는 적합하지 않다.
  • MPP
    • Massively parallel processing, 대용량 병렬 프로세스 데이터베이스
    • 하나의 쿼리를 여러개의 프로세스로 병렬처리하는 데이터베이스이다.
    • 그렇기에 기본적으로 MPP는 컬럼 지향 데이터베이스로 설계되어 있다. 이유는 대용량 데이터를 집계할 때 컬럼들이 여러 Disk에 저장되어있어야 많은 프로세스들이 개별 Disk에 접근하여 데이터를 처리할 수 있기 때문이다.
    • 그래서 리더노드와 여러개의 컴퓨트노드 구조의 클러스터 방식을 갖고 있다.

ElastiCache

정의

  • Redis 및 MemCached와 호환되는 완전관리형 서비스로서 마이크로초의 응답 시간으로 초당 수억개의 작업으로 확장되며 엔터프라이즈급 보안 및 신뢰성을 제공한다.
  • 인 메모리 데이터 스토어이기에 빠른 속도를 제공, Redis를 기반으로 구축되었기에 Redis 클라이언트와 연동되며 개방형 Redis 데이터 형식을 사용하여 데이터를 저장한다.

설명

  • 서버리스
    • 서버를 관리하지 않고도 빠른 프로지저닝, 즉각적인 확장 가능
  • 자체 클러스터 설계
    • 애플리케이션 요구 사항에 맞게 세분화된 제어를 위해 노드 유형, 크기 및 배치를 사용자 지정
  • 기능
    • 인메모리 데이터 스토어 및 캐시로서의 역할
    • 데이터를 메모리에 저장하고 노드 배치를 최적화하여 안전하고 빠른 성능 제공
  • 캐싱, 세션 스토어

ElastiCache for Redis vs Amazon MemoryDB for Redis

  • ElastiCache for Redis
    • 일반적으로 Redis를 사용하여 다른 데이터베이스 및 데이터 스토어의 데이터를 캐시하는데 사용되는 서비스
    • 워크로드를 캐싱하여 기존 기본 데이터베이스 또는 데이터 스토어로 데이터 액세스를 가속하기 위해 사용
    • Redis 데이터 구조 및 API를 사용하여 기본 데이터베이스 또는 데이터 스토어에 저장된 데이터에 액세스하기위해 사용
    • 캐싱
      • 캐시로 자주 사용되는 데이터를 저장하여 데이터베이스에서 반복적으로 조회하는 대신 캐시에서 빠르게 데이터를 검색할 수 있다.
      • 웹 페이지에서 동일한 쿼리에 대한 결과를 반복해서 요청하는 경우, 캐싱하여 빠르게 제공 가능
    • 세션 스토리지
      • 세션 데이터를 저장하기 위해 사용, 웹 애플리케이션의 세션 상태를 메모리에 저장하여 빠르게 액세스 가능
  • Amazon MemoryDB for Redis
    • 초고속 데이터베이스가 필요한 워크로드에 적합, 내구성이 뛰어난 인메모리 방식의 데이터베이스
    • 워크로드에 초고속 성능을 제공하는 경우 MemoryDB 사용
 

'IT' 카테고리의 다른 글

[지식] RDB 비교 분석 (mysql,mariadb,postgresql)  (0) 2024.04.09
[지식] AWS Data Streaming(Glue,Kinesis,Kafka, Airflow,RabbitMQ)  (0) 2024.04.09
[AWS] Cloud Formation  (0) 2024.04.09
[AWS] Aurora  (0) 2024.04.09
DevOps CICD 비교  (0) 2024.04.09