Escalabilidade da simultaneidade - Amazon Redshift

Escalabilidade da simultaneidade

Com o recurso de escalabilidade da simultaneidade, é possível oferecer suporte a milhares de usuários e consultas simultâneos, com performance de consulta consistentemente rápida. Ao ativar a escalabilidade de simultaneidade, o Amazon Redshift adicionará automaticamente capacidade de cluster para processar um aumento em consultas de leitura e de gravação. Os usuários veem os dados mais atuais, sejam as consultas executadas no cluster principal ou em um cluster de escalabilidade de simultaneidade.

É possível gerenciar quais consultas são enviadas ao cluster de escalabilidade simultânea configurando filas WLM. Quando você ativa a escalabilidade de simultaneidade, as consultas elegíveis são enviadas para o cluster de escalabilidade de simultaneidade em vez de esperar em uma fila.

Você é cobrado por clusters de escalabilidade de simultaneidade apenas pelo tempo em que estão executando ativamente as consultas. Para obter mais informações sobre preços, incluindo como as cobranças são acumuladas e cobranças mínimas, consulte Preço da escalabilidade de simultaneidade.

Recursos de escalabilidade de simultaneidade

Quando você ativa a escalabilidade de simultaneidade para uma fila do WLM, ele funciona para operações de leitura, como consultas de painel. Ele também funciona para operações de gravação comumente usadas, como instruções para ingestão e processamento de dados.

Recursos de escalabilidade de simultaneidade para operações de gravação

A escalabilidade de simultaneidade oferece suporte a operações de gravação usadas com frequência, como instruções de extrair, transformar e carregar (ETL). A escalabilidade de simultaneidade para operações de gravação é especialmente útil quando você deseja manter tempos de resposta consistentes quando o cluster recebe um grande número de solicitações. Ele melhora a taxa de transferência para operações de gravação disputando recursos no cluster principal.

A escalabilidade de simultaneidade dá suporte a instruções COPY, INSERT, DELETE, UPDATE e CREATE TABLE AS (CTAS). Além disso, a escalabilidade de simultaneidade dá suporte à atualização de visão materializada para MVs que não usam agregações. Outras instruções Data Manipulation Language (DML) e Data Definition Language (DDL) não são compatíveis. Quando instruções de gravação não compatíveis, como CREATE sem TABLE AS, são incluídas em uma transação explícita antes das instruções de gravação compatíveis, nenhuma das instruções de gravação será executada em clusters de escalabilidade de simultaneidade.

Quando você provisiona crédito para escalabilidade de simultaneidade, essa provisão de crédito se aplica a operações de leitura e gravação.

Limitações para a escalabilidade de simultaneidade

Veja a seguir limitações para usar a escalabilidade de simultaneidade do Amazon Redshift:

  • Ela não oferece suporte a consultas em tabelas que usam chaves de classificação intercaladas.

  • Ela não oferece suporte a consultas em tabelas temporárias.

  • Ela não oferece suporte a consultas que acessam recursos externos protegidos por configurações restritivas de rede ou Virtual Private Cloud (VPC).

  • O recurso não é compatível com consultas que contêm funções definidas pelo usuário (UDFs) em Python e UDFs em Lambda.

  • Ela não suporta consultas que acessam tabelas de sistema, tabelas de catálogo PostgreSQL ou tabelas sem backup.

  • Ela não permite consultas COPY ou UNLOAD que acessam um recurso externo quando permissões da política do IAM estão em vigor. Isso inclui permissões aplicadas a um recurso, como um bucket do Amazon S3 ou uma tabela do DynamoDB, ou à origem. As origens do IAM podem incluir o seguinte:

    • aws:sourceVpc: uma VPC de origem.

    • aws:sourceVpce: um endpoint da VPC de origem.

    • aws:sourceIp: um endereço IP de origem.

    Em alguns casos, pode ser necessário remover permissões que restringem o recurso ou a origem, para que as consultas COPY e UNLOAD que acessam o recurso sejam enviadas ao cluster de escalabilidade simultânea.

    Para obter mais informações sobre políticas de recursos, consulte Tipos de políticas no guia do usuário do AWS Identity and Access Management e Controlar o acesso a partir de VPC endpoints com políticas de bucket.

  • A escalabilidade de simultaneidade do Amazon Redshift para operações de gravação não é compatível com operações DDL, como CREATE TABLE ou ALTER TABLE.

  • Não oferece suporte a ANALYZE para o comando COPY.

  • Ela não suporta operações de gravação em uma tabela de destino onde DISTSTYLE está definido como ALL.

  • COPY não é compatível com os seguintes formatos de arquivo:

    • Parquet

    • ORC

  • Ela não suporta operações de gravação em tabelas com colunas de identidade.

  • O Amazon Redshift oferece escalabilidade simultânea para operações de gravação somente em nós RA3 do Amazon Redshift. A escalabilidade de simultaneidade para operações de gravação não é aceita em outros tipos de nó.

Escalabilidade de simultaneidade de Regiões da AWS

Com o Amazon Redshift, é possível usar a escalabilidade simultânea para gerenciar demandas simultâneas de workload em todos os clusters do Redshift. Este tópico detalha em quais regiões você pode usar a escalabilidade simultânea com o Amazon Redshift.

A escalabilidade de simultaneidade está disponível nestas regiões da AWS:

  • Região Leste dos EUA (Norte da Virgínia) (us-east-1)

  • Região Leste dos EUA (Ohio) (us-east-2)

  • Região Oeste dos EUA (Norte da Califórnia) us-west-1

  • Região Oeste dos EUA (Oregon) (us-west-2)

  • Região Ásia-Pacífico (Mumbai) (ap-south-1)

  • Região da Ásia-Pacífico (Seul) (ap-northeast-2)

  • Região da Ásia-Pacífico (Singapura) (ap-southeast-1)

  • Região da Ásia-Pacífico (Sydney) (ap-southeast-2)

  • Região da Ásia-Pacífico (Tóquio) (ap-northeast-1)

  • Região do Canadá (Central) (ca-central-1)

  • Região da China (Pequim) (cn-north-1)

  • Região da China (Ningxia) (cn-northwest-1)

  • Região da Europa (Frankfurt) (eu-central-1)

  • Região da Europa (Irlanda) (eu-west-1)

  • Região da Europa (Londres) (eu-west-2)

  • Região da Europa (Paris) (eu-west-3)

  • Região da Europa (Estocolmo) (eu-north-1)

  • Região Europa (Zurique) (eu-central-2)

  • Região Europa (Espanha) (eu-south-2)

  • Região da América do Sul (São Paulo) (sa-east-1)

  • AWS GovCloud (Leste dos EUA)

Candidatos da escalabilidade da simultaneidade

Com o Amazon Redshift, é possível aumentar a escala horizontalmente do processamento de consultas para acelerar a execução de consultas simultâneas. O tópico a seguir descreve os critérios que o Amazon Redshift usa para determinar quais consultas devem ser encaminhadas para a escalabilidade simultânea.

As consultas são roteadas para o cluster de escalabilidade da simultaneidade somente quando o cluster principal atende aos seguintes requisitos:

  • Plataforma EC2-VPC.

  • O tipo de nó deve ser dc2.8xlarge, dc2.large, ra3.large, ra3.xlplus, ra3.4xlarge ou ra3.16xlarge. A escalabilidade simultânea para operações de gravação é possível somente em nós RA3 do Amazon Redshift.

  • Máximo de 32 nós de computação para clusters com tipos de nó ra3.xlplus, ra3.4xlarge ou ra3.16xlarge. Além disso, o número de nós do cluster principal não pode ser maior que 32 nós quando o cluster foi originalmente criado. Por exemplo, mesmo que um cluster tenha atualmente 20 nós, mas tenha sido originalmente criado com 40, ele não atende aos requisitos para escalabilidade da simultaneidade. Por outro lado, se, no momento, um cluster DC2 tiver quarenta nós, mas tiver sido originalmente criado com vinte, ele atenderá aos requisitos para escalabilidade simultânea.

  • Não um cluster de nó único.

Configurar filas da escalabilidade da simultaneidade

Com o Amazon Redshift, você pode gerenciar a simultaneidade e os recursos do sistema configurando a escalabilidade simultânea. As filas de escalabilidade simultânea permitem que você defina limites quanto ao número de consultas ou sessões de usuário que podem ser executadas simultaneamente. A seção a seguir apresenta instruções sobre como habilitar filas de escalabilidade simultânea no Amazon Redshift para permitir que você gerencie com eficácia consultas e sessões de usuários simultâneas.

Roteie consultas para clusters de escalabilidade da simultaneidade habilitando essa escalabilidade em uma fila do gerenciamento do workload (WLM). Para habilitar a escalabilidade de simultaneidade para uma fila, defina o valor do Modo de escalabilidade de simultaneidade como Automático.

Quando o número de consultas roteadas para uma fila com a escalabilidade de simultaneidade habilitada excede a capacidade de simultaneidade da fila, seja a capacidade configurada manualmente ou determinada automaticamente, filas elegíveis são enviadas ao cluster de escalabilidade de simultaneidade. Quando os slots de fila ficam disponíveis no cluster principal, as consultas são roteadas e executadas no cluster principal. Assim como com qualquer fila do WLM, roteie consultas para uma fila de escalabilidade da simultaneidade em grupos de usuários, ou rotulando consultas com rótulos de grupo de consultas, ou concordando em atender às condições definidas em Atribuir consultas a filas. Você também pode rotear consultas definindo Regras de monitoramento de consulta do WLM. Por exemplo, você pode rotear todas as consultas que demoram mais que 5 segundos para uma fila da escalabilidade da simultaneidade. Lembre-se de que o comportamento do enfileiramento pode variar, dependendo se você está usando o WLM automático ou o WLM manual. Consulte mais informações em Implementar o WLM automático ou em Implementar o WLM manual.

O número padrão de clusters de escalabilidade da simultaneidade é um. O número de clusters de escalabilidade de simultaneidade que podem ser usados é controlado por max_concurrency_scaling_clusters.

Monitoramento da escalabilidade da simultaneidade

Com o Amazon Redshift, é possível monitorar e gerenciar a escalabilidade simultânea para otimizar o desempenho e o custo-benefício das workloads de data warehouse. A escalabilidade simultânea permite que o Amazon Redshift aumente automaticamente a capacidade de cluster quando as demandas de workload aumentam e remova essa capacidade quando as demandas diminuem. A seção a seguir apresenta orientações sobre como monitorar a escalabilidade simultânea de clusters do Amazon Redshift.

Você pode ver se uma consulta está em execução no cluster principal ou em um cluster de escalabilidade de simultaneidade acessando Cluster no console do Amazon Redshift e escolhendo um cluster. Depois, escolha a guia Monitoramento de consultas e Simultaneidade de carga de trabalho para visualizar informações sobre a execução de consultas e consultas na fila.

Para encontrar tempos de execução, consulte a tabela STL_QUERY e filtre na coluna concurrency_scaling_status. A consulta a seguir compara o tempo da fila e o tempo de execução para consultas executadas no cluster de escalabilidade da simultaneidade e consultas executadas no cluster principal.

SELECT w.service_class AS queue , CASE WHEN q.concurrency_scaling_status = 1 THEN 'concurrency scaling cluster' ELSE 'main cluster' END as concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND q.starttime > '2019-01-04 16:38:00' AND q.endtime < '2019-01-04 17:40:00' GROUP BY 1,2 ORDER BY 1,2;

Ajuste os valores de starttimeendtime de acordo com suas necessidades.

Visualizações do sistema de escalabilidade da simultaneidade

Com o Amazon Redshift, é possível usar visualizações do sistema de escalabilidade simultânea para monitorar e gerenciar a atividade de escalabilidade simultânea no cluster. A seção a seguir descreve a consulta a essas visualizações do sistema e a interpretação dos resultados para aproveitar eficazmente a escalabilidade simultânea em seu ambiente do Amazon Redshift.

Um conjunto de visualizações do sistema com o prefixo SVCS fornece detalhes das tabelas de log do sistema sobre consultas nos clusters principal e de escalabilidade de simultaneidade.

As seguintes visualizações têm informações semelhantes às visualizações STL ou SVL correspondentes:

As visualizações a seguir são específicas para a escalabilidade de simultaneidade.

Para obter mais informações sobre a escalabilidade de simultaneidade, consulte os seguintes tópicos no Guia de gerenciamento de clusters do Amazon Redshift.