O documento descreve como o palestrante melhorou a performance de consultas no BigQuery em 50x ao migrar para a BigQuery Storage Read API e usar o formato de dados Apache Arrow. A apresentação também discute os protocolos gRPC e HTTP/2 e como eles melhoram a performance em comparação com a BigQuery REST API original.
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
O documento discute o desenvolvimento de uma aplicação full stack JavaScript usando MongoDB, Express, AngularJS e Node.js. Ele explica como usar essas tecnologias juntas, incluindo o uso de bancos de dados NoSQL, arquitetura MVC, APIs RESTful e WebSockets. Além disso, discute ferramentas como Gulp para automatizar tarefas.
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Alvaro Viebrantz
O documento apresenta uma arquitetura de Internet das Coisas utilizando serviços do Google Cloud como Cloud IoT Core, Cloud PubSub, Firebase e BigQuery para receber, processar e analisar dados de dispositivos conectados. Exemplos de casos de uso incluem monitoramento meteorológico e de lixeiras inteligentes.
Interoperabilidade entre bancos de dadospichiliani
Este documento discute a interoperabilidade entre bancos de dados de diferentes fornecedores. Ele explica que cenários multi-banco são comuns e discute conceitos comuns entre bancos de dados. Também aborda como trocar objetos, dados e instruções entre bancos de dados heterogêneos, incluindo recursos de replicação e ferramentas para conversão de SQL.
Interoperabilidade entre bancos de dadospichiliani
O documento discute a interoperabilidade entre bancos de dados de diferentes fornecedores. Ele explica que ambientes multi-banco são comuns e discute conceitos comuns e desafios de interoperabilidade na administração e troca de dados entre bancos. O documento também analisa ferramentas e técnicas para replicação heterogênea e conversão de instruções SQL entre bancos de dados.
O documento apresenta bancos de dados NoSQL na nuvem com o Microsoft Azure. Apresenta uma introdução ao NoSQL e Cloud Computing e discute como esses conceitos se relacionam. Também descreve os serviços de armazenamento de dados do Azure, incluindo opções NoSQL como DocumentDB e MongoDB, e demonstra a criação de uma conta, banco de dados e documentos no DocumentDB.
O documento discute aplicações Cloud Native e como desenvolver aplicações escaláveis em ambientes dinâmicos de nuvem. Algumas características importantes discutidas incluem empacotamento de aplicações usando containers, uso de recursos em nuvem e monitoramento observável. O documento também fornece um exemplo demostrativo de uma aplicação ponta a ponta construída usando essas técnicas.
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
O documento discute o desenvolvimento de uma aplicação full stack JavaScript usando MongoDB, Express, AngularJS e Node.js. Ele explica como usar essas tecnologias juntas, incluindo o uso de bancos de dados NoSQL, arquitetura MVC, APIs RESTful e WebSockets. Além disso, discute ferramentas como Gulp para automatizar tarefas.
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Alvaro Viebrantz
O documento apresenta uma arquitetura de Internet das Coisas utilizando serviços do Google Cloud como Cloud IoT Core, Cloud PubSub, Firebase e BigQuery para receber, processar e analisar dados de dispositivos conectados. Exemplos de casos de uso incluem monitoramento meteorológico e de lixeiras inteligentes.
Interoperabilidade entre bancos de dadospichiliani
Este documento discute a interoperabilidade entre bancos de dados de diferentes fornecedores. Ele explica que cenários multi-banco são comuns e discute conceitos comuns entre bancos de dados. Também aborda como trocar objetos, dados e instruções entre bancos de dados heterogêneos, incluindo recursos de replicação e ferramentas para conversão de SQL.
Interoperabilidade entre bancos de dadospichiliani
O documento discute a interoperabilidade entre bancos de dados de diferentes fornecedores. Ele explica que ambientes multi-banco são comuns e discute conceitos comuns e desafios de interoperabilidade na administração e troca de dados entre bancos. O documento também analisa ferramentas e técnicas para replicação heterogênea e conversão de instruções SQL entre bancos de dados.
O documento apresenta bancos de dados NoSQL na nuvem com o Microsoft Azure. Apresenta uma introdução ao NoSQL e Cloud Computing e discute como esses conceitos se relacionam. Também descreve os serviços de armazenamento de dados do Azure, incluindo opções NoSQL como DocumentDB e MongoDB, e demonstra a criação de uma conta, banco de dados e documentos no DocumentDB.
O documento discute aplicações Cloud Native e como desenvolver aplicações escaláveis em ambientes dinâmicos de nuvem. Algumas características importantes discutidas incluem empacotamento de aplicações usando containers, uso de recursos em nuvem e monitoramento observável. O documento também fornece um exemplo demostrativo de uma aplicação ponta a ponta construída usando essas técnicas.
O documento discute as virtudes de um ambiente web moderno para desenvolvimento de software e apresenta ferramentas web para controle de versão, documentação, repositório de módulos, gerenciamento de projetos e assistência remota.
O documento discute as virtudes e ferramentas de um ambiente web moderno para desenvolvimento e produção de software, incluindo controle de versão, sistemas de documentação, repositórios de módulos, gerenciamento de projetos e assistência remota. O futuro trará interfaces mais semelhantes a aplicativos desktop e autenticação simplificada.
O documento discute conceitos fundamentais de arquitetura web e REST. Ele explica como HTTP funciona para transferir dados entre clientes e servidores e como REST usa verbos HTTP e URLs para acessar recursos de forma uniforme. Também apresenta JSON como formato para representar dados e componentes do Delphi que facilitam o consumo de APIs REST.
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
O documento resume uma conferência sobre novidades do .NET Core 2.1 e ASP.NET Core 2.1, incluindo palestras de Giovanni Bassi e Victor Cavalcante. O evento também promove a arrecadação de doações para instituições de caridade e contém informações biográficas sobre os palestrantes.
Dicas para desenvolvedores que querem fazer uma Web rápida e divertida.
Explicações sobre HTTP, HTML, CSS, JavaScripts, ferramentas e bibliotecas que fazem nossa vida mais fácil
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
O documento descreve como construir e implantar uma API Django REST Framework no Google Cloud para monitoramento de tanques em uma fazenda, incluindo criação de projeto, banco de dados Cloud SQL, sensor IoT com MicroPython, recepção de dados na API e visualização no Data Studio.
Curso sobre AngularJS, tratando deste ambiente e ferramentas modernas de desenvolvimento até o desenvolvimento de uma aplicação usando AngularJS. Curso em duas partes.
No final foram desenvolvidas duas aplicações que podem ser vistas nos links:
https://github.com/alvarowolfx/shopping-list
https://github.com/alvarowolfx/ng-pokedex
Este documento resume dicas de desempenho para APIs ASP.NET Core. Aborda tópicos como middlewares, acesso a dados, async/await, cache, compressão, infraestrutura, micro serviços e API gateway. O objetivo é apresentar boas práticas para construir APIs rápidas e escaláveis.
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
O documento apresenta as tecnologias e frameworks para desenvolvimento full-stack utilizando Delphi e React.js. O palestrante demonstra um sistema desenvolvido com backend em Delphi usando o framework MVC e banco de dados PostgreSQL, e frontend em React para consumo da API Delphi.
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
Este documento resume uma oficina técnica sobre a Infraestrutura Nacional de Dados Abertos (INDA) no Brasil. A oficina discute os objetivos e arquitetura da INDA, formatos de arquivos para publicação de dados, o caso de uso da API do SICONV, tecnologias da web como REST, aplicativos e mashups, o portal brasileiro de dados abertos dados.gov.br e a importância dos metadados.
1) O documento discute como empresas como Google, Yahoo e LinkedIn usaram Big Data para resolver problemas de armazenamento e processamento de grandes volumes de dados não estruturados e criar novas soluções.
2) Também apresenta como empresas como Facebook, Amazon e Netflix usam Big Data para personalizar recomendações e melhorar a experiência do usuário.
3) Por fim, explica como o Sebrae pretende implementar soluções de Big Data para entender melhor seus mercados e clientes e aprimorar o atendimento.
O documento discute o uso do FireDAC para acessar bancos de dados NoSQL como MongoDB e Teradata para Big Data, resumindo as principais características e funcionalidades de cada um como documentos auto-contidos e arrays para MongoDB e processamento paralelo massivo para Teradata.
O documento discute os desafios de crescimento enfrentados pela plataforma de educação a distância Redu, incluindo problemas de velocidade na entrega de novas funcionalidades à medida que a equipe crescia. A arquitetura de microsserviços é proposta como uma solução, separando a aplicação principal em vários serviços autônomos e isolados que se comunicam através de uma fila de mensagens, permitindo times menores e mais ágeis.
Integração com webservices usando MVC e mágicaLeocadio Tiné
O documento discute a integração de aplicativos móveis com webservices usando o framework Dumbledroid. O framework permite a integração de forma simples através da biblioteca Android Dumbledroid que utiliza reflexão para facilitar requisições HTTP e parsing de respostas XML/JSON de uma maneira orientada a objetos.
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na PráticaRenato Groff
Este documento descreve um minicurso gratuito sobre desenvolvimento web no Azure. Ele inclui informações sobre conceitos de computação em nuvem, serviços do Azure como Functions e App Service, e ferramentas como Application Insights. O documento também lista eventos ao vivo e cursos online relacionados ao Azure.
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Renato Groffe
Slides de apresentação abordando boas práticas na implementação de aplicações na nuvem utilizando a metodologia Twelve-Factor App, além de cenários de uso de tecnologias como Git, Azure DevOps, GitHub, GitHub Actions, NuGet, npm, serviços do Microsoft Azure, Redis, Docker, Kubernetes, Helm, Docker Compose, Application Insights, Prometheus, PowerShell e Bash. Palestra online realizada em 09/06/2021 (quarta), durante a edição 2021 do evento TDC Connections.
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
Nesta palestra apresento o processo de migração do SED (Secretaria Escolar Digital do estado de São Paulo) para o Microsoft Azure. Palestra apresentada no QCon 2016.
O documento discute técnicas para otimizar o desempenho de websites desenvolvidos em PHP. Ele aborda ajustes que podem ser feitos no servidor web e no banco de dados para melhorar a performance, como utilização de módulos do Apache, configuração do MySQL e uso de cache. Além disso, apresenta técnicas de profiling em PHP para identificar gargalos e otimizações como compactação de arquivos e static assets.
Developing IoT with Zephyr is a journey from hardware all the way to application. It involves multiple teams and expertise, from hardware to cloud and application development. This talk will cover the options for getting a Zephyr app connected (WiFi, Ethernet, Cellular), selecting the right data encoding (JSON/CBOR), securing the data transfer (DTLS/TLS), and choosing a protocol (HTTP/MQTT/COAP). But that’s not the end of the story, the cloud needs to manage devices allowed to connect, consume the data being received, open up options for using that data, and be aware of the continued state of the hardware. And once you have the data you need to build a user-facing application on top of it. Understanding this lifecycle will help us as developers to make good choices on what Zephyr provides, helping ensure successful IoT projects.
O documento fornece uma visão geral de várias áreas relacionadas à carreira de desenvolvimento de software, incluindo frontend, backend, DevOps, soft skills e considerações sociais. Ele discute os principais tópicos em cada área, como estruturas de dados, versionamento, arquitetura de projetos, cloud computing e inclusão. O documento enfatiza a importância contínua de aprendizado e compartilhamento de conhecimento.
Mais conteúdo relacionado
Semelhante a BigQuery Performance Improvements Storage API
O documento discute as virtudes de um ambiente web moderno para desenvolvimento de software e apresenta ferramentas web para controle de versão, documentação, repositório de módulos, gerenciamento de projetos e assistência remota.
O documento discute as virtudes e ferramentas de um ambiente web moderno para desenvolvimento e produção de software, incluindo controle de versão, sistemas de documentação, repositórios de módulos, gerenciamento de projetos e assistência remota. O futuro trará interfaces mais semelhantes a aplicativos desktop e autenticação simplificada.
O documento discute conceitos fundamentais de arquitetura web e REST. Ele explica como HTTP funciona para transferir dados entre clientes e servidores e como REST usa verbos HTTP e URLs para acessar recursos de forma uniforme. Também apresenta JSON como formato para representar dados e componentes do Delphi que facilitam o consumo de APIs REST.
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
O documento resume uma conferência sobre novidades do .NET Core 2.1 e ASP.NET Core 2.1, incluindo palestras de Giovanni Bassi e Victor Cavalcante. O evento também promove a arrecadação de doações para instituições de caridade e contém informações biográficas sobre os palestrantes.
Dicas para desenvolvedores que querem fazer uma Web rápida e divertida.
Explicações sobre HTTP, HTML, CSS, JavaScripts, ferramentas e bibliotecas que fazem nossa vida mais fácil
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
O documento descreve como construir e implantar uma API Django REST Framework no Google Cloud para monitoramento de tanques em uma fazenda, incluindo criação de projeto, banco de dados Cloud SQL, sensor IoT com MicroPython, recepção de dados na API e visualização no Data Studio.
Curso sobre AngularJS, tratando deste ambiente e ferramentas modernas de desenvolvimento até o desenvolvimento de uma aplicação usando AngularJS. Curso em duas partes.
No final foram desenvolvidas duas aplicações que podem ser vistas nos links:
https://github.com/alvarowolfx/shopping-list
https://github.com/alvarowolfx/ng-pokedex
Este documento resume dicas de desempenho para APIs ASP.NET Core. Aborda tópicos como middlewares, acesso a dados, async/await, cache, compressão, infraestrutura, micro serviços e API gateway. O objetivo é apresentar boas práticas para construir APIs rápidas e escaláveis.
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
O documento apresenta as tecnologias e frameworks para desenvolvimento full-stack utilizando Delphi e React.js. O palestrante demonstra um sistema desenvolvido com backend em Delphi usando o framework MVC e banco de dados PostgreSQL, e frontend em React para consumo da API Delphi.
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
Este documento resume uma oficina técnica sobre a Infraestrutura Nacional de Dados Abertos (INDA) no Brasil. A oficina discute os objetivos e arquitetura da INDA, formatos de arquivos para publicação de dados, o caso de uso da API do SICONV, tecnologias da web como REST, aplicativos e mashups, o portal brasileiro de dados abertos dados.gov.br e a importância dos metadados.
1) O documento discute como empresas como Google, Yahoo e LinkedIn usaram Big Data para resolver problemas de armazenamento e processamento de grandes volumes de dados não estruturados e criar novas soluções.
2) Também apresenta como empresas como Facebook, Amazon e Netflix usam Big Data para personalizar recomendações e melhorar a experiência do usuário.
3) Por fim, explica como o Sebrae pretende implementar soluções de Big Data para entender melhor seus mercados e clientes e aprimorar o atendimento.
O documento discute o uso do FireDAC para acessar bancos de dados NoSQL como MongoDB e Teradata para Big Data, resumindo as principais características e funcionalidades de cada um como documentos auto-contidos e arrays para MongoDB e processamento paralelo massivo para Teradata.
O documento discute os desafios de crescimento enfrentados pela plataforma de educação a distância Redu, incluindo problemas de velocidade na entrega de novas funcionalidades à medida que a equipe crescia. A arquitetura de microsserviços é proposta como uma solução, separando a aplicação principal em vários serviços autônomos e isolados que se comunicam através de uma fila de mensagens, permitindo times menores e mais ágeis.
Integração com webservices usando MVC e mágicaLeocadio Tiné
O documento discute a integração de aplicativos móveis com webservices usando o framework Dumbledroid. O framework permite a integração de forma simples através da biblioteca Android Dumbledroid que utiliza reflexão para facilitar requisições HTTP e parsing de respostas XML/JSON de uma maneira orientada a objetos.
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na PráticaRenato Groff
Este documento descreve um minicurso gratuito sobre desenvolvimento web no Azure. Ele inclui informações sobre conceitos de computação em nuvem, serviços do Azure como Functions e App Service, e ferramentas como Application Insights. O documento também lista eventos ao vivo e cursos online relacionados ao Azure.
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Renato Groffe
Slides de apresentação abordando boas práticas na implementação de aplicações na nuvem utilizando a metodologia Twelve-Factor App, além de cenários de uso de tecnologias como Git, Azure DevOps, GitHub, GitHub Actions, NuGet, npm, serviços do Microsoft Azure, Redis, Docker, Kubernetes, Helm, Docker Compose, Application Insights, Prometheus, PowerShell e Bash. Palestra online realizada em 09/06/2021 (quarta), durante a edição 2021 do evento TDC Connections.
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
Nesta palestra apresento o processo de migração do SED (Secretaria Escolar Digital do estado de São Paulo) para o Microsoft Azure. Palestra apresentada no QCon 2016.
O documento discute técnicas para otimizar o desempenho de websites desenvolvidos em PHP. Ele aborda ajustes que podem ser feitos no servidor web e no banco de dados para melhorar a performance, como utilização de módulos do Apache, configuração do MySQL e uso de cache. Além disso, apresenta técnicas de profiling em PHP para identificar gargalos e otimizações como compactação de arquivos e static assets.
Semelhante a BigQuery Performance Improvements Storage API (20)
Developing IoT with Zephyr is a journey from hardware all the way to application. It involves multiple teams and expertise, from hardware to cloud and application development. This talk will cover the options for getting a Zephyr app connected (WiFi, Ethernet, Cellular), selecting the right data encoding (JSON/CBOR), securing the data transfer (DTLS/TLS), and choosing a protocol (HTTP/MQTT/COAP). But that’s not the end of the story, the cloud needs to manage devices allowed to connect, consume the data being received, open up options for using that data, and be aware of the continued state of the hardware. And once you have the data you need to build a user-facing application on top of it. Understanding this lifecycle will help us as developers to make good choices on what Zephyr provides, helping ensure successful IoT projects.
O documento fornece uma visão geral de várias áreas relacionadas à carreira de desenvolvimento de software, incluindo frontend, backend, DevOps, soft skills e considerações sociais. Ele discute os principais tópicos em cada área, como estruturas de dados, versionamento, arquitetura de projetos, cloud computing e inclusão. O documento enfatiza a importância contínua de aprendizado e compartilhamento de conhecimento.
The document discusses prototyping for hackathons. It recommends focusing prototyping efforts on validating ideas by building minimum functional prototypes that can be tested with users. Various tools are presented for rapid prototyping of web, mobile, IoT, and data analytics solutions. Prototyping is positioned as a way to get early feedback, test hypotheses, and reduce time to iterate on solutions before committing to more complex development.
Developing APIs over a RESTful interface with JSON payloads is kind of the de-facto standard nowadays, but it still lacks an easy way to build it with a well-defined interface and document it to be used by others. What if we can leverage gRPC's fast, type-safe, and modern way of building APIs and still be able to provide an interface over REST/JSON ? Check this talk to find out how.
A junção das áreas de Machine Learning em ambiente embarcado/IoT tem crescido bastante, sendo atualmente chamada de TinyML. Já temos modelos robustos e pequenos o suficientes para rodar até mesmo em micro controladores com 16kb de memória. Nessa palestra vou mostrar as diferentes formas de se trazer modelos de Machine Learning para ambiente embarcado usando o ecossistema do Tensorflow.
O documento discute os requisitos principais para projetos de Internet das Coisas (IoT). Ele explica que hardware apropriado, comunicação confiável e análise de dados são essenciais. O documento também discute opções para microcontroladores, placas de computação única, protocolos de comunicação e armazenamento/processamento de dados na nuvem.
1. O documento apresenta um fluxo de CI/CD utilizando ferramentas do Google Cloud como Cloud Build, Cloud Run e Cloud Storage.
2. É demonstrado como configurar triggers no Cloud Build para disparar builds em diferentes ambientes e como publicar containers no Cloud Run.
3. Também é mostrado um caso de uso em IoT para fazer over-the-air updates de dispositivos de forma automatizada utilizando essas mesmas ferramentas.
Edge computing na prática com IoT, Machine Learning e Google CloudAlvaro Viebrantz
1) O documento discute edge computing na prática usando câmeras IoT, TensorFlow e Google Cloud. 2) É mostrado como construir um cenário usando câmeras ESP32 e Raspberry Pi para processar imagens localmente e enviar dados para a nuvem. 3) Os modelos pré-treinados do TensorFlow.js são usados para detecção e classificação de objetos nas imagens na borda antes de enviar para armazenamento em nuvem.
Edge computing in practice using IoT, Tensorflow and Google CloudAlvaro Viebrantz
This document discusses building an edge computing project using IoT cameras, TensorFlow, and Google Cloud. The project uses inexpensive WiFi cameras to capture images locally and process them on a Raspberry Pi gateway using TensorFlow object detection models. The processed data is then sent to Google Cloud for storage and remote access. Custom models can also be trained to classify objects like cats in the images. The project demonstrates how to leverage both local and cloud resources for scalable and flexible edge computing applications.
Iniciando com LoRa, The Things Network e Google CloudAlvaro Viebrantz
Uma introdução ao protocolo de rede LoRa e como ter uma arquitetura em nuvem escalável de processamento de dados com dispositivos usando esse protocolo.
Edge computing na prática com IoT, Machine Learning e Google CloudAlvaro Viebrantz
Conceitos de edge computing sendo mostrado em um experimento envolvendo ESP32 com cameras, um Raspberry pi rodando inferências localmente com Tensorflow e agindo como um gateway no Cloud Iot Core e uma camada serverless na nuvem que armazena os dados processados das imagens.
Palestra falando sobre todos os componentes necessários para construir interfaces de conversa e voz, misturando isso com projetos de hardware e internet das coisas.
Golang é uma linguagem fantástica para se desenvolver aplicações e um fator a ser explorado é o seu uso em dispositivos IoT. A linguagem já conta com diversas ferramentas de cross-compile, alguns pacotes experimentais de comunicação baixo nível e diversos projetos relacionados a hardware.
1) O documento discute soluções de Internet das Coisas usando Arduino e Google Cloud.
2) É apresentado o hardware Arduino e ESP8266/ESP32 para conectar "coisas" e o Google Cloud para armazenar e processar dados na nuvem.
3) É mostrado um exemplo prático de detector de cheiros usando ESP32, sensores e Google Cloud.
1. O documento discute soluções de Internet das Coisas usando Google Cloud, incluindo hardware conectado, armazenamento e processamento de dados na nuvem.
2. É apresentado um exemplo prático de construir uma estação meteorológica usando um microcontrolador ESP8266 e sensor DHT11 para coletar dados de temperatura e umidade.
3. As opções de armazenamento e processamento de dados na nuvem incluem Cloud Datastore, Cloud Dataflow e Compute Engine, enquanto Firebase e Firestore permitem visualização e sincronização em
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Alvaro Viebrantz
Javascript se tornou uma linguagem universal. Você consegue criar aplicações Web, Desktop, Backend e agora até mesmo em microcontroladores. Aqui você verá como criar uma solução completa de IoT, desde a coleta de dados dos dispositivos, usando Javascript na ponta e construindo um pipeline de processamento desses dados na nuvem também apenas usando Javascript. Tudo isso em sua grande maioria usando serviços gerenciados e arquitetura serverless, sem ter que se queimar configurando servidores.
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Alvaro Viebrantz
Este documento fornece uma visão geral dos principais conceitos e ferramentas relacionadas à Internet das Coisas (IoT), incluindo:
1) Uma introdução aos principais componentes de uma arquitetura IoT, como dispositivos, nuvem e processamento serverless.
2) Uma explicação dos microcontroladores ESP8266 e ESP32 e do sistema operacional MongooseOS para programação de hardware IoT.
3) Um guia passo-a-passo para integrar dispositivos IoT ao Google Cloud usando ferramentas como Cloud IoT Core,
Arquitetura de Internet das Coisas usando Google CloudAlvaro Viebrantz
O documento discute a arquitetura de Internet das Coisas com Google Cloud, incluindo:
1) O Cloud IoT Core para conectar e gerenciar dispositivos de forma segura.
2) Opções para processamento e armazenamento de dados como Cloud Functions, BigQuery e Cloud Storage.
3) Ferramentas de análise como Cloud DataLab e Google Data Studio para obter insights dos dados.
4) Exemplos de projetos reais implementados com a plataforma.
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligenteAlvaro Viebrantz
Introdução aos conceitos de internet das coisas, mostrando o cenário atual, arquiteturas básicas de soluções IoT, como começar e diversos projetos práticos são mostrados.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
1. COMO MELHOREI A PERFORMANCE
DE CONSULTA NA SDK DO
BIGQUERY EM 50X
CASE SOBRE PROTOCOLOS
E FORMATOS DE DADOS
Alvaro Viebrantz
DevRel Software Engineer no Google - Data Analytics and AI SDKs - BigQuery
aviebrantz.com
@alvaroviebrantz
3. O que vamos ver hoje ?
O que é o
BigQuery ?
Cloud
SDKs
Case
Prático
4.
5. O que é o BigQuery
Resumão
• Banco de dados totalmente gerenciado/serverless
• Escala de acordo com sua demanda
• Interface SQL
• Mesmas primitivas de bancos relacionais
• Tables, Views, Functions, etc
• Preço baseado em uso
• Armazenamento
• Consulta
9. Wiki Data
Dados abertos da Wikipedia mais estruturados
• Big Data ?
• Pageviews em 2020
• 2.13 TB
• 52 bilhões de linhas
• Wikidata
• 1.44TB
• 87 milhões de linhas
11. 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
• Isso no modelo On-Demand.
16. Data Lake
“Data has gravity”
• Planilhas do Google Sheets
• Arquivos no Google Cloud Storage
• CSV e JSON
• Avro, ORC, Parquet, Iceberg - BigData
• BigTable - HBase gerenciado pelo Google
• Spanner - Global Scale SQL Database
• Object Store - AWS S3 e Azure Blob Store (BigQuery Omni)
• De graça. Cobrança pelo infra usada pelo BigQuery
17. Throughput vs Latência
Não é voltado para baixa latência e como banco transacional (OLTP)
• Operações de consulta demoram na casa de segundos, não millisegundos
• 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
18. 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
• Capacitor - Engine de
armazenamento colunar
• Dremel - Motor de Execução
Evolução do Map Reduce
• 🌟 White Papers disponíveis 🌟
20. BigQuery SDKs
Como a grande maioria dos usuários interagem com o BigQuery
• Core languages
• Java, Go, Python e NodeJS
• Core autogerados (repo googleapis)
• Camada escrita a mão para facilitar uso
• Python é a mais baixada - Data scientists 🤩
• Também disponível em outras linguagens
• C#, Ruby, PHP
• Grandes empresas utilizando. Twitter, Spotify, New York Times,
stackshare.io/google-bigquery
22. Downloads de pacotes do PyPi
Estatísticas do pacote google-cloud-bigquery
packaging.python.org/en/latest/guides/analyzing-pypi-package-downloads/
23. Data Analytics and AI SDKs
Ecossistema envolta do produto que deve ser mantido
• Temos que manter não só as SDKs, mas produtos próximos disso.
• ORM
• SQL Alchemy
• Data Analyses
• Pandas, Spark, Arrow, Jupyter Notebooks
• Big Data
• Data
fl
ow, Apache Beam, Spark
24. GERAM POR MÊS REQUISIÇÕES
NA CASA DO TRILHÃO‼
NO BIGQUERY
27. Caminho feliz para consultas no BigQuery
Muita coisa acontece sem o usuário ver
1. Um Job é criado para execução
1. Esse job pode ser do tipo Query
2. Jobs tem como con
fi
guração uma tabela de destino
• Pode ser uma tabela criada anteriormente
• Ou uma temporária criada automaticamente
2. Espera o Job
fi
nalizar
• Pooling para ver se terminou de rodar
3. Download dos resultados de um Job
28. Caminho feliz para consultas no BigQuery
Muita coisa acontece sem o usuário ver
• Atualmente temos 3 endpoints que podem ser usados para consultar dados
• tabledata.List
• jobs.Query
• jobs.getQueryResults
• Caminho mais rápido
• Internamente faz um jobs.insert e retorna resultados se roda rápido o
bastante
Todos parte da BigQuery REST API
29. Onde mora o problema
Esses endpoint REST tem um design não ideal para grande download de dados
• Baixar conjuntos de dados grandes pode levar bastante tempo
• Trabalho extra no backend para serializar/deserializar dados em JSON
• Lembrando que por baixo dos panos o BigQuery é um engine columnar
• Paginação sequenciais usando page tokens
• Sem muitos detalhes mas page token são mais performáticos que o
ff
set based
• Mas nesse caso especi
fi
co atrapalha bastante
30. Onde mora o problema
Esses endpoint REST tem um design não ideal para grande download de dados
• Exemplo
• Tabela usa_1910_current do dataset “USA Names” ~6M linhas - 185MB
31.
32. BigQuery Storage Read/Write API
Vamos focar na Storage Read API
• APIs com performance alta tanto para leitura como escrita
• API com design mais moderno
• Lembrando que o BigQuery é um projeto de 2010
• Não são voltadas para administração do BigQuery
• Funcionam em cima de um único recurso do BQ - Tables
• Formatos de dados
• Mais focados em BigData
• Protocol bu
ff
ers para escrita mais compacta
33. Comparativo
BigQuery REST API VS Storage Read API
BigQuery REST API BigQuery Storage API
Transport/Protocol HTTP HTTP2/gRPC ✅
Media Type Plain Text Binary ✅
Serialization JSON Arrow/Avro ✅
Data Access
Mechanism
Sequential Pagination
( using page token )
Parallel gRPC streams ✅
Client Library Used google.golang.org/api/bigquery/v2 cloud.google.com/go/bigquery/storage
34. gRPC
Framework de alta performance de Remote Procedure Call
• Utiliza HTTP/2 como transporte
• Comunicação bi-direcional e persistente entre client e server
• Construído em cima do Protocol Bu
ff
ers
• Formato binário para transferência de dados
• Rápido e baixo overhead
• IDL ( Interface description language ) para de
fi
nir mensagens
• Single Source of Truth
• Type-safe
• Geradores de código para multiplas linguagens e plataformas
grpc.io
35. Apache Arrow
in-memory Analytics
• Conjunto de tecnologias in-memory para processamento de dados
voltado a BigData sem serialização
• Formato Columnar in-memory independente de linguagem
• Zero-copy de memória e técnicas para mover dados entre processos (IPC)
• Suporte a leitura e escrita de formatos de arquivos
• CSV, Avro, ORC e Parquet. Feather (Arrow
fi
le)
• Outros projetos interessantes
• Arrow Database Connectivity (ADBC), Flight RPC e FlightSQL
36. Projetos usando Apache Arrow
Interessante
fi
car de olho. Ecossistema muito rico.
• DataFrames
• Pandas, pola.rs
• Databases e Data Platform
• DuckDB, In
fl
uxDB IOx, Dremio, ClickHouse
• AI
• ray.io, Petastorm
• Ferramentas de Visualização
• Perpective, Falcon
arrow.apache.org/powered_by/
37. Como fazer a integração
Requisitos para usar na SDK em Go
• Permitir que usuário baixem dados com a BigQuery Storage API
• Manter os mesmo benefícios da SDK atual
• Converte consultas em structs de
fi
nidas pelo usuário
• Usar Arrow como formato de dados por ser mais e
fi
ciente
Avro não foi avaliado por conta dos ganhos não serem tão signi
fi
cativos
38. Consultas com a BigQuery Storage Read API
Ainda tem muita coisa acontece sem o usuário ver
1. Mesmo
fl
uxo de antes: Query -> Job -> Destination Table
2. Abrir uma ReadSession
3. Converter TableSchema em Arrow Schema
4. Ler ReadStreams da ReadSession em paralelo
• Caso especial em consultas ordenadas
5. Converter Arrow Batches em User De
fi
ned Structs
• Utiliza o format IPC do Apache Arrow
github.com/googleapis/google-cloud-go/pull/6822
43. Benchmarks
Resultados com dataset USA Names
• Tabela usa_1910_current
• 6,311,504 rows and 185.85 MB.
• Consultas
• Filtro por state = CA (218,192 rows)
• Filtro por state = FL (400,762 rows)
• Full table scan (6,311,504 rows)
• Full table scan with ordered results ( worst case scenario )