BigQuery: entenda as principais técnicas para otimização de custos - SantoDigital
Uma das vantagens de usar o Google Cloud Platform é ter o BigQuery à sua disposição. Trata-se de uma poderosa ferramenta de Big Data que ajuda as empresas em suas estratégias de negócio. Com essa ferramenta, você pode executar consultas rápidas, ter acesso às informações em tempo real com o streaming e obter análises avançadas, preditivas e assertivas.
A grande vantagem do BigQuery é que você só paga pelo que efetivamente utiliza. Dessa forma, é muito importante conhecer técnicas de otimização de custos, para que você não precise escolher entre desempenho ou custo.
Confira a seguir algumas técnicas que ajudam a otimizar o uso dessa importante ferramenta.
Otimizando os custos do BigQuery
Depois que os dados são carregados no BigQuery, as cobranças são baseadas na quantidade de dados armazenados em suas tabelas por segundo.
Você também é cobrado pelo número de bytes processados, independentemente do armazenamento.
Sendo assim, é interessante fazer o uso otimizado dessa ferramenta, para obter o máximo de benefícios com o menor custo possível. Confira algumas dicas!
1. Mantenha seus dados apenas pelo tempo que precisar
Por padrão, os dados armazenados no BigQuery já estão criptografados e compactados. Configure a expiração da tabela padrão no seu conjunto de dados que você não precisa preservar.
Por exemplo, se você está analisando dados para um projeto específico e não tem a pretensão de utilizá-los no futuro, limpe os dados assim que você obter todas as análises necessárias.
2. Desconfie de como você edita seus dados
Se sua tabela ou partição de uma tabela não tiver sido editada por 90 dias, o preço dos dados nela armazenados cai automaticamente em cerca de 50%.
Para aproveitar ao máximo essa possibilidade, lembre-se de todas as ações que editam os dados da tabela, incluindo ações de linguagem de manipulação de dados (DML, na sigla em inglês) ou linguagem de definição de dados (DDL, na sigla em inglês).
Isso trará seus dados de volta ao armazenamento ativo e redefinirá o timer de 90 dias. Para evitar isso, considere carregar o novo lote de dados em uma nova tabela ou em uma partição de uma tabela, se isso fizer sentido para o seu caso de uso.
A consulta dos dados da tabela, juntamente com algumas outras ações, não redefine o cronômetro de 90 dias e os preços continuam sendo considerados como armazenamento de longo prazo.
Na maioria dos casos, manter os dados no BigQuery é vantajoso, a menos que você tenha certeza de que eles não serão muito utilizados ao longo ano, como acontece com o armazenamento de arquivos por motivos legais ou regulamentares.
Nesse caso, explore a opção de exportar os dados da tabela do BigQuery para a classe de armazenamento Coldline de um bucket do Cloud Storage para obter preços ainda melhores.
3. Evite cópias duplicadas de dados
O BigQuery usa um modelo de acesso a dados federados que permite consultas diretamente em fontes de dados externas, como Cloud Bigtable, Cloud Storage, Google Drive e Cloud SQL. Isso é útil para evitar cópias duplicadas de dados, reduzindo assim os custos de armazenamento.
Essa opção também é interessante em caso de dados que são alterados frequentemente. Dessa forma, eles não precisam ser carregados no BigQuery toda vez que são alterados.
4. Veja se você está usando a inserção de streaming para carregar seus dados
Verifique na sua fatura do BigQuery se você é cobrado pelas inserções de streaming. Se sim, será que é realmente necessário que os dados estejam disponíveis em tempo real (em alguns segundos, em vez de horas) nessa ferramenta?
Se uma das respostas for não, é recomendável mudar para o carregamento de dados em lote, pois é totalmente gratuito.
Use inserções de streaming somente se os dados no BigQuery forem consumidos imediatamente pelos consumidores downstream.
5. Consulte apenas os dados necessários
O BigQuery pode fornecer um desempenho incrível porque armazena dados como uma estrutura colunar. Por isso, a cláusula SELECT é a maneira mais cara de consultar dados.
Isso ocorre porque ela executará uma varredura completa em todas as colunas presentes nas tabelas, incluindo as que você talvez não precise.
Ao selecionar as colunas necessárias, você pode reduzir os bytes processados, o que é uma maneira rápida de otimizar os custos. Além disso, observe que a aplicação da cláusula LIMIT à sua consulta não afeta o custo.
Além disso, lembre-se de que você é cobrado pelos bytes processados ​​no primeiro estágio da execução da consulta. Logo, evite criar uma consulta complexa de vários estágios apenas para otimizar os bytes processados ​​nos estágios intermediários, pois não há implicações de custo.
Filtre sua consulta o mais cedo e com a maior frequência possível para reduzir custos e melhorar o desempenho no BigQuery.
6. Use o cache de forma inteligente
Com poucas exceções, o armazenamento em cache pode realmente melhorar o desempenho da sua consulta e você não será cobrado pelos resultados recuperados. Por padrão, a preferência de cache está ativada. Lembre-se de que o cache é por usuário, por projeto.
Para aumentar significativamente a ocorrência de cache em vários usuários, use uma única conta de serviço para consultar o BigQuery ou use conectores da comunidade.
Agora você já conhece algumas dicas preciosas para otimizar os custos de uso do BigQuery. Aproveite para descobrir 5 dicas imperdíveis para economizar espaço no Google Drive.