Aviso: cobrança de US$14 mil no BigQuery em 2 horas
Um pesquisador consultando o BigQuery do Google no conjunto de dados público HTTP Archive foi cobrado inesperadamente em US$14 mil em duas horas, o que levou a um escrutínio mais amplo de como serviços de dados em nuvem expõem (ou obscurecem) custos. Os comentaristas explicam que o conjunto de dados é gratuito, mas as consultas são cobradas por terabyte escaneado, e que uma consulta repetida e mal otimizada provavelmente leu petabytes de dados; ainda assim, muitos argumentam que a interface do Google, a falta de limites rígidos de gastos e os indicadores de custo vagos tornam erros assim fáceis demais. Outros contra-argumentam que a precificação e os avisos do BigQuery estão documentados e que os usuários compartilham a responsabilidade de definir cotas e entender a cobrança, usando este incidente para destacar o risco mais amplo da precificação em nuvem baseada em uso e opaca para indivíduos e pequenas startups.
Visão geral do incidente
- Um usuário executou consultas históricas no conjunto de dados público HTTP Archive no BigQuery e incorreu em ~US$14 mil em cobranças em ~2 horas.
- A carga de trabalho aparentemente escaneou repetidamente tabelas grandes por completo (na ordem de vários petabytes escaneados no total), provavelmente por meio de um loop sobre muitos meses/sites.
- O suporte inicial teria se recusado a isentar a cobrança; mais tarde na discussão, o usuário diz que o Google começou a ajudar a resolver o problema.
Como funciona a precificação do BigQuery (segundo a discussão)
- O armazenamento de conjuntos de dados públicos é coberto pelo Google; os usuários pagam pelo processamento das consultas.
- A precificação sob demanda do BigQuery é por TiB de dados escaneados, com uma pequena faixa gratuita.
- A interface mostra os bytes processados estimados antes de executar uma consulta, mas isso é fácil de passar despercebido e é exibido em TB/PB, não em dólares.
Responsabilidade e culpa
- Um grupo argumenta que isso é principalmente erro do usuário: a documentação do BigQuery e o guia “getting started” do HTTP Archive mencionam cobrança por byte e limites da faixa gratuita.
- Outro grupo argumenta que, embora o usuário tenha cometido erros (por exemplo,
SELECT *, filtrosLIKE, sem limites, consultas em loop), o design do sistema torna erros caros fáceis demais e fornece avisos insuficientes.
UI/UX e transparência de custos
- Vários comentários criticam a abstração do BigQuery de “TBs escaneados” e pequenos indicadores de custo pouco visíveis como hostis ao usuário ou próximos de um “dark pattern”.
- Vários sugerem que a interface deveria mostrar explicitamente uma estimativa em dólares e exibir um aviso bloqueante para consultas muito caras (por exemplo, “isso pode custar US$14 mil – confirmar?”).
Quotas, limites e salvaguardas
- O BigQuery oferece cotas personalizadas (por exemplo, máximo de TB escaneados por consulta/usuário) e limites no nível do projeto, mas eles não são óbvios nem limites rígidos de gasto.
- Alertas de faturamento do GCP e notificações de orçamento existem, mas são atrasados e não garantem um teto rígido em dólares.
- Muitos comentaristas pedem verdadeiros limites rígidos de orçamento ou modelos pré-pagos, especialmente para indivíduos, estudantes e hobbistas.
Conselhos e alternativas
- Dicas práticas: evite
SELECT *em tabelas colunares grandes, use partições/clusters, filtre previamente para tabelas menores, teste em amostras e defina cotas conservadoras. - Alguns recomendam não usar cartões pessoais em grandes clouds, ou usar LLCs, provedores com teto de orçamento, ou alternativas auto-hospedadas / open source.