Amazon Web Services 한국 블로그
Amazon Redshift의 가격 대비 성능 리더쉽
데이터는 전략적 자산입니다. 데이터에서 적시에 가치를 얻으려면 비용을 낮게 유지하면서 대규모로 성능을 제공할 수 있는 고성능 시스템이 필요합니다. Amazon Redshift는 수만 명의 고객이 매일 엑사바이트 규모의 데이터를 분석하는 데 사용하는 가장 인기 있는 클라우드 데이터 웨어하우스입니다. Amazon Redshift 환경에 더 많은 데이터를 가져올 때 고객을 위해 가격 대비 성능을 개선하기 위해 새로운 기능을 계속 추가하고 있습니다.
이 게시물에서는 Amazon Redshift의 원격 측정 데이터에서 볼 수 있는 분석 워크로드 추세, Amazon Redshift의 가격 대비 성능을 개선하기 위해 출시한 새로운 기능, TPC-DS 및 TPC-DS에서 파생된 최신 벤치마크 결과에 대해 자세히 설명합니다.
데이터 기반 성능 최적화
Amazon Redshift의 가격 대비 성능을 개선하는 데 끊임없이 집중하여 실제 워크로드의 개선을 계속 확인할 수 있도록 합니다. 이를 위해 Amazon Redshift 팀은 성능 최적화에 데이터 중심 접근 방식을 사용합니다. Amazon CTO인 Werner Vogels는 Amazon Redshift 성능 최적화 기술에 대해 논의했으며, 대규모 고객 기반의 성능 원격 분석을 사용하여 고객에게 가장 중요한 Amazon Redshift 성능 개선을 추진하는 데 계속해서 노력을 집중해 왔습니다.
이 시점에서 가격 대비 성능이 중요한 이유를 물을 수 있습니다. 데이터 웨어하우스의 한 가지 중요한 측면은 데이터가 증가함에 따라 확장되는 방식입니다. 더 많은 데이터를 추가함에 따라 TB당 더 많은 비용을 지불하게 됩니까, 아니면 비용이 일관되고 예측 가능하게 유지됩니까? 우리는 Amazon Redshift가 데이터가 증가함에 따라 강력한 성능을 제공할 뿐만 아니라 일관된 가격 대비 성능을 제공하도록 노력하고 있습니다.
높은 동시성, 낮은 대기 시간 워크로드 최적화
저희가 고객의 워크로드를 관찰한 추세 중 하나는 고객이 대기 시간이 짧은 쿼리의 높은 동시성을 요구하는 분석 애플리케이션을 점점 더 많이 구축하고 있다는 것입니다. 데이터 웨어하우징의 맥락에서 이것은 5초 미만의 응답 시간 SLA로 쿼리를 실행하는 수백 또는 수천 명의 사용자를 의미할 수 있습니다.
일반적인 시나리오는 매우 많은 수의 분석가에게 분석을 제공하는 Amazon Redshift 기반 비즈니스 인텔리전스 대시보드입니다. 예를 들어 고객 중 한 명이 환율을 처리하고 이 데이터를 기반으로 Redshift 기반 대시보드를 사용하여 사용자에게 통찰력을 제공합니다. 이러한 사용자는 Redshift에 대해 평균 200개의 동시 쿼리를 생성하며 P90 쿼리 SLA는 1.5초로 개장 및 폐장 시 1,200개의 동시 쿼리로 급증할 수 있습니다. Redshift는 이 요구 사항을 충족할 수 있으므로 이 고객은 비즈니스 SLA를 충족하고 사용자에게 가능한 최고의 서비스를 제공할 수 있습니다.
우리가 추적하는 특정 메트릭은 단기 실행 쿼리(런타임이 1초 미만인 쿼리)에 소비되는 모든 클러스터의 런타임 비율입니다. 지난 1년 동안 다음 차트에서 볼 수 있듯이 Amazon Redshift 플릿에서 짧은 쿼리 워크로드가 크게 증가했습니다.
Amazon Redshift가 이러한 종류의 워크로드를 어떻게 실행했는지 자세히 조사하기 시작하면서 성능을 최적화하여 짧은 쿼리에서 훨씬 더 나은 처리량을 제공할 수 있는 몇 가지 기회를 발견했습니다.
- Redshift의 쿼리 계획 오버헤드를 크게 줄였습니다. 이것이 크지는 않지만 짧은 쿼리의 런타임에서 상당한 부분을 차지할 수 있습니다.
- 많은 동시 프로세스가 동일한 리소스에 대해 경합하는 상황에 대해 여러 핵심 구성 요소의 성능을 개선했습니다. 이것은 우리의 쿼리 오버헤드를 더욱 감소시켰습니다.
- 우리는 Redshift가 이러한 짧은 쿼리를 동시성 확장 클러스터로 보다 효율적으로 버스트하여 쿼리 병렬 처리를 개선할 수 있도록 개선했습니다.
이러한 엔지니어링 개선 이후 Amazon Redshift의 위치를 확인하기 위해 TPC-DS에서 파생된 Cloud Data Warehouse Benchmark를 사용하여 내부 테스트를 실행했습니다(GitHub에서 제공되는 벤치마크에 대한 자세한 내용은 이 게시물의 뒷부분 참조하세요.)
높은 동시성, 낮은 대기 시간 워크로드를 시뮬레이션하기 위해 모든 쿼리가 몇 초 이내에 실행되도록 작은 10GB 데이터 세트를 사용했습니다. 또한 여러 다른 클라우드 데이터 웨어하우스에 대해 동일한 벤치마크를 실행했습니다. 모든 데이터 웨어하우스가 지원하는 것은 아니기 때문에 이 테스트를 위해 Amazon Redshift에서 동시성 확장과 같은 자동 확장 기능을 활성화하지 않았습니다.
우리는 Amazon Redshift ra3.4xlarge
클러스터를 사용했고 온디맨드 요금을 사용하여 다른 모든 웨어하우스를 가장 일치하는 가격과 동등한 구성으로 크기를 조정했습니다. 이 구성을 기반으로 우리는 Amazon Redshift가 다음 차트와 같이 주로 짧은 대기 시간과 높은 동시성 쿼리가 필요한 분석 애플리케이션에서 최대 8배 더 나은 성능을 제공할 수 있음을 확인했습니다.
Amazon Redshift의 동시성 확장을 사용하면 사용자 동시성이 증가함에 따라 추가 Redshift 클러스터로 처리량을 원활하고 자동으로 확장할 수 있습니다. Amazon Redshift를 사용하여 원격 측정 데이터를 기반으로 이러한 분석 애플리케이션을 구축하는 고객이 점점 더 많아지고 있습니다.
이것은 우리 팀이 데이터 기반 접근 방식을 사용하여 성능을 개선하고 비용을 절감할 수 있도록 지속적으로 만들고 있는 배후의 엔지니어링 개선 사항을 살짝 엿본 것입니다.
가격 대비 성능을 향상시키는 새로운 기능
지속적으로 진화하는 데이터 환경에서 고객은 모든 워크로드 및 애플리케이션에 대해 비용을 낮게 유지하면서 대규모로 최고의 성능을 제공하는 새로운 기능을 계속 출시하는 고성능 데이터 웨어하우스를 원합니다. 추가 비용 없이 즉시 Amazon Redshift의 가격 대비 성능을 개선하는 기능을 계속 추가하여 모든 규모에서 비즈니스 문제를 해결할 수 있습니다.
여기에는 AWS Nitro System을 통한 동급 최고의 하드웨어 사용, AQUA를 통한 하드웨어 가속, 구체화된 보기를 사용하여 쿼리가 더 빠르게 실행되도록 자동 재작성, 스키마 최적화를 위한 자동 테이블 최적화(ATO), 자동 워크로드 관리( WLM)은 동적 동시성을 제공하고 리소스 활용을 최적화하며 짧은 쿼리 가속, 자동 구체화된 뷰, 벡터화 및 SIMD (Single Instruction/Multiple Data) 처리 등을 제공합니다. Amazon Redshift는 자가 학습, 자가 조정 데이터 웨어하우스로 발전하여 필요한 성능 관리 노력을 추상화하여 분석 애플리케이션 구축과 같은 고부가가치 활동에 집중할 수 있습니다.
최신 Amazon Redshift 성능 향상의 영향을 검증하기 위해 Redshift를 다른 클라우드 데이터 웨어하우스와 비교하는 가격 대비 성능 벤치마크를 실행했습니다. 이러한 테스트를 위해 10노드 ra3.4xlarge
클러스터를 사용하여 TPC-DS에서 파생된 벤치마크와 TPC-H에서 파생된 벤치마크를 모두 실행했습니다.
다른 데이터 웨어하우스에서 테스트를 실행하기 위해 모든 데이터 웨어하우스에 대해 게시된 온디맨드 가격을 사용하여 가격(시간당 $32.60)에서 Redshift 클러스터와 가장 근접한 웨어하우스 크기를 선택했습니다. Amazon Redshift는 자동 튜닝 웨어하우스이기 때문에 모든 테스트는 “즉시” 수행됩니다. 즉, 수동 튜닝이나 특별한 데이터베이스 구성이 적용되지 않고 클러스터가 시작되고 벤치마크가 실행됩니다. 그런 다음 가격 대비 성능은 시간당 비용(USD)에 벤치마크 실행 시간(시간)을 곱하여 계산되며, 이는 벤치마크 실행 비용과 동일합니다.
TPC-DS에서 파생된 테스트와 TPC-H에서 파생된 테스트 모두 Redshift가 지속적으로 최고의 가격 대비 성능을 제공하는 것으로 나타났습니다. 다음 차트는 TPC-DS에서 파생된 벤치마크의 결과를 보여줍니다.
다음 차트는 TPC-H에서 파생된 벤치마크의 결과를 보여줍니다.
이러한 벤치마크는 Amazon Redshift의 가격 대비 성능 우위를 재확인하지만 Redshift가 어떻게 데이터 요구 사항을 충족하는지 확인하는 가장 좋은 방법으로 자체 개념 증명 워크로드를 사용하여 Amazon Redshift를 사용해 볼 것을 항상 권장합니다.
워크로드에 가장 적합한 가격 대비 성능 찾기
이 게시물에 사용된 벤치마크는 업계 표준 TPC-DS 및 TPC-H 벤치마크에서 파생되었으며 다음과 같은 특징이 있습니다.
- 스키마와 데이터는 TPC-DS 및 TPC-H에서 수정되지 않은 상태로 사용됩니다.
- 쿼리는 TPC-DS 및 TPC-H에서 수정되지 않은 상태로 사용됩니다. 웨어하우스가 기본 TPC-DS 또는 TPC-H 쿼리의 SQL 언어를 지원하지 않는 경우 TPC 승인 쿼리 변형이 웨어하우스에 사용됩니다.
- 테스트에는 99개의 TPC-DS 및 22개의 TPC-H SELECT 쿼리만 포함됩니다. 유지 관리 및 처리량 단계는 포함되지 않습니다.
- TPC-DS 및 TPC-H 키트의 기본 무작위 시드를 사용하여 생성된 쿼리 매개변수로 3개의 전력 실행(단일 스트림)을 실행했습니다.
- 총 쿼리 실행 시간의 기본 메트릭은 가격 대비 성능을 계산할 때 사용됩니다. 런타임은 세 가지 실행 중 가장 좋은 것으로 간주됩니다.
- 가격 대비 성능은 시간당 비용(USD)에 벤치마크 실행 시간(시간)을 곱하여 계산되며, 이는 벤치마크 실행 비용과 동일합니다. 게시된 온디맨드 가격은 모든 데이터 웨어하우스에 사용됩니다.
이 벤치마크를 클라우드 데이터 웨어하우스 벤치마크라고 하며 GitHub 에서 제공되는 스크립트, 쿼리 및 데이터를 사용하여 이전 벤치마크 결과를 쉽게 재현할 수 있습니다 . 이는 앞에서 설명한 TPC-DS 및 TPC-H 벤치마크에서 파생되었으며, 테스트 결과가 사양을 준수하지 않기 때문에 게시된 TPC-DS 또는 TPC-H 결과와 비교할 수 없습니다.
각 워크로드에는 고유한 특성이 있으므로 이제 막 시작하는 경우 Amazon Redshift가 요구 사항에 대해 수행하는 방식을 이해하는 가장 좋은 방법은 개념 증명입니다. 자체 개념 증명을 실행할 때 쿼리 처리량(시간당 쿼리 수) 및 가격 대비 성능과 같은 올바른 메트릭에 집중하는 것이 중요합니다. 자체적으로 개념 증명(PoC)을 실행하거나, AWS 지원을 받거나 또는 시스템 통합 및 컨설팅 파트너을 통해 데이터 기반 결정을 내릴 수 있습니다 .
마무리
이 게시물에서는 Amazon Redshift 고객에게서 보고 있는 분석 워크로드 추세, Amazon Redshift의 가격 대비 성능을 개선하기 위해 출시한 새로운 기능 및 최신 벤치마크 결과에 대해 논의했습니다.
– Stefan Gromol, Senior Performance Engineer, Amazon Redshift
– Ravi Animi, Senior Product Management leader, Amazon Redshift
– Florian Wende, Performance Engineer, Amazon Redshift
이 글은 AWS Big Data 블로그 Amazon Redshift continues its price-performance leadership의 한국어 번역입니다.