AWS

Test Benchmark : AWS Redsfhift, Athena, EMR(Presto, Hive)

주의 : 테스트 환경, 방식, 데이터 사이즈 등에 따라 결과가 달라지므로 단순 참고용임을 말씀드립니다.


시작하기


 목차

  • 테스트 준비
    • TPC-DS 데이터 생성
    • 클러스터 준비
    • 테이블 생성 및 데이터 로드
  • Query 수행
    • TPC-DS 99 Query 중 52개 Query 순차 수행
  • 결론

테스트 준비

  • TPC-DS 데이터 생성

    • TPC BENCHMARK ™ DS 활용 표준 벤치마크 데이터 세트 생성 (100GB)
    • Hortonworks에서 제공하는 Apache Hive testbench 코드 활용 100GB 데이터 생성  https://github.com/hortonworks/hive-testbench
      • wget https://github.com/hortonworks/hive-testbench/archive/hive14.zip
        unzip hive14.zip
        cd hive-testbench-hive14/
        ./tpcds-build.sh
        ./tpcds-setup.sh 100
    • 생성된 데이터를 S3에 업로드하고, 추가적으로 Athena, EMR을 위한  Parquet 형식으로 변환하여 업로드
  • 클러스터 준비

    • 테스트 임의 환경 구축
      • Athena의 경우 서버리스 서비스 이므로 별도 구성이 불필요
      • EMR 클러스터 구성
        • EMR version 5.9.0 : presto 0.166,  hive 2.1.1
        • presto max memory 사이즈 변경외 기타 설정은 변경하지 않음
  • 테이블 생성 및 데이터 로드

    •  Redshift
      • 테이블 생성 : Distribution key – Even(default) , Sort key  – 미적용
      • S3 데이터 로드 : Copy command
    • Athena
      • S3를 location으로하는 parquet 형식으로 저장된 External 테이블 생성
    • EMR (Presto, Hive)
      • S3를 location으로하는 parquet 형식으로 저장된 External 테이블 생성

Query 수행

  • TPC-DS 99 Query 중 52개 Query 순차 수행 (단일 사용자 가정, 총 3회 수행)

    • 각 query 별 수행 소요 시간
    • 52개 Query 총 수행 소요 시간 (순수 query 수행 소요 시간 합계 – idle time 제외)
      • Athena 총 스캔사이즈 :  0.18 TB

 


결론

  • 테스트 사양 대비 Redshift 가 쿼리 수행 소요 시간이 가장 짧았음.
  • 테스트 사양 대비 EMR(Presto) 별도 구성보다 Athena의 쿼리 소요 시간이 짧았으며, 비용적으로 비교하기에는 무리가 있으나 Athena의 스캔사이즈가 적었기 때문에 좀 더 비용 효율적이라고 판단됨.
  • EMR(Presto) 구성의 경우 소요 시간이 걸리더라도 Spot 으로 저렴하게 구성 한다고 가정하면 비용 효율적으로 접근 가능함.

 

Related Post

태그 : , , , , ,

필자: 김명수

전체 게시물수 : 23

전체 조회수 : 1112

게시물 공유하기