Com o BigQuery, você tem dois serviços em um. Ele é um recurso de armazenamento totalmente gerenciado para carregar e armazenar conjuntos de dados, além de ser um mecanismo analÃtico rápido com base em SQL. A rede interna de alta velocidade do Google conecta os dois serviços. Com essa rede rápida, o BigQuery pode fazer o escalonamento do armazenamento e da computação de maneira independente, com base na demanda. Vamos ver como o BigQuery gerencia o armazenamento e os metadados de conjuntos de dados. O BigQuery pode ingerir conjuntos de dados de várias origens, incluindo: dados internos, que são salvos diretamente no BigQuery, dados externos, dados de várias nuvens e conjuntos de dados públicos. Depois que os dados são armazenados no BigQuery, eles são totalmente gerenciados, replicados automaticamente, armazenados em backup e configurados para serem escalonados automaticamente. O BigQuery também oferece a opção de consultar fontes de dados externas, como dados armazenados em outros serviços de armazenamento, como o Cloud Storage, ou em outros serviços de banco de dados do Google Cloud, como o Spanner ou o Cloud SQL, além de ignorar o armazenamento gerenciado pelo BigQuery. Ou seja, é possÃvel usar um arquivo CSV bruto no Cloud Storage ou um arquivo do Planilhas Google para gravar uma consulta sem que haja a ingestão pelo BigQuery primeiro. E atenção: salvar e processar dados separadamente pode gerar inconsistências. Para evitar esse problema, use o Dataflow com o objetivo de criar um pipeline de dados de streaming no BigQuery. Além de fontes de dados externas, internas ou nativas, o BigQuery também pode ingerir informações de dados de várias nuvens, que são informações armazenadas em vários serviços de nuvem, como AWS ou Azure, ou um conjunto de dados público. Se você não tiver dados próprios, é possÃvel analisar os conjuntos de dados disponÃveis no marketplace de conjuntos de dados públicos. Há três padrões básicos para carregar dados no BigQuery. O primeiro é o carregamento em lote, em que os dados de origem são carregados em uma tabela do BigQuery em uma única operação em lote. Essa operação pode ser única ou automatizada para ocorrer de maneira programada. Uma operação de carregamento em lote pode criar uma outra tabela ou anexar dados a uma tabela atual. O segundo é o streaming, em que ocorre o streaming de lotes de dados menores sem parar. Assim, os dados ficam disponÃveis para consultas quase em tempo real. O terceiro são dados gerados, em que as instruções SQL são usadas para inserir linhas em uma tabela atual ou gravar em uma tabela os resultados de uma consulta. Claro que o objetivo do BigQuery não é apenas salvar dados, mas também analisar dados e ajudar na tomada de decisões corporativas. O BigQuery é otimizado para executar consultas analÃticas em grandes conjuntos de dados. Com ele, é possÃvel executar consultas em terabytes de dados em segundos e petabytes em minutos. Esse desempenho permite analisar grandes conjuntos de dados com eficiência e gerar insights quase em tempo real. Vamos ver os recursos de análise disponÃveis no BigQuery. O BigQuery oferece suporte a análise ad-hoc usando o SQL padrão, o dialeto SQL do BigQuery. Análises geoespaciais usando tipos de dados geográficos e funções geográficas do SQL padrão. O BigQuery oferece suporte à criação de modelos de ML usando o BigQuery ML e de painéis de Business Intelligence detalhados e interativos usando o BigQuery BI Engine. Por padrão, o BigQuery executa consultas interativas. Ou seja, elas são executadas conforme necessário. O BigQuery também oferece consultas em lote, em que cada consulta é enfileirada em seu nome, e a consulta começa quando recursos inativos estão disponÃveis, geralmente em alguns minutos. A seguir, você vai ver uma demonstração do BigQuery. Talvez a interface do usuário seja um pouco diferente.