Google BigQuery

Post BigQuery - 1 O BigQuery é o serviço Data Warehouse em cloud do Google, para análises BigData. Por utilizar a infraestrutura do Google, permite armazenamento e processamento de grandes volumes de dados, além de possibilitar integrações com diversas ferramentas de BI (Tableau, QlikView, Bime) e aplicações Google (Google Apps Script, Google Prediction API, Google Analytics). Ele disponibiliza seus dados para consultas SQL, mas seu foco não é operacional e sim estratégico, portanto não oferece suporte a instruções como INSERT, UPDATE e DELETE, e sua estrutura de armazenamento é desnormalizada. É um ambiente totalmente OLAP (On-Line Analytical Processing). Post BigQuery - 2 É importante entender as diferenças entre aplicações OLTP (On-Line Transact Processing) e OLAP para saber utilizar o BigQuery e, principalmente, abstrair os benefícios que ele pode ocasionar ao seu negócio. Em um ambiente OLTP os dados são de nível operacional, onde sofrem constantes atualizações para suportar o gerenciamento do negócio, não armazenando dados históricos, no máximo backups e registros de log. A proposta de um ambiente OLAP é totalmente diferente, seu objetivo é a tomada de decisão. Dados históricos são mantidos na base por meio de cargas em massa para consultas e análises estratégicas, possibilitando sumarização de acordo com o nível de detalhe desejado. Sendo assim, o BigQuery não vem para substituir SGBDs (Sistemas Gerenciadores de Banco de Dados) tradicionais como SQl Server, MySQl ou Oracle Database, pode inclusive trabalhar em conjunto já que necessita ser alimentado por uma origem ou mais. Recursos O Google BigQuery é capaz de representar objetos de dados em tabelas, ou seja, ele abstrai o conceito NoSQL para seu ambiente, facilitando a manipulação dos dados. É essencial para o desenvolvedor abstrair esse conceito junto com a ferramenta, pois o objetivo dela não é tornar as consultas SQL mais complexas. Para exibir um dado do nível mais profundo de um objeto em uma tabela, o registro conterá cada nível em forma de coluna, da raíz até o dado desejado, portanto irá replicar diversos campos para representar dados de um mesmo nível. Para a importação, o BigQuery suporta dois formatos de arquivo, CSV e JSON, contendo até 1 TB. Suas tabelas são organizadas em Datasets, semelhante a esquemas de ambientes tradicionais, e permite transformar um SELECT em tabela (em alguns cliques!). Não há suporte para recursos clássicos como Stored Procedures e Triggers, porém em conjunto com o Google Apps Script é possível explorar esse lado de rotinas automatizadas, necessitando de conhecimento em Javascript. Post BigQuery - 3 O Google Analytics Premium possui uma simples integração com o BigQuery, exportando seus dados brutos para um dataset exclusivo, ou seja, via BQ é possível extrair seus dados digitais sem amostragem! O Dataset representa a principal Visualização da sua conta do GA, tendo como identificador seu ID correspondente. As tabelas são exportadas para o banco diariamente e nomeadas no formato “ga_sessions_YYYYMMDD”, isto é, há uma única tabela para cada dia de dados. As sessões equivalem às linhas e as dimensões e métricas equivalem às colunas. Vale ressaltar que os dados do GA são objetos abstraídos em tabelas, portanto há níveis de profundidade e, consequentemente, replicação de dados. A chave de identificação de cada sessão é composta, ou seja, é o ID do visitante junto ao TIMESTAMP da visita. A sintaxe SQL utilizada pelo BigQuery, em seus comandos básicos, obedece ao padrão ANSI (American National Standards Institute), mas por ser uma ferramenta que possui diversas peculiaridades apresenta novidades. Por suportar dados em forma de objetos, há um tipo de dado denominado RECORD e funções específicas para manipulá-lo. O BigQuery oferece suporte a Expressões Regulares, então é possível utilizar funções com esse recurso. Há também funções exclusivas da cláusula FROM que permitem selecionar as tabelas necessárias para as consultas. Um SELECT simples para retornar quantas visitas foram realizadas no mês de janeiro em um Dataset importado do GA seria da seguinte maneira: SELECT SUM(totals.visits) AS Visitas FROM TABLE_DATE_RANGE([datasetname.ga_sessions_], TIMESTAMP(‘2015-01-01’), TIMESTAMP(‘2015-01-31’)) Post BigQuery - 4 A documentação do BigQuery é bastante didática, aborda não somente sintaxe SQL como também sua arquitetura. Há instruções para integração com diversas aplicações do Google e sua equipe de desenvolvedores participa ativamente do fórum StackOverflow, esclarecendo rapidamente as dúvidas dos usuários da ferramenta. O site Reddit tem uma comunidade que cita diversos usos do BigQuery e apresenta novidades constantemente. Na página de suporte do Google BigQuery, há exemplos de queries mais complexas com dados do GA, além de detalhar como dimensões e métricas são representadas no banco de dados. Uma opção também é o livro Google BigQuery Analytics. O Google disponibiliza uma avaliação gratuita para testes e oferece certificação para quem deseja se especializar, a CP304 Google BigQuery. Em resumo, o BigQuery é uma excelente ferramenta em cloud, dispensa preocupações em otimização de desempenho já que utiliza a insfraestrutura do Google, está cada vez mais se popularizando no mercado e possui diversos materiais para aprendizado. Seus usuários estão a cada dia contribuindo mais para esse crescimento e, sem dúvidas, vale a pena conferir!

Author Bruno Mercadante Delbuono dos Anjos

More posts by Bruno Mercadante Delbuono dos Anjos

Join the discussion 3 Comments

  • Marina Moreno disse:

    Ótimo conteúdo! Os exemplos foram bem claros e o texto muito bem redigido… Parabéns!

  • Renato Azevedo Sant Anna disse:

    Parabéns pelo artigo, tenho lido bastante recentemente de plataformas em cloud, Big Data, etc. Achei bastante ilustrativo e didático os exemplos apresentados.

  • Fernando Meirelles disse:

    Excelente post.
    Big Query e o futuro e cada vez mais as empresas deverão tirar vantagens disso.

Leave a Reply