Redução de Custo no GCP em resumo

Ilan Rosen
FinOps
August 12, 2020

Neste artigo, abordaremos os principais fatores na redução de custos no BigQuery, desde a criação de consultas de maneira adequada e a construção de arquitetura de dados para dar suporte a um objetivo - reduzir custos.

Consultas em BQ custam dinheiro

O preço no BQ é em um pay as you go: $ 5 por 1 TB verificado ao executar sua consulta

Regra prática - na maioria dos casos, se sua consulta custar mais de $ 1, você aparentemente está fazendo algo errado.

Esteja no controle de seus custos - Esta ferramenta pode ajudá-lo dramaticamente com isso:

O que fazer e o que não fazer

1.       Tente evitar o uso de “Select *”,

Desta forma, você evita pagar por varreduras de dados de colunas que você não necessariamente precisa no resultado da consulta.

2.       O uso da cláusula “Limit” em uma consulta não afetará a quantidade de dados verificados.

3.       Use a opção “Table Preview” para ver algumas linhas da tabela (em vez de usar o limite) - Isso é Gratuito

4.       Há também um nível de proteção mais extremo nas configurações de consulta - seção Opções avançadas: “Máximo de bytes faturados”.

Usar isso limitará os bytes cobrados para esta consulta. Se esta consulta tiver bytes faturados além desse limite, a consulta falhará (sem incorrer em cobrança).

5.       use o tempo de expiração da tabela padrão para remover os dados quando não forem mais necessários. - Isso vai economizar custos de armazenamento.

6.       Use inserções de streaming apenas se seus dados devem estar imediatamente disponíveis para consulta. Em outras palavras - não use inserções de streaming, a menos que seja necessário! Custa dinheiro.

7.  Cotas - você pode definir um limite rígido de varredura de dados em um nível diário ou até mesmo em um nível de projeto - mas não em um nível de usuário. Essa é uma boa prática definir um orçamento diário que o manterá na zona de segurança em termos de custo.

Fatores-chave de desempenho (e custo)

1.       Divida suas tabelas - as significativamente grandes!

Isso melhorará o desempenho e o custo da consulta.

2.       Existem várias maneiras de particionar tabelas - a mais comum e, na maioria das vezes, também a mais econômica e com melhor desempenho é o método de tabelas particionadas por tempo.

3.       Desnormalize quando possível. - Bigquery por sua natureza é projetado para uma tabela enorme. A implementação de relações de tabela normalizadas resultará em muitos joins e sobrecarga em termos de desempenho e custo.

4.       Use “Order By” apenas na consulta externa ou dentro de window clauses (funções analíticas). Envie operações complexas para o final da consulta.

5.       Evite self-joins. Em vez disso, use uma window function.

6.       A mesma coisa se aplica a Cross-Joins.

Diretrizes de arquitetura de dados para redução de custos

1.       Conforme mencionado no início do artigo - O princípio chave que nos orienta ao projetar uma arquitetura econômica é reduzir a quantidade de dados digitalizados pelo usuário final.

2.       Na maioria dos casos, o usuário final pode ser o analista ou um usuário de negócios usando uma plataforma de BI.

3.       Queremos reduzir a quantidade de dados digitalizados em termos de custo e não podemos esquecer o desempenho.

Você não quer que seu CEO espere por uma dashboard mais do que alguns segundos até que novos dados sejam apresentados.

4.       A maneira de reduzir os dados é por um método de camadas simples que começa com os dados brutos - camada de ingestão e termina com uma parte muito pequena deles projetada e agrupada especificamente para a ferramenta de BI de sua escolha - a camada de apresentação

5.       Entre essas camadas, você deve fazer toda a limpeza / transformação / união / agregação para oferecer suporte à camada superior a ser otimizada para consultas rápidas e baratas para suas visualizações de BI.

6.       É altamente recomendável dissociar sua computação e armazenamento.

Uma solução comum para garantir isso é usar o Airflow para orquestrar todos os seus pipelines de dados.

7.       As operações de dados em cada nível podem ser executadas por uma ferramenta de sua escolha. Para simplificar o processo, uma boa prática é começar implementando-o apenas com visões internas.

8.      É assim que parece, eventualmente:



Ilan Rosen

Hands on tech savvy ,data driven executive with vast experience and proven results in key positions.
Passionate about customers and products, leading and inspiring teams in creating
solutions to real customer needs (not necessarily wants :) )

Related Posts

Newsletter BrazilClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form