Fatores de impacto em performance e como evitá-los
A performance de processamento na Plataforma Carol, tanto em pipelines quanto em consultas, é influenciada por alguns fatores chave:
- Complexidade da Query: Consultas mal otimizadas (sem filtros, com muitas junções, ou que não especificam campos) consomem mais recursos e tempo.
- Volume de Dados: Quanto maior a quantidade de dados a serem lidos ou transformados, mais longo será o tempo de execução.
- Boas Práticas de Modelagem: A aplicação de técnicas como particionamento, clustering e filtragem é fundamental para otimizar tempo e custo de execução.
Analogia da Cozinha para Entender performance:
Imagine uma cozinha de restaurante:
- Pedido complicado (query): Levará mais tempo para ser preparado.
- Muitos pratos (dados): Aumentará a fila de espera.
- Receita pouco clara (falta de boas práticas): Os cozinheiros demorarão mais para organizar tudo.
DICA : Otimização de Queries:
- Utilize o "agente otimizador de SQL" para auxiliar na otimização de suas pipelines ou consultas. link
Importante! Antes de qualquer solicitação de recursos adicionais, garanta que seu pipeline esteja otimizado. Para compreender os recursos voltados aos slots para projetos, confira os conceitos abaixo.
1- Entendendo os Slots de Alocação de Projeto:
Slots Compartilhados (Padrão Carol):
- Representam unidades de capacidade de processamento, divididas dinamicamente entre projetos.
- Ideal para pipelines de grande volume, processamentos regulares e transformações complexas que demandam alto desempenho, mantendo controle de custos.
- Benefícios: Otimização automática de recursos, flexibilidade e eliminação de custos iniciais.
- Desafios: Em alta demanda, podem haver concorrência e filas, aumentando o tempo de execução (como uma cozinha compartilhada, onde é preciso esperar sua vez).
Reservas de Slots Dedicadas (On Demand Standard):
- Devem ser consideradas quando há problemas com performance no desenvolvimento, necessidade de resultados rápidos para queries ou dashboards, ou workloads grandes e constantes que exigem performance garantida.
- Oferecem mais previsibilidade e agilidade, mas com custo diferenciado.
- Modelo On-Demand para Dashboards: Sem contrato prévio, cobrança por volume de dados processados, ideal para uso variável e performance crítica (ex: Looker Studio), alocação mínima de slots por 60 segundos.
- EX: sua query utilizou 5 segundos de recursos, serão cobrados 60 segundos. (modelo de cobrança definido pela Google)
- Vantagens do On-Demand: Eficiência (separa pipelines de dashboards), flexibilidade de custos (paga apenas pelo uso) e performance aprimorada.
2 - Boas Práticas Antes de Considerar Reservas Dedicadas:
Antes de migrar para slots dedicados, é fundamental revisar e aplicar as seguintes práticas:
- Otimize suas queries: Utilize filtros, evite scans desnecessários e foque em responder a pergunta específica que a query busca solucionar.
- Aproveite recursos: Utilize partições e clustering para organizar seus dados de forma eficiente.
- Monitore: Acompanhe o comportamento das queries para identificar se a lentidão é pontual ou recorrente.
- Avalie outros recursos disponibilizados como o Carol-In-Memory, uso do Storage Read API do BigQuery e caches de softwares de visualização de dados.
Em Resumo:
- A o impacto de performance está frequentemente ligada à complexidade da query e ao volume de dados.
- Por padrão, a Plataforma Carol utiliza slots compartilhados, que são adequados para a maioria dos casos.
- Para maior velocidade e previsibilidade, avalie o uso de reservas de slots dedicadas.
- Sempre priorize a otimização de suas queries e a aplicação de boas práticas antes de considerar alterações na configuração de slots.