antonio leandro

dados e armazenamento

Intelligent Scaling in Amazon Redshift

paper · Vikram Nathan, Vikramank Singh, Zhengchun Liu, Mohammad Rahman, Andreas Kipf, Dominik Horn, Davide Pagano, Gaurav Saxena · · ~21 min de leitura do original

a tese

o warehouse na nuvem escala no eixo errado: rais trata o tamanho do cluster como decisão contínua, provisionando computação para a query pesada e redimensionando o warehouse conforme o workload muda

o que fica

  1. Elasticidade de cluster não é elasticidade de workload: o cluster dimensionado para o dia a dia continua sendo o mesmo cluster que roda a query ad-hoc de fim de mês.
  2. Um warehouse que não cresce junto com o dado não quebra nada — as queries só ficam mais lentas, mês a mês, e a degradação chega devagar demais para virar incidente.
  3. RAIS separa dois eixos que costumam ser confundidos: provisionar computação extra para queries pesadas e reescolher o tamanho do warehouse para o workload inteiro.
  4. Os ganhos declarados são até 7,6x em custo ou até 14,2x em tempo médio de execução, dependendo do workload — é um ou outro, não os dois no mesmo caso.
  5. Automatizar o tamanho do cluster transfere a decisão de gasto da equipe para o provedor, que é exatamente onde o cliente precisa de guarda-corpos explícitos.
  6. O resumo do trabalho não declara nenhuma limitação, o que por si só é motivo para abrir o paper antes de citar os números.

o problema

A promessa do data warehouse gerenciado é que o cliente pare de administrar máquina. Boa parte dela foi cumprida: ninguém mais planeja disco, rack ou janela de manutenção. Mas o trabalho começa apontando o que ficou de fora dessa promessa — dimensões do workload que continuam paradas no lugar enquanto tudo em volta se move. A primeira é a query pesada. Em cluster gerenciado, a consulta ad-hoc gigante e o ETL rodam no mesmo cluster provisionado para o resto do trabalho. Não existe vazão separada para o excepcional, então sobram duas saídas ruins: superdimensionar o cluster o ano inteiro para o pico de terça-feira, ou aceitar que o pesado seja lento e atropele o resto enquanto roda.

A segunda é mais silenciosa. O dado cresce e o warehouse não. Nada falha, nenhum alarme dispara, nenhuma página é aberta. As queries simplesmente vão ficando mais lentas, na velocidade em que a tabela engorda, e a degradação é gradual demais para virar incidente. Quem percebe primeiro é o usuário final, meses depois, e a correção depende de alguém abrir um console e decidir crescer — decisão que ninguém toma porque não há evento que a provoque.

a ideia

RAIS é o nome do conjunto de técnicas de escala e otimização que a Amazon colocou no Redshift em preview no re:Invent 2023 e descreveu no SIGMOD 2024. O movimento central é parar de tratar o tamanho do cluster como parâmetro de setup e passar a tratá-lo como decisão contínua, tomada a partir do comportamento observado do workload.

Isso se desdobra em dois eixos que costumam ser embolados numa palavra só. O horizontal responde à variação de curto prazo: provisionar computação dinamicamente para que a query pesada rode eficientemente, sem que ela dependa do cluster provisionado para a rotina. O vertical responde à variação de longo prazo: escolher automaticamente o tamanho do warehouse adequado ao workload do cliente e reescolher conforme esse workload se desloca ao longo do tempo. Um cuida do pico; o outro cuida da deriva.

O resumo qualifica as técnicas como movidas a IA, mas não diz quais modelos, quais sinais entram na decisão nem com que frequência ela é revista. Quem quiser conversar sobre o mecanismo precisa do texto completo — a peça pública não sustenta essa parte.

o que isso custou

Os números declarados são “até 7,6x em custo” e “até 14,2x em tempo médio de execução”, e a formulação importa: os autores escrevem que RAIS melhora ou uma coisa ou a outra, dependendo do workload. Não é um sistema que entrega redução de custo e aceleração no mesmo caso. Ele reposiciona o ponto na curva conforme o que a carga pede, o que é honesto e menos vendável do que um número só.

Além disso, os dois ganhos são teto — “até” — e comparados a baselines que o resumo não caracteriza. Um resultado de 14,2x contra um cluster mal dimensionado diz mais sobre o baseline do que sobre a técnica.

O trade-off estrutural, esse não está no resumo, mas decorre do desenho: quem automatiza o tamanho do cluster automatiza a fatura. A decisão que antes exigia um humano aprovando um upgrade passa a ser tomada por um sistema que otimiza métrica interna. É a mesma troca de autoscaling em qualquer lugar, com a diferença de que aqui a unidade de escala é cara. O resumo não declara limitação nenhuma, e essa ausência é o principal motivo para abrir o paper antes de citar os resultados.

onde isso aparece hoje

O trabalho é um capítulo tardio de uma linha longa. Amazon Redshift and the Case for Simpler Data Warehouses defendeu, em 2015, que o valor do produto estava em tirar decisão das mãos do cliente; Amazon Redshift Re-invented descreveu em 2022 a arquitetura sobre a qual essa automação passou a agir. RAIS empurra o mesmo argumento para o último parâmetro que ainda era do cliente: quanto cluster comprar.

A automação depende de prever comportamento de query, e o Redshift publicou no mesmo ano Stage, sobre predição de tempo de execução, e Predicate Caching, sobre indexação secundária dirigida pelo workload. São peças vizinhas do mesmo programa: usar o histórico da carga como entrada para decisões que antes eram configuração estática.

Do outro lado da comparação está The Snowflake Elastic Data Warehouse, que resolveu o problema do cluster único separando armazenamento de computação e deixando o cliente ligar virtual warehouses de tamanhos diferentes. A diferença de filosofia é o ponto: lá o cliente escolhe, aqui o sistema escolhe por ele.

lido na íntegra por pipeline de llm, revisado por antonio leandro antes de publicar ·