antonio leandro

dados e armazenamento

Amazon Redshift Re-invented

paper · Nikos Armenatzoglou, Sanuj Basu, Naga Bhanoori, et al. · · ~22 min de leitura do original

a tese

o data warehouse parou de ser um cluster que alguém tuna e virou um serviço que se dimensiona sozinho — e, no caminho, engordou até virar o ponto de junção de todo dado da nuvem

o que fica

  1. A elasticidade do Redshift foi construída em três eixos separados: tiered storage cresce o armazenamento, multi-cluster auto-scaling cresce o compute, e cross-cluster data sharing serve o mesmo dado a clusters diferentes sem copiar.
  2. Serverless é o fim natural da linha de autonomics: quando o sistema já decide sozinho tamanho, tuning e escala, expor o cluster ao cliente deixa de ter função.
  3. O warehouse de 2022 responde perguntas sobre dado que não está dentro dele — data lake via Spectrum, Aurora e RDS via federated query, Kinesis e MSK via streaming ingestion.
  4. O número que a Amazon escolhe exibir não é latência de query e sim operação: exabytes por dia, dezenas de milhares de clientes, e quase nenhum deles tunando nada.
  5. O paper é um retrospecto de nove anos de um serviço fechado, escrito por quem o vende: serve para ler a direção das decisões de projeto, não para reproduzir resultado.

o problema

Antes de 2013, montar um data warehouse era um projeto de infraestrutura, não uma decisão de software. A empresa comprava appliance, dimensionava para o pico do trimestre mais movimentado e convivia com a máquina ociosa no resto do ano. O abstract resume o estado da arte da época em três adjetivos: caro, não elástico e dependente de gente especializada para tunar e operar. Esse terceiro item é o mais caro dos três, porque não aparece na fatura: alguém precisava escolher chave de distribuição, chave de ordenação, estatísticas, plano de vacuum, janela de manutenção. Erro de tuning não derruba o sistema, só faz a query da diretoria levar quarenta minutos.

O Redshift atacou isso em 2013 e virou, segundo os autores, o serviço de crescimento mais rápido da AWS. Aí apareceu o segundo problema, que é o assunto real deste paper: os casos de uso mudaram. Deixou de bastar rodar SQL rápido sobre dado que o cliente carregou de véspera. O dado passou a estar espalhado — em S3, num Aurora de produção, num tópico do Kinesis — e o volume de cada cliente parou de crescer de forma previsível. Uma arquitetura desenhada para um cluster fixo com o dado dentro dele estava resolvendo a pergunta de 2013 num mundo que já era outro.

a ideia

A resposta não é um mecanismo, é uma direção sustentada por quase uma década, e o paper a organiza em três frentes.

A primeira é desacoplar as escalas. Armazenamento cresce por tiered storage, compute cresce por multi-cluster auto-scaling, e o mesmo dado passa a ser lido por clusters diferentes através de cross-cluster data sharing, sem cópia — a leitura para de exigir um ETL só porque outro time quer o mesmo dado. Some a isso o AQUA, descrito como uma camada de aceleração de query. Cada peça ataca um eixo que antes crescia junto com os outros porque estava tudo na mesma caixa.

A segunda é o que os autores chamam de autonomics: passar para o sistema as decisões que antes eram do operador. O Redshift Serverless é apresentado explicitamente como a culminação desse esforço — o cliente roda análise sem provisionar nem administrar infraestrutura. É a admissão de que o botão certo é o botão que não existe.

A terceira é expandir o perímetro. Spectrum consulta o data lake, PartiQL ingere e consulta dado semiestruturado, streaming ingestion puxa de Kinesis e MSK, Redshift ML leva modelo para dentro do SQL, federated queries alcançam Aurora e RDS, e materialized views federadas materializam esse dado externo. O warehouse deixa de ser o destino do pipeline e vira o ponto onde os dados da conta se encontram.

o que isso custou

O abstract não declara limitação nenhuma — é texto de serviço, escrito por quem o vende, e o que está aqui é leitura das escolhas, não confissão dos autores.

O preço mais visível é superfície. Um sistema que faz tiered storage, auto-scaling, data sharing, aceleração em hardware, data lake, semiestruturado, streaming, ML e query federada tem uma matriz de interação entre features que ninguém testa inteira. Cada porta nova é um caminho a mais para o dado entrar e um modo de falha a mais para explicar.

O segundo é controle. Autonomics resolve o problema de quem não quer tunar e cria um para quem precisa: quando o sistema decide sozinho, o engenheiro perde o volante justamente na hora em que a heurística erra, e a depuração vira adivinhação sobre um componente fechado.

O terceiro é epistêmico. Este é um paper de indústria sobre um produto proprietário: não há como reproduzir, comparar em pé de igualdade ou verificar o que se afirma. Ele vale como registro de que decisões um time tomou ao longo de nove anos com clientes reais em cima — e não vale como evidência.

onde isso aparece hoje

Este texto é o segundo capítulo de uma história que o próprio time já havia contado em Amazon Redshift and the Case for Simpler Data Warehouses, de 2015: lá o argumento era simplicidade, aqui é elasticidade e autonomia. A separação entre armazenamento e compute que organiza a primeira frente aparece descrita com mais detalhe de projeto em The Snowflake Elastic Data Warehouse, e a fronteira que o Spectrum atravessa — warehouse consultando o data lake — é exatamente a que o Lakehouse propõe apagar de vez. As federated queries apontam para Amazon Aurora, que é o banco operacional do outro lado dessa ponte.

Os trabalhos posteriores do próprio Redshift mostram onde a agenda de autonomics foi parar: previsão de tempo de execução de query em Stage, decisão automática de escala em Intelligent Scaling e indexação secundária guiada pelo workload em Predicate Caching. Todos são a mesma aposta em versão menor e verificável: o sistema observa o próprio uso e ajusta o que antes vinha num runbook.

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