SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
BIGQUERY
ESCALABILIDADE INFINITA
PARA OS SEUS DADOS
Alvaro Viebrantz
Google Developer Expert for IoT and Product Engineer at Leverege
aviebrantz.com
@alvaroviebrantz
O que vamos ver hoje ?
O que é o
BigQuery ?
Cenários
de Uso
Demos
O que é o BigQuery
Resumão
• Banco de dados totalmente gerenciado
• Escala de acordo com sua demanda
• Armazenamento
• Consulta
• Interface SQL
• Preço baseado em uso
• Armazenamento
• Consulta
O que é o BigQuery
Resumão
• Dataset
• Conjunto de tabelas
• Tables
• Views
• User Defined Functions - UDF
• Javascript e até WebAssembly
• Consultas Agendadas - Scheduled Query
BANCO TODO GERENCIADO ?
Exemplo de escalabilidade
Benchmark feito em 2016 - Muitas melhorias foram feitas
• Base dados da Wikipedia no BigQuery
• 100 bilhões de linhas
• 7 TB
• https://cloud.google.com/blog/products/gcp/anatomy-of-a-bigquery-query
Vamos parar pra pensar
O que é necessário pra isso rodar em 30s ?
• Problema :
• Leitura de ~1TB ( 4TB descomprimido )
• 100 bilhões de expressões regulares
Vamos parar pra pensar
O que é necessário pra isso rodar em 30s ?
• Infra estimada
• 330 discos lendo a 100MB/sec para ler 1TB
• Provavelmente esse dados pra distribuído, então precisamos de rede boa pra
transferir isso.
• 3300 núcleos pra descomprimir e processar todas as linhas. Levando em
consideração que cada operação demore 1 micro seg.
• 100 bi / 1useg — 100 mil segs / 30 segs — 3300 nucleos
Por baixo dos panos
Como ele funciona ?
• Baseado em vários projetos no
Google.
• Borg - Pai do Kubernetes
• Colossus - Sistema de Arquivos
Distribuidos
• Jupiter - Rede na escala de
Petabytes
• Dremel - Motor de Execução
Evolução do Map Reduce
• 🌟 White Papers disponíveis 🌟
Particionamento e Clustering
Importante para varrer uma quantidade menor de dados
• Colunar Store
• Apenas colunas consultadas contam - Não use select *
• Particionamento
• Timestamp - Padrão por dia
• Integer Range ⭐
• Clustering
• Agrupar dados co-relatos
• Vamos ver isso na prática 😉
Preço Geral
Sob demanda
• Armazenamento ( Active vs Long Term )
• $0.020 por GB Ativo e $0.010 por GB
• Streaming Insert
• $0.010 por 200MB -> $0.050 por GB -> $51.2 por TB
• Consulta sob Demanda
• $5.00 por TB lido
• Leitura baixo nivel - BigQuery Storage API
• $1.10 por TB
Várias coisas são grátis
Dá pra fazer bastante coisa
• Carregar, Copiar e Exportar Dados
• Operações administrativas
• Re-calcular partições e clustering
• Cota Grátis
• 10 GB de Armazenamento Long Term e Active grátis.
• 1TB lido por Mês
• Não precisa de cartão pra começar
CENÁRIOS DE USO
Throughput vs Latência
Não é voltado para baixa latência e como banco transacional
• Nenhuma operação demora menos de alguns segundos
• Inaceitável para um sistema transacional
• Séries temporais
• Telemetria e Dados históricos
• Data warehouse
• Preferencialmente usar de forma Imutável / Append Only
• Mas também tem suporte para DML - Update/Delete
• Logs distribuido
Análise de Dados em Geral
Não precisa pensar em infra para fazer sua analise
• Rodar local pode não ser possível
• Uma base de dados nem tão grande já pode rodar bem lento em um
banco tradicional
• Linguagem SQL permite muitas possibilidades
DEMO #1
NYC CITI BIKE
NYC Citi Bike Dataset
Dados de uso/empréstimos de bicicletas em Nova York
• www.citibikenyc.com/system-data
• Dataset até 2017
• 5 GB
• 33 milhões de linhas
• Disponível no BigQuery
Carregando os dados
Qual forma mais facil de analisar ?
• Python ? R ? Pandas ?
• Precisa de bastante memória
• ~9GB em memória
• 3 minutos para carregar
Carregando os dados
Qual forma mais facil de analisar ?
• PostgreSQL
• 4 minutos para carga
• BigQuery
• 1 minuto para carga
• Ambos aceitáveis na carga
• Vamos as consultas ?
O que queremos saber
Quais informações extrair do conjuntos de dados
• Estações com maior saídas de percurso
• Quantas corridas iniciam e terminam na mesma estação
• Corridas iniciam e terminam em estações diferentes, quais as mais frequentes ?
• Que tipos de clientes mais usam por dia, assinantes ou não assinantes ?
Resultados
⚡⚡⚡
• Estações com maior saídas de percurso
• BQ (1.4s) vs Postgres (~30s)
• Quantas corridas iniciam e terminam na mesma estação
• BQ (0.8s) vs Postgres (~12s)
• Corridas iniciam e terminam em estações diferentes, quais as mais frequentes ?
• BQ (3.4s) vs Postgres (~4m30s)
• Que tipos de clientes mais usam por dia, assinantes ou não assinantes ?
• BQ (1.5s) vs Postgres (~1m10s)
DEMO #2
WIKIDATA E SUPER HEROIS
Wiki Data
Dados abertos da Wikipedia mais estruturados
• Big Data ?
• Pageviews em 2019
• 2.3 TB
• 57 bilhões de linhas
• Wikidata
• 1TB
• 63 milhões de linhas
2 TERABYTES ?
NÃO VAI SAIR CARO ?
LEMBRE-SE
NADA DE SELECT *
PARTICIONAMENTO
COLUNAR STORE
CLUSTERING
A consulta
Usando datasets públicos no BigQuery
MARVEL
VS
DC
Buscando personagens
Filtros por super heróis e universos ficcionais
Pageviews em 2020 por personagem
Top 20 visitados na Wikipedia
BIGQUERY ML
BigQuery ML
Machine Learning direto no banco
• Use Machine Learning com SQL !!!
• Alguns modelos básico
• Regressão Linear, Regressão Logistica Binária/Multi classe e KMeans
• Suporta importação de modelos do Tensorflow !!!
• De graça !!!
• A infra no BigQuery é cobrada baseada na consulta e dados
armazenados
DEMO #3
BIGQUERY ML
Dados de Natalidade
Regressão linear para estimar peso de bebe
• Dataset Publico no BigQuery
• 22 GB de Dados
• 100 milhões de linhas
• Vamos estimar peso do bebe baseado em:
• Semanas de gravidez
• Sexo do Bebe
• Idade da mãe
• Raça da mãe
Voltando ao exemplo das Bikes
Clusterizar estações de bikes
• Agrupar por estações com o mesmo comportamento
• Baseado em :
• Quantidade de passeios
• Distância do centro
• Média de duração do passeio
• Quais estações tem menos movimento ?
• Quais estações tem mais movimento e com durações menores ?
BIGQUERY FEDERATED SOURCES
BigQuery Federated Data Sources
Dados externos lidos pelo BigQuery
• Sua escolha para montar seu Data Lake
• Planilhas do Google Sheets
• Arquivos no Google Cloud Storage
• CSV e JSON
• Avro, ORC, Parquet - BigData
• BigTable - HBase gerenciado pelo Google
• De graça
• Cobrança pelo infra usada pelo BigQuery
DEMO #4
FEDERATED DATA SOURCE
DATA LAKE
MONITORAMENTO
DE TANQUES EM
UMA FAZENDA
41
Arquitetura do Projeto
Administração
43
Conectar Cloud SQL e BigQuery
44
Conectar Cloud SQL e BigQuery
45
Conectar Cloud SQL e BigQuery
46
Dashboard no Data Studio
O QUE MAIS TEM PRA FAZER ?
48
Google Data Studio
Obter insight dos dados armazenados
• Ferramenta para visualização de
dados
• Diversas fontes de dados
• SQL, Google Analytics, BigQuery,
Arquivos CSV, etc
• User friendly
• Gratuito
BI Engine
Se livrar do problema da latência
• Consultas in Memory
• Compatível com o Data Studio por enquanto
• Preço por GB alocado
• $0.0416 por GB por hora
• $30.36 por GB por mês
Cloud Dataflow
Processamento de dados em Streaming e Batch
• Baseado no projeto Open Source Apache Beam
• Dataflow SQL - Converte uma consulta SQL em pipeline de processamento
Cloud Composer
Escalonamento de recursos e infra em larga escala
• Baseado no projeto Open Source Airflow
Cloud Data Fusion
Monte pipelines de ETL em larga escala usando interface gráfica
• Baseado no projeto Open Source CDAP
Cloud Data Loss Prevention
Obfuscação de dados e prevenção de vazamento de informações
• Pode ser adicionado ao seu fluxo de ETL
• Preparar conjunto de dados para que sejam menos invasivos
Cloud Data Prep
Limpeza de conjunto de dados
• Preparar um dataset antes de salvar no banco e ser analisado
• Aplicar transformações de dados
• Preencher falhas
AutoML
Machine Learning as a Service
• Treinamento de modelos em diversos formatos
• Auto ML Vision
• Auto ML Language
• Auto ML Tables
BigQuery tem suporte a GIS
Consultas geo espaciais
• Tem suporte a funções avançadas de GIS
• Points, Poligons, Multi-Poligons
• WKT, WK8, GeoJSON
REFERENCIAS
Referencias
Mais material de estudo
• https://cloud.google.com/blog/products/gcp/inside-capacitor-bigquerys-next-generation-columnar-
storage-format
• https://link.medium.com/CMfriTzNs3
• https://towardsdatascience.com/citi-bike-2017-analysis-efd298e6c22c
• https://medium.com/skyshidigital/what-bigquery-is-and-isnt-d092fa173d53
• https://cloud.google.com/blog/products/gcp/bigquery-under-the-hood
• https://cloud.google.com/blog/products/gcp/anatomy-of-a-bigquery-query
• https://medium.com/@sourcedtech/calling-c-functions-from-bigquery-with-web-assembly-
c19c023fc755
• https://medium.com/@hoffa/bigquery-beyond-sql-and-js-running-c-and-rust-code-at-
scale-33021763ee1f
OBRIGADO!
AVIEBRANTZ.COM
Alvaro Viebrantz
Google Developer Expert for IoT and Product Engineer at Leverege
aviebrantz.com
@alvaroviebrantz

Weitere ähnliche Inhalte

Was ist angesagt?

Building an Enterprise Knowledge Graph @Uber: Lessons from Reality
Building an Enterprise Knowledge Graph @Uber: Lessons from RealityBuilding an Enterprise Knowledge Graph @Uber: Lessons from Reality
Building an Enterprise Knowledge Graph @Uber: Lessons from RealityJoshua Shinavier
 
Introduction to GitHub Copilot
Introduction to GitHub CopilotIntroduction to GitHub Copilot
Introduction to GitHub CopilotAll Things Open
 
Real-time Analytics with Trino and Apache Pinot
Real-time Analytics with Trino and Apache PinotReal-time Analytics with Trino and Apache Pinot
Real-time Analytics with Trino and Apache PinotXiang Fu
 
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesConfluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesKai Wähner
 
ChatGPT 101 - Vancouver ChatGPT Experts
ChatGPT 101 - Vancouver ChatGPT ExpertsChatGPT 101 - Vancouver ChatGPT Experts
ChatGPT 101 - Vancouver ChatGPT ExpertsAli Tavanayan
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...ssuser4edc93
 
Large Language Models - Chat AI.pdf
Large Language Models - Chat AI.pdfLarge Language Models - Chat AI.pdf
Large Language Models - Chat AI.pdfDavid Rostcheck
 
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTsFIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTsFIWARE
 
FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...
FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...
FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...FIWARE
 
Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...
Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...
Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...Databricks
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoophuguk
 
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...Naoki (Neo) SATO
 
Module: Content Routing in IPFS
Module: Content Routing in IPFSModule: Content Routing in IPFS
Module: Content Routing in IPFSIoannis Psaras
 
Architecting Agile Data Applications for Scale
Architecting Agile Data Applications for ScaleArchitecting Agile Data Applications for Scale
Architecting Agile Data Applications for ScaleDatabricks
 
Apache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEAApache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEAAdam Doyle
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AINeo4j
 
Introduction of Knowledge Graphs
Introduction of Knowledge GraphsIntroduction of Knowledge Graphs
Introduction of Knowledge GraphsJeff Z. Pan
 
Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...
Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...
Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...David Talby
 

Was ist angesagt? (20)

Building an Enterprise Knowledge Graph @Uber: Lessons from Reality
Building an Enterprise Knowledge Graph @Uber: Lessons from RealityBuilding an Enterprise Knowledge Graph @Uber: Lessons from Reality
Building an Enterprise Knowledge Graph @Uber: Lessons from Reality
 
Introduction to GitHub Copilot
Introduction to GitHub CopilotIntroduction to GitHub Copilot
Introduction to GitHub Copilot
 
Real-time Analytics with Trino and Apache Pinot
Real-time Analytics with Trino and Apache PinotReal-time Analytics with Trino and Apache Pinot
Real-time Analytics with Trino and Apache Pinot
 
AzureOpenAI.pptx
AzureOpenAI.pptxAzureOpenAI.pptx
AzureOpenAI.pptx
 
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for KubernetesConfluent Operator as Cloud-Native Kafka Operator for Kubernetes
Confluent Operator as Cloud-Native Kafka Operator for Kubernetes
 
ChatGPT 101 - Vancouver ChatGPT Experts
ChatGPT 101 - Vancouver ChatGPT ExpertsChatGPT 101 - Vancouver ChatGPT Experts
ChatGPT 101 - Vancouver ChatGPT Experts
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
 
Large Language Models - Chat AI.pdf
Large Language Models - Chat AI.pdfLarge Language Models - Chat AI.pdf
Large Language Models - Chat AI.pdf
 
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTsFIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
 
FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...
FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...
FIWARE Wednesday Webinars - NGSI-LD and Smart Data Models: Standard Access to...
 
Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...
Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...
Solving Data Discovery Challenges at Lyft with Amundsen, an Open-source Metad...
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
 
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
 
Module: Content Routing in IPFS
Module: Content Routing in IPFSModule: Content Routing in IPFS
Module: Content Routing in IPFS
 
Prometheus Storage
Prometheus StoragePrometheus Storage
Prometheus Storage
 
Architecting Agile Data Applications for Scale
Architecting Agile Data Applications for ScaleArchitecting Agile Data Applications for Scale
Architecting Agile Data Applications for Scale
 
Apache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEAApache Iceberg Presentation for the St. Louis Big Data IDEA
Apache Iceberg Presentation for the St. Louis Big Data IDEA
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AI
 
Introduction of Knowledge Graphs
Introduction of Knowledge GraphsIntroduction of Knowledge Graphs
Introduction of Knowledge Graphs
 
Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...
Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...
Large Language Models, No-Code, and Responsible AI - Trends in Applied NLP in...
 

Ähnlich wie Big Query - Escalabilidade Infinita para os seus Dados

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIAlvaro Viebrantz
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentasluanrjesus
 
Big Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory DatabasesBig Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory DatabasesCaio Louro
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosAmazon Web Services LATAM
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealDenodo
 
Carreira do profissional de dados
Carreira do profissional de dadosCarreira do profissional de dados
Carreira do profissional de dadosEdvaldo Castro
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsAndre Baltieri
 
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Renato Groff
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...tdc-globalcode
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Raul Oliveira
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018Renato Groffe
 
Monitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SPMonitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
 

Ähnlich wie Big Query - Escalabilidade Infinita para os seus Dados (20)

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
 
Big Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory DatabasesBig Data, NoSQL e In Memory Databases
Big Data, NoSQL e In Memory Databases
 
Big Data
Big DataBig Data
Big Data
 
Webinar: Introdução a Big data
Webinar: Introdução a Big dataWebinar: Introdução a Big data
Webinar: Introdução a Big data
 
Aula BigData.pptx
Aula BigData.pptxAula BigData.pptx
Aula BigData.pptx
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo Real
 
Bi sobre Big Data - Como fazer?
Bi sobre Big Data - Como fazer?Bi sobre Big Data - Como fazer?
Bi sobre Big Data - Como fazer?
 
Carreira do profissional de dados
Carreira do profissional de dadosCarreira do profissional de dados
Carreira do profissional de dados
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance Tips
 
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
Monitorando APIs REST com o Application Insights - .NET SP - Dezembro/2017
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
 
Mongo db
Mongo dbMongo db
Mongo db
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018
 
SQL SAT Salvador - Arquitetando Data Lake Multicloud
SQL SAT Salvador - Arquitetando Data Lake MulticloudSQL SAT Salvador - Arquitetando Data Lake Multicloud
SQL SAT Salvador - Arquitetando Data Lake Multicloud
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018
Monitorando APIs REST com o Application Insights - NerdZão - Fevereiro-2018
 
Monitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SPMonitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitorando Bancos Oracle - 2º ZABBIX MEETUP DO INTERIOR-SP
 

Mehr von Alvaro Viebrantz

End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfAlvaro Viebrantz
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Prototipação em hackathons
Prototipação em hackathonsPrototipação em hackathons
Prototipação em hackathonsAlvaro Viebrantz
 
Building REST APIs using gRPC and Go
Building REST APIs using gRPC and GoBuilding REST APIs using gRPC and Go
Building REST APIs using gRPC and GoAlvaro Viebrantz
 
TinyML - IoT e Machine Learning
TinyML -  IoT e Machine LearningTinyML -  IoT e Machine Learning
TinyML - IoT e Machine LearningAlvaro Viebrantz
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?Alvaro Viebrantz
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAlvaro Viebrantz
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudAlvaro Viebrantz
 
Edge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudEdge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudAlvaro Viebrantz
 
Iniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudIniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudAlvaro Viebrantz
 
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloConstruindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloAlvaro Viebrantz
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudAlvaro Viebrantz
 
Construindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTConstruindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTAlvaro Viebrantz
 
Explorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoExplorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoAlvaro Viebrantz
 
Soluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudSoluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudAlvaro Viebrantz
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseAlvaro Viebrantz
 
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Alvaro Viebrantz
 
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Alvaro Viebrantz
 

Mehr von Alvaro Viebrantz (20)

End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdf
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Prototipação em hackathons
Prototipação em hackathonsPrototipação em hackathons
Prototipação em hackathons
 
Building REST APIs using gRPC and Go
Building REST APIs using gRPC and GoBuilding REST APIs using gRPC and Go
Building REST APIs using gRPC and Go
 
TinyML - IoT e Machine Learning
TinyML -  IoT e Machine LearningTinyML -  IoT e Machine Learning
TinyML - IoT e Machine Learning
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google Cloud
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google Cloud
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google Cloud
 
Edge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudEdge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google Cloud
 
Iniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudIniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google Cloud
 
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloConstruindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google Cloud
 
Construindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTConstruindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoT
 
Explorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoExplorando Go em Ambiente Embarcado
Explorando Go em Ambiente Embarcado
 
Soluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudSoluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google Cloud
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e Firebase
 
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
 
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
 

Big Query - Escalabilidade Infinita para os seus Dados

  • 1. BIGQUERY ESCALABILIDADE INFINITA PARA OS SEUS DADOS Alvaro Viebrantz Google Developer Expert for IoT and Product Engineer at Leverege aviebrantz.com @alvaroviebrantz
  • 2. O que vamos ver hoje ? O que é o BigQuery ? Cenários de Uso Demos
  • 3.
  • 4. O que é o BigQuery Resumão • Banco de dados totalmente gerenciado • Escala de acordo com sua demanda • Armazenamento • Consulta • Interface SQL • Preço baseado em uso • Armazenamento • Consulta
  • 5. O que é o BigQuery Resumão • Dataset • Conjunto de tabelas • Tables • Views • User Defined Functions - UDF • Javascript e até WebAssembly • Consultas Agendadas - Scheduled Query
  • 7. Exemplo de escalabilidade Benchmark feito em 2016 - Muitas melhorias foram feitas • Base dados da Wikipedia no BigQuery • 100 bilhões de linhas • 7 TB • https://cloud.google.com/blog/products/gcp/anatomy-of-a-bigquery-query
  • 8. Vamos parar pra pensar O que é necessário pra isso rodar em 30s ? • Problema : • Leitura de ~1TB ( 4TB descomprimido ) • 100 bilhões de expressões regulares
  • 9. Vamos parar pra pensar O que é necessário pra isso rodar em 30s ? • Infra estimada • 330 discos lendo a 100MB/sec para ler 1TB • Provavelmente esse dados pra distribuído, então precisamos de rede boa pra transferir isso. • 3300 núcleos pra descomprimir e processar todas as linhas. Levando em consideração que cada operação demore 1 micro seg. • 100 bi / 1useg — 100 mil segs / 30 segs — 3300 nucleos
  • 10. Por baixo dos panos Como ele funciona ? • Baseado em vários projetos no Google. • Borg - Pai do Kubernetes • Colossus - Sistema de Arquivos Distribuidos • Jupiter - Rede na escala de Petabytes • Dremel - Motor de Execução Evolução do Map Reduce • 🌟 White Papers disponíveis 🌟
  • 11. Particionamento e Clustering Importante para varrer uma quantidade menor de dados • Colunar Store • Apenas colunas consultadas contam - Não use select * • Particionamento • Timestamp - Padrão por dia • Integer Range ⭐ • Clustering • Agrupar dados co-relatos • Vamos ver isso na prática 😉
  • 12. Preço Geral Sob demanda • Armazenamento ( Active vs Long Term ) • $0.020 por GB Ativo e $0.010 por GB • Streaming Insert • $0.010 por 200MB -> $0.050 por GB -> $51.2 por TB • Consulta sob Demanda • $5.00 por TB lido • Leitura baixo nivel - BigQuery Storage API • $1.10 por TB
  • 13. Várias coisas são grátis Dá pra fazer bastante coisa • Carregar, Copiar e Exportar Dados • Operações administrativas • Re-calcular partições e clustering • Cota Grátis • 10 GB de Armazenamento Long Term e Active grátis. • 1TB lido por Mês • Não precisa de cartão pra começar
  • 15. Throughput vs Latência Não é voltado para baixa latência e como banco transacional • Nenhuma operação demora menos de alguns segundos • Inaceitável para um sistema transacional • Séries temporais • Telemetria e Dados históricos • Data warehouse • Preferencialmente usar de forma Imutável / Append Only • Mas também tem suporte para DML - Update/Delete • Logs distribuido
  • 16. Análise de Dados em Geral Não precisa pensar em infra para fazer sua analise • Rodar local pode não ser possível • Uma base de dados nem tão grande já pode rodar bem lento em um banco tradicional • Linguagem SQL permite muitas possibilidades
  • 18. NYC Citi Bike Dataset Dados de uso/empréstimos de bicicletas em Nova York • www.citibikenyc.com/system-data • Dataset até 2017 • 5 GB • 33 milhões de linhas • Disponível no BigQuery
  • 19. Carregando os dados Qual forma mais facil de analisar ? • Python ? R ? Pandas ? • Precisa de bastante memória • ~9GB em memória • 3 minutos para carregar
  • 20. Carregando os dados Qual forma mais facil de analisar ? • PostgreSQL • 4 minutos para carga • BigQuery • 1 minuto para carga • Ambos aceitáveis na carga • Vamos as consultas ?
  • 21. O que queremos saber Quais informações extrair do conjuntos de dados • Estações com maior saídas de percurso • Quantas corridas iniciam e terminam na mesma estação • Corridas iniciam e terminam em estações diferentes, quais as mais frequentes ? • Que tipos de clientes mais usam por dia, assinantes ou não assinantes ?
  • 22. Resultados ⚡⚡⚡ • Estações com maior saídas de percurso • BQ (1.4s) vs Postgres (~30s) • Quantas corridas iniciam e terminam na mesma estação • BQ (0.8s) vs Postgres (~12s) • Corridas iniciam e terminam em estações diferentes, quais as mais frequentes ? • BQ (3.4s) vs Postgres (~4m30s) • Que tipos de clientes mais usam por dia, assinantes ou não assinantes ? • BQ (1.5s) vs Postgres (~1m10s)
  • 23. DEMO #2 WIKIDATA E SUPER HEROIS
  • 24.
  • 25. Wiki Data Dados abertos da Wikipedia mais estruturados • Big Data ? • Pageviews em 2019 • 2.3 TB • 57 bilhões de linhas • Wikidata • 1TB • 63 milhões de linhas
  • 26. 2 TERABYTES ? NÃO VAI SAIR CARO ?
  • 27. LEMBRE-SE NADA DE SELECT * PARTICIONAMENTO COLUNAR STORE CLUSTERING
  • 28. A consulta Usando datasets públicos no BigQuery
  • 30. Buscando personagens Filtros por super heróis e universos ficcionais
  • 31. Pageviews em 2020 por personagem Top 20 visitados na Wikipedia
  • 33. BigQuery ML Machine Learning direto no banco • Use Machine Learning com SQL !!! • Alguns modelos básico • Regressão Linear, Regressão Logistica Binária/Multi classe e KMeans • Suporta importação de modelos do Tensorflow !!! • De graça !!! • A infra no BigQuery é cobrada baseada na consulta e dados armazenados
  • 35. Dados de Natalidade Regressão linear para estimar peso de bebe • Dataset Publico no BigQuery • 22 GB de Dados • 100 milhões de linhas • Vamos estimar peso do bebe baseado em: • Semanas de gravidez • Sexo do Bebe • Idade da mãe • Raça da mãe
  • 36. Voltando ao exemplo das Bikes Clusterizar estações de bikes • Agrupar por estações com o mesmo comportamento • Baseado em : • Quantidade de passeios • Distância do centro • Média de duração do passeio • Quais estações tem menos movimento ? • Quais estações tem mais movimento e com durações menores ?
  • 38. BigQuery Federated Data Sources Dados externos lidos pelo BigQuery • Sua escolha para montar seu Data Lake • Planilhas do Google Sheets • Arquivos no Google Cloud Storage • CSV e JSON • Avro, ORC, Parquet - BigData • BigTable - HBase gerenciado pelo Google • De graça • Cobrança pelo infra usada pelo BigQuery
  • 39. DEMO #4 FEDERATED DATA SOURCE DATA LAKE
  • 43. 43 Conectar Cloud SQL e BigQuery
  • 44. 44 Conectar Cloud SQL e BigQuery
  • 45. 45 Conectar Cloud SQL e BigQuery
  • 47. O QUE MAIS TEM PRA FAZER ?
  • 48. 48 Google Data Studio Obter insight dos dados armazenados • Ferramenta para visualização de dados • Diversas fontes de dados • SQL, Google Analytics, BigQuery, Arquivos CSV, etc • User friendly • Gratuito
  • 49. BI Engine Se livrar do problema da latência • Consultas in Memory • Compatível com o Data Studio por enquanto • Preço por GB alocado • $0.0416 por GB por hora • $30.36 por GB por mês
  • 50. Cloud Dataflow Processamento de dados em Streaming e Batch • Baseado no projeto Open Source Apache Beam • Dataflow SQL - Converte uma consulta SQL em pipeline de processamento Cloud Composer Escalonamento de recursos e infra em larga escala • Baseado no projeto Open Source Airflow Cloud Data Fusion Monte pipelines de ETL em larga escala usando interface gráfica • Baseado no projeto Open Source CDAP
  • 51. Cloud Data Loss Prevention Obfuscação de dados e prevenção de vazamento de informações • Pode ser adicionado ao seu fluxo de ETL • Preparar conjunto de dados para que sejam menos invasivos Cloud Data Prep Limpeza de conjunto de dados • Preparar um dataset antes de salvar no banco e ser analisado • Aplicar transformações de dados • Preencher falhas
  • 52. AutoML Machine Learning as a Service • Treinamento de modelos em diversos formatos • Auto ML Vision • Auto ML Language • Auto ML Tables
  • 53. BigQuery tem suporte a GIS Consultas geo espaciais • Tem suporte a funções avançadas de GIS • Points, Poligons, Multi-Poligons • WKT, WK8, GeoJSON
  • 55. Referencias Mais material de estudo • https://cloud.google.com/blog/products/gcp/inside-capacitor-bigquerys-next-generation-columnar- storage-format • https://link.medium.com/CMfriTzNs3 • https://towardsdatascience.com/citi-bike-2017-analysis-efd298e6c22c • https://medium.com/skyshidigital/what-bigquery-is-and-isnt-d092fa173d53 • https://cloud.google.com/blog/products/gcp/bigquery-under-the-hood • https://cloud.google.com/blog/products/gcp/anatomy-of-a-bigquery-query • https://medium.com/@sourcedtech/calling-c-functions-from-bigquery-with-web-assembly- c19c023fc755 • https://medium.com/@hoffa/bigquery-beyond-sql-and-js-running-c-and-rust-code-at- scale-33021763ee1f
  • 56. OBRIGADO! AVIEBRANTZ.COM Alvaro Viebrantz Google Developer Expert for IoT and Product Engineer at Leverege aviebrantz.com @alvaroviebrantz