Escolar Documentos
Profissional Documentos
Cultura Documentos
ANÁLISE DE DADOS
• História
• Modelos
• Carecterísticas Atuais
• Modelos
HISTÓRIA
Primeiros datacenters!
Companhias de
processamento de dados Clouds e datacenters
1940
1950 Clusters
1960
Grids
1970
1980
PCs 1990
2000
2012
Sistemas
(P2P) Peer to
O QUE É CLOUD COMPUTING
É um cluster?
É um supercomputador?
É um storage de dados?
Exemplos de topologia
Switches
Racks
Servidores
CARACTERÍSTICAS ATUAIS
• MapReduce/Hadoop,
NoSQL/Cassandra/MongoDB e
Novos paradigmas de muitos outros.
programação em • Alta acessibilidade e facilidade
nuvem: de programação.
• Muito código aberto.
MODELOS
Serviços Implantação
SERVIÇOS
IaaS: Infraestrutura como Serviço
SERVIÇOS
PaaS: Plataforma como Serviço
SERVIÇOS
SaaS: Software como Serviço
IMPLANTAÇÃO
PÚBLICA
IMPLANTAÇÃO
PRIVADA
IMPLANTAÇÃO
HÍBRIDA
1. https://tiinside.com.br/03/09/2017/hitachi-lanca-plataforma-unificada-que-simplifica-
implementacao-da-nuvem-hibrida/
2. https://www.vmware.com/br/topics/glossary/content/public-cloud.html
3. https://www.vmware.com/br/topics/glossary/content/private-cloud.html
4. https://www.vmware.com/br/topics/glossary/content/hybrid-cloud.html
5. https://www.lucidchart.com/blog/pt/computacao-em-nuvem
6. https://www.researchgate.net/publication/297670471_A_COMPUTACAO_EM_NUV
EM_E_A_INDUSTRIA_DE_TELECOMUNICACOES_CLOUD_COMPUTING_AND_
TELECOMMUNICATIONS
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• História
• O que é IoT
• Características
• Dispositivos, Conectividade
• Exemplos
• Importância e Desafios
HISTÓRIA
Sensores
Conectividade
Processamento de Dados
Complexidade do software
1. https://en.wikipedia.org/wiki/Internet_of_things
2. https://exame.com/tecnologia/a-internet-das-coisas-vai-mudar-o-mundo-
cto-da-hitachi/
3. https://www.insiderintelligence.com/insights/internet-of-things-definition/
4. https://www.ge.com/news/reports/forget-consumer-internet-things-iiot-really
5. https://www.cisco.com/c/dam/en_us/about/ac79/docs/innov/IoT_IBSG_041
1FINAL.pdf
6. https://www.mokolora.com/pt/lora-and-wireless-technologies/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Respostas: PI.
Arduíno.
ESP32.
ZigBee.
LoRA.
Comentário LoRa e ZigBee são tecnologias usadas para transmitir dados de dispositivos IoT.
da PI, embora seja de baixo custo e com Bluetooth e Wi-Fi, ainda tem custo maior do que o
resposta: ESP32. Arduíno é similar ao ESP32, mas não tem Wi-Fi e Bluetooth embutidos. OESP32 é um
sistema em um chip (SOC) de baixo custo e baixo consumo de energia, ideal para
aplicações IoT. Possui recursos além do Wi-Fi e Bluetooth, como antena integrada RF
tipo balun, amplificador de potência, receptor de baixo ruído amplificado, filtros e módulos de
gerenciamento de energia.
Respostas: Bluetooth.
LoRa.
ZigBee.
Wi-Fi.
Satélite.
Comentário LoRa é mais adequada para dispositivos IoT, especialmente na configuração industrial. Esses
da são dispositivos que podem enviar pacotes de dados muito pequenos a longas distâncias.
resposta:
ano 2000.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 1/2
04/10/2022 18:05 Conteúdo
A computação em nuvem é uma tecnologia que fundamenta muitas atividades econômicas e funcionamento
de diversas empresas que desejam vender produtos, fazer negócios, operar equipamentos etc. Embora
seja, atualmente, uma tecnologia muito madura, alguns desafios ainda persistem, tais como aquele envolve
medição de tráfego, cujo nome é:
Comentário O conhecimento do tráfego de dados via rede, como a Internet, é fundamental para que
da decisões sobre o planejamento se realizado a contento. É um tipo de atividade que requer
resposta: monitoramento constante dos parâmetros de rede, como atraso, variação do atraso, taxa de
pacotes enviados e recebidos pelo datacenter, origem e destino do tráfego. Tudo isso impacta
na qualidade dos serviços de computação que é oferecido por uma nuvem computacional.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 2/2
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Armazenamento de Dados
ROTEIRO
• Introdução
• Armazenamento e Processamento
• Transações
• Escalabilidade
• Tolerância a Falhas
• Classificação
INTRODUÇÃO
• Facilidade de acesso
Horizontal x Vertical
ESCALABILIDADE
VERTICAL HORIZONTAL
Melhora-se a capacidade do
hardware, incrementando
individualmente os nós Adicionar mais máquinas
à solução atual de tal
existentes, por exemplo, por
modo que seja possível
meio da disponibilização de um distribuir as requisições
servidor com mais memória entre estas máquinas.
física ou da melhoria da largura
de banda que conecta dois nós
ESCALABILIDADE
Há complexidade quando
pensamos em escalar dados
Diminui o desempenho
TOLERÂNCIA A FALHAS
MODELO RELACIONAL
• Utilizar o modelo relacional pelo
sistema.
NoSQL
Oferecem consistência
Usam estruturas e
interfaces simples
1. https://sol.sbc.org.br/livros/index.php/sbc/catalog/download/18/81/167-
1?inline=1
2. https://azure.microsoft.com/pt-br/products/azure-sql/#product-overview
3. https://en.wikipedia.org/wiki/Bigtable
4. https://medium.com/@vinicius_roc/dynamodb-o-que-voc%C3%AA-precisa-
saber-antes-de-usar-1bcad8d31787
5. https://aws.amazon.com/pt/nosql/
6. https://neo4j.com/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Armazenamento de Dados
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
CARACTERÍSTICAS
ESQUEMA FLEXÍVEL PROPRIEDADE ACID ESCALABILIDADE
Segue um modelo de Suporta propriedades Facilita o
dados chamado modelo ACID completas dimensionamento
gráfico. O gráfico (Atomicidade, do banco de dados
contém nós e os nós Consistência, aumentando o
estão conectados uns Isolamento e número de
aos outros. Nós e Durabilidade). leituras/gravações
relacionamentos e o volume sem
armazenam dados em afetar a integridade
pares de valores-chave dos dados e a
conhecidos como velocidade do
propriedades. processamento de
consultas.
Neo4j
MODELO DE DADOS
Cada documento
Cada banco de
O banco de dados é é responsável por
dados é uma
a estrutura/contêiner manter seus
coleção de
de dados mais próprios dados e
documentos
externo no CouchDB. esquemas
independentes.
independentes.
Doc
Couch DB Replica
HTTP Engine DataBase
Request Doc
#1
Doc
Replica
DataBase Doc
#1
Instalação e Configuração –
Windows Doc
Tutorial → Replica
https://www.javatpoint.com/ DataBase Doc
couchdb-installation #1
Cassandra
CARACTERÍSTICAS
• É um banco de dados baseado em colunas.
ARQUITETURA
1. https://cassandra.apache.org/_/index.html
2. https://couchdb.apache.org/
3. https://www.tutorialspoint.com/couchdb/index.htm
4. https://www.tutorialspoint.com/neo4j/index.htm
5. https://www.tutorialspoint.com/cassandra/index.htm
6. https://www.youtube.com/watch?v=5jlPSMPLHQ4
04/10/2022 18:06 Conteúdo
Não-relacional e não-nativo.
O CouchDB é não relacional porque é um banco criado para atender às demandas dinâmicas
dos dados no contexto de aplicações web e não nativo porque ele não foi criado inicialmente
para o ambiente de nuvem.
Respostas: Amazon RDS
Cassandra
CouchDB
Neo4J
SQL Azure
Comentário Embora sejam bancos de dados NoSQL, o Neo4J e o Cassandra não são escritos na
da linguagem Erlang. O Amazon RDS e o Azurel SQL são bancos de dados relacionais gratuitos
resposta: disponibilizados pela Amazon e Microsoft respectivamente.
DHT
MapReduce
Comentário DHT – Distributed Hash Table são uma classe de sistemas distribuídos descentralizados que
da provém um serviço de busca parecida com a de uma tabela de hash. Os pares (key,value) são
resposta: armazenados no DHT e qualquer nó pode recuperar o valor associado a cada chave. GFS e
HDFS são sistemas de arquivos. MySQL é um banco de dados relacional e MapReduce é um
modelo de programação desenhado para processar grandes volumes de dados em paralelo.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 1/3
04/10/2022 18:06 Conteúdo
Respostas: autenticação.
escalabilidade.
segurança.
consistência.
virtualização.
Comentário As soluções em nuvem focam em escalabilidade, mas sacrificam a consistência. Estas
da soluções permitem apenas consultas por uma chave, não suportam múltiplas chaves ou
resposta: consultas com junções e oferecem consistência fraca de dados como por exemplo a
consistência eventual. Este tipo de consistência não permite a construção de uma aplicação
como serviços de pagamento e leilões online, que não podem lidar com dados inconsistentes.
Respostas: Pública.
Híbrida.
Horizontal.
Vertical.
PaaS.
Comentário Na escalabilidade vertical melhora-se a capacidade do hardware, incrementando
da individualmente os nós existentes, como por exemplo, por meio da disponibilização de um
resposta: servidor com mais memória física ou da melhoria da largura de banda que conecta dois ou
mais nós. Pública e Híbrida é são modelos de implantação em nuvem. PaaS é um modelo de
serviço.
I. Apresenta um modelo de consulta que consiste nos conceitos de visões, as quais são construídas utilizando
funções MapReduce e de uma API de consultas via HTTP.
IV. Fornece gerenciamento automático de falhas com particionamento de dados realizado de forma manual.
SQL Azure, CouchDB, Dynamo, BigTable
Dynamo, SQL Azure, CouchDB, BigTable
Comentário A sequência correta está de acordo com as características descritas de cada banco de dados,
da as quais podem ser vistas no texto-base Gerenciamento de dados em nuvem: conceitos,
resposta: sistemas e desafios que fundamenta a questão.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 3/3
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• O que é docker?
• História do docker
• O que é container?
• Imagens docker
• Imagens x containers
• Vocabulário docker
O QUE É DOCKER?
O Docker é uma
plataforma de software
que permite criar, testar
e implantar aplicativos
rapidamente,
empacotando software
em unidades
padronizadas
chamadas contêineres.
HISTÓRIA DO DOCKER
• Container = VM
• Isolado
• SO Compartilhado e libs
CONTAINERS
Docker Docker
Image Container
1.https://pointful.github.io/docker-intro/#/
2.https://docs.docker.com/get-started/overview/
3.https://medium.com/digitalproductsdev/um-guia-b%C3%A1sico-de-
docker-para-desenvolvedores-8b74c2e327e6
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Docker no Windows 10
ROTEIRO
• Pré-Requisitos
• Download do Docker
• Primeiro Comando
• Validação da Instalação
DOCKER EM AMBIENTE WINDOWS
O processo é finalizado
com as imagens a seguir:
VALIDAÇÃO DA INSTALAÇÃO
Vamos fazer um teste pelo PowerShell do Windows e verificar
que o Docker responde a alguns simples comandos.
Abra o PowerShell conforme indicado a seguir.
REFERÊNCIA
1. https://docs.docker.com/
2. https://www.edureka.co/blog/docker-commands/
3. https://towardsdatascience.com/15-docker-commands-you-should-know-
970ea5203421
4. https://buddy.works/tutorials/docker-commands-cheat-sheet
5. https://docs.microsoft.com/pt-br/windows/wsl/about
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Blocos Principais
• Primeiros Passos
• Revisão
BLOCOS PRINCIPAIS
• Docker Engine
Daemon que auxilia na construção, no envio e
na execução dos containers
• Docker Client
Responsável por receber entradas do usuários
e enviá-las para o docker engine
BLOCOS PRINCIPAIS
• Docker Registry
Amazenar imagens – pode ser usado
localmente ou remotamente
• Docker file
Arquivo usado para criar uma imagem.
Instruções que são aplicadas em uma imagem
PRIMEIROS PASSOS
• Ambiente
Docker for Windows
• É preciso ter o docker para Windows
devidamente instalado
PRIMEIROS PASSOS
• Comandos
docker run hello-world
Saída:
Hello from Docker!
This message shows that your installation
appears to be working correctly.
PRIMEIROS PASSOS
• #! /bin/bash
if [ $# -eq 0 ]; then
toilet
else
figlet "$@"
fi
PRIMEIROS PASSOS
FROM ubuntu:latest
RUN apt-get update && apt-get install -y toilet
COPY entrada.sh /
ENTRYPOINT ["sh”,“/entrada.sh"]
PRIMEIROS PASSOS
• Resultado:
Uma imagem baseada na imagem do ubuntu com a tag
latest e o programa toilet instalado
• Construção da imagem
Dentro da pasta figura, execute o comando:
docker build -t=figura .
PRIMEIROS PASSOS
• Verificar a imagem
docker images
• Para utilizar a nossa imagem, digite:
docker run it –rm figura Aula06
REFERÊNCIA
1.https://training.play-with-docker.com/ops-s1-images/
2.https://www.docker.com/resources/what-container
3.https://medium.com/trainingcenter/docker-o-que-%C3%A9-docker-
e-como-come%C3%A7ar-58e04bdcb043
4.https://www.jlcp.com.br/introducao-a-cli-do-docker/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Aplicações IoT
em Containers Docker
ROTEIRO
• IoT e Tecnologias de Containers
• Contêineres e Microsserviços
• Principais problemas
IOT E TECNOLOGIAS DE CONTAINERS
Facilidades para:
Implantar
Executar
Atualizar
CICLO DE DESENVOLVIMENTO - APP
CONTAINER
IoT E TECNOLOGIAS DE CONTAINERS
• Com os Docker Containers você não precisa se preocupar em definir o
ambiente base no sistema operacional com as dependências do
aplicativo;
Os contêineres envolvem o software em um sistema de arquivos
completo que contém tudo o que é necessário para executar: código,
tempo de execução, ferramentas do sistema, bibliotecas do sistema;
Caracaterísticas:
Portabilidade
pequeno)
Fácil atualização
componentes
Compartilhamento
POR QUE USAR CONTAINERS COM DISPOSITIVOS IoT?
• Segurança
• Segurança
as ameaças;
Manter os dispositivos atrás de uma infra segura
1. https://ieeexplore.ieee.org/document/7501691
2. https://www.crn.com/news/applications-os/300083112/containers-and-iot-a-
match-made-in-the-cloud.htm
3. https://containerjournal.com/topics/container-ecosystems/arm-sees-
containers-driving-iot-applications/
4. https://www.itbusinessedge.com/cloud/containers-strengthening-iot-
infrastructures/
5. https://aurimrv.gitbook.io/pratica-devops-com-docker/1-introducao/1-2-
devops-e-docker
04/10/2022 18:07 Conteúdo
Comentário Depois de qualquer alteração na imagem, ela deve ser salva para que as modificações
da resposta: persistam. Caso contrário, todas as alterações feitas são perdidas.
III.O comando docker container logs -f [container id] mostra logs de forma dinâmica.
a segurança.
o desempenho.
o monitoramento.
a conectividade.
Comentário A segurança é um ponto fundamental para qualquer aplicação. No caso de aplicações IoT,
da deve-se observar o uso necessário de libs em SOCs (System on Chips) e verificar serviços de
resposta: segurança oferecidos, por exemplo, pelo DockerHub.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 1/3
04/10/2022 18:07 Conteúdo
Resposta Selecionada: ter uma imagem com as alterações que não são efetivadas, ou seja, perdidas.
Respostas: Xen.
VirtualBox.
WSL.
HyperV.
VMWAre.
Comentário Xen, VMWare e VirtualBox são virtualizadores, assim como o HyperV. WSL é um subsistema
da do Windows para Linux que permite que os desenvolvedores executem um ambiente
resposta: GNU/Linux no Windows.
III. O comando usado para expor uma porta de rede para ele receber algum tipo de tráfego é o expose.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 2/3
04/10/2022 18:07 Conteúdo
Resposta Selecionada: os containers em execução, os containers parados ou que foram finalizados.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 3/3
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
A posição geográfica
A distância entre sensores
O tamanho dos dados obtidos
a cada coleta
A frequência da coleta
A capacidade computacional do dispositivo
que tem o sensor acoplado
FATORES QUE INFLUENCIAM NA COLETA DE
DADOS
Localização do sensor
A coleta pode ser afetada por conta da interferência de diversas
fontes;
Também pode ser afetada pelo clima (locais com muita intensidade
Posicionamento geográfico
A depender do posicionamento do sensor, não será
um único ambiente/local;
Sensores compostos dão mais representatividade ao ambiente a
Frequência da coleta
Pode ser feita de forma contínua no tempo;
Wide-Column
Document
Graph
REPRESENTAÇÃO DOS DADOS COLETADOS
Key Value: os dados são gerenciados e representados como
pares (chave, valor) armazenados em estruturas de pesquisa
eficientes, altamente escaláveis e baseadas em chaves,
como tabelas de hash estruturadas com log.
objetivo específico.
O objetivo bem definido ajuda a estruturar melhor
os dados coletados.
O segundo passo é planejar um conjunto de perguntas
que vão ser respondidas.
Exemplo: Por que os dados são importantes?
1.https://repositorio.utfpr.edu.br/jspui/bitstream/1/26465/1/plataformaanalisevisualizacaod
ados.pdf
2.https://www.lume.ufrgs.br/bitstream/handle/10183/231878/001133496.pdf?sequence=1
3.http://www2.decom.ufop.br/imobilis/iot-coletando-dados/
4.https://www.fm2s.com.br/pdca-pdsa/
5.https://eletronjun.com.br/2020/11/14/principais-maneiras-de-se-transmitir-dados-em-iot/
6.https://www.topgadget.com.br/howto/sites-e-web/os-cinco-principais-beneficios-da-
coleta-de-dados-da-web.htm
7.https://www.templatemonster.com/pt-br/illustrations/245344.html
8.https://www.nucleodoconhecimento.com.br/blog/materiais-academicos/coleta-de-dados
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
dados em informação.
FATORES QUE INFLUENCIAM NA ANÁLISE
DE DADOS
Análise descritiva
Análise preditiva
Análise de streaming
Análise de séries temporais
Análise espacial
O QUE CONSIDERAR NA ANÁLISE DE DADOS?
Exemplos:
AWS IoT Analytics
SAS Analytics
ThingSpeak
Átomo
REFERÊNCIA
1. https://www.agiledgesolutions.com/
2. https://aws.amazon.com/iot-analytics/
3. https://www.sas.com/en_us/software/analytics-iot.html
4. https://thingspeak.com/
5. https://www.cisco.com/c/en/us/solutions/internet-of-things/edge-intelligence.html
6. https://www.gov.br/infraestrutura/pt-br/assuntos/portal-da-estrategia/artigos-gestao-estrategica/analises-de-pareto-o-que-e-
e-para-que-
serve#:~:text=O%20que%20s%C3%A3o%20as%20An%C3%A1lises,origem%20em%2020%25%20das%20causas
7. https://www.siteware.com.br/metodologias/analise-de-pareto/
8. https://www.lume.ufrgs.br/bitstream/handle/10183/231878/001133496.pdf?sequence=1
9. https://repositorio.utfpr.edu.br/jspui/bitstream/1/26465/1/plataformaanalisevisualizacaodados.pdf
10. https://caetreinamentos.com.br/blog/gestao-empresarial/analise-dados-metodologia/
11. https://blog.academiain1.com.br/big-data-voce-conhece-os-4-tipos-de-analise-de-dados/
12. https://www.questionpro.com/blog/pt-br/analise-de-dados-qualitativos-como-fazer-e-quais-as-vantagens/
13. https://es.123rf.com/imagenes-de-archivo/datos.html?sti=mktfnkifkqq895vpjh|
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Pusblish/Subscribe
ROTEIRO
• O que é?
• Como funciona?
• Exemplos
O QUE É?
Tópico/Evento (Topic)
Assinante (Subscribe)
COMO FUNCIONA?
Subscriber
Message Output
Publisher Input channel Subscriber
Broker channel
Subscriber
RELAÇÃO DO PADRÃO P/S COM PLATAFORMAS
sequência imutável.
RELAÇÃO DO PADRÃO P/S COM PLATAFORMAS
APACHE KAFKA
VANTAGENS EM RELAÇÃO A OUTROS PADRÕES
Apache Kafka
Broker Mosquito
Middlewares
Kaa
OpenRemote
OpenHab
Home Assistant
DoJot
1. https://www.cloudkarafka.com/blog/part1-kafka-for-beginners-what-is-apache-
kafka.html
2. https://docs.microsoft.com/pt-br/azure/architecture/patterns/publisher-subscriber
3. https://gabrielschade.github.io/2018/03/12/publish-subscribe.html
4. https://docs.microsoft.com/pt-br/azure/architecture/patterns/publisher-subscriber
04/10/2022 18:07 Conteúdo
Respostas: ThingSpeak.
Kaa.
OpenHab.
Kafka.
Mosquitto.
Comentário O Apache Kafka é uma plataforma de streaming de eventos distribuídos de código aberto
da usada por milhares de empresas para pipelines de dados de alto desempenho, análise de
resposta: streaming, integração de dados e aplicativos de missão crítica. Essa plataforma utiliza o
padrão publish-subscribe para a troca de mensagens entre publicadores e assinantes.
posicionamento geográfico.
frequência da coleta.
Comentário No contexto de IoT, muitas são as fontes de dados, em geral, com sensores associados a
da dispositivos que têm baixa potência computacional. Por essa razão, brokers/gateways recebem
resposta: os dados de forma intermediária e os repassam para outros componentes, por exemplo um
data center com maior capacidade de armazenamento e de processamento.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 1/3
04/10/2022 18:07 Conteúdo
Atualmente há uma diversificação de dados no processo de coleta em qualquer domínio de aplicação. Para
análises em tempo real, é muito complexo tecnologias isoladas manterem um tempo de resposta aceitável
para o usuário. Nesse contexto, analise as afirmações a seguir:
II. A velocidade de processamento dos dados afeta diretamente o tempo de resposta para o usuário.
III. As bases de dados relacionais são melhores do que as não estruturadas para problemas com grandes
volumes e variedades de dados.
IV. Métodos de análises tradicionais são os únicos para lidar com o constante aumento e as variedades de
dados.
tipo de análise
integração de sistemas
Comentário Embora importantes e com influência na análise, a definição de metas, filtragem, tipo de
da resposta: análise e integração de sistemas não condiz com enunciado da questão.
Respostas: estruturados, key value
estruturados, document
não estruturados, key value
não estruturados, graph
estruturados, tabela
Comentário da
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 2/3
04/10/2022 18:07 Conteúdo
resposta: Em geral, os dados não estruturados são armazenados em NoSQL Databases e são
categorizados como: chave/valor, grafo, documento, coluna.
Resposta
Selecionada: O comportamento do sistema depende dos resultados lógicos e do instante físico em
que os resultados são produzidos.
Respostas: Os sistemas podem suportar atrasos.
A latência de comunicação não afeta o desempenho do sistema e não precisa ser
considerado no desenho da solução.
Os sistemas de controle não interagem com o ambiente.
O comportamento do sistema depende dos resultados lógicos e do instante físico em
que os resultados são produzidos.
O comportamento do sistema depende apenas dos resultados lógicos.
Comentário Um sistema de tempo real é destinado à execução de múltiplas tarefas em que o tempo de
da resposta a um evento é pré-definido. A latência da comunicação afeta o desempenho e precisa
resposta: ser considerado no desenho da solução. Sistemas de controle de tempo real muitas vezes
precisam interagir com o ambiente, por exemplo um sistema que controla os semáforos em
uma avenida, porque os semáforos precisam estar sincronizados no tempo.
II. O domínio IoT refere-se às características de um ambiente baseado nos conceitos de Internet das Coisas.
III. O relacionamento de comunicação entre o sistema colaborativo e os domínios distribuídos está baseado
no uso de protocolos de comunicação de IoT e Intranet.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 3/3
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Introdução
• Motivação
• Exemplos
• Desafios
INTRODUÇÃO
O que é um middleware?
Camada entre SO e aplicações distribuídas
Esconde a complexidade e a heterogeneidade do
sistema distribuído
Faz a ponte entre as comunicações de baixo nível
do SO e as abstrações da linguagem de
programação
Fornece abstração e infraestrutura de programação
comum para aplicações distribuídas
INTRODUÇÃO
O que é um middleware?
Aplicações Distribuídas
chamadas remotas,
Middleware invocação de objetos
Tipos
Orientado a mensagens
Chamadas remotas de procedimentos
Orientado a objetos
Baseado em eventos
MOTIVAÇÃO
Contexto de quem produz dados
Dispositivos de diversas marcas, tamanhos,
capacidades de processamento e de
armazenamento.
Heterogeneidade, dinamicidade
Ambiente fracamente acoplado
Contexto de que consome os dados
Dispositivos de posse do usuário final, como:
Celulares, tablets, desktops, notebooks, smart tvs.
MOTIVAÇÃO
Utilização de um middleware:
Integração
Interfaces
Transmissão de dados
Automação
Desenvolver novas aplicações
Otimizar aplicações
EXEMPLOS
Ciência do contexto
Multiescala
Gerenciamento de contexto distribuído em várias infraestruturas
de rede expondo várias escalas.
Qualidade do contexto
Escolha de metadados do contexto.
DESAFIOS
Privacidade
Respeita a privacidade dos proprietários do
contexto e não revela mais informações do que o
necessário;
Em particular neste tópico o impacto da aceitação
da IoT envolve o usuário;
Ele deve pode controlar o que, porque, quando,
onde e como suas informações serão
compartilhadas.
DESAFIOS
Embora o middleware facilite
Desenvolve novas soluções;
Oculta diversas complexidades (em especial as de comunicação
e protocolos);
Apresenta APIs.
É preciso que
A construção do mesmo seja focada considerando
o ambiente, pois há particularidades do local;
É preciso considerar que o ambiente em si pode ser
naturalmente suscetível a ser escalável na
quantidade de sensores instalados e na intensa
troca de dados processados localmente ou
encaminhados a uma nuvem computacional.
REFERÊNCIA
1. https://web.cs.dal.ca/~jamie/course/CS/4173/Materials/Lecture/WS-1-
Middleware.ppt
2. https://www.redhat.com/pt-br/topics/middleware/what-is-middleware
3. https://azure.microsoft.com/pt-br/overview/what-is-middleware/
4. https://www.mdpi.com/2078-2489/12/2/87/pdf?version=1614255980
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
OpenHab
ROTEIRO
• Introdução
• Arquitetura
• Estrutura
• Persistência de dados
INTRODUÇÃO
de dispositivos;
Possui uma engine para escrever regras, baseada
Windows, Docker;
O acesso pode ser feito via aplicativos de celular
Escrito em Java;
É agnóstico a hardware e protocolos, pois como
destacamos, pode ser acoplado a muitos devices e
usar diversos tipos de protocolos como COAP,
MQTT, AMQP, etc;
É desenvolvido baseado em uma arquitetura de
componentes.
ARQUITETURA
ARQUITETURA
ARQUITETURA
ARQUITETURA
ESTRUTURA
O OpenHab funciona de forma compartimentalizada
em relação às funções e ações.
Suas ações envolvem:
Se comunicar com os dispositivos;
Executar ações definidas pelo usuário;
Fornecer páginas web com informações definidas
pelo usuário;
Fornecer ferramentas para os usuários interagir
com os dispositivos.
ESTRUTURA
temperatura no tempo;
Restaurar um item para estado anterior antes de
reiniciar o OpenHAB;
Para a persistência devemos usar um banco de dados
local ou remotamente.
PERSISTÊNCIA DE DADOS
everyMinute
restoreOnStartup
informações;
Cada usuário tem uma interface que será criada
ajustes de configurações.
REFERÊNCIA
1. https://commons.wikimedia.org/wiki/File:OpenHAB_Architecture.png
2. https://www.researchgate.net/publication/266202005_Keeping_Eyes_on_your_Home_Open-
source_Network_Monitoring_Center_for_Mobile_Devices
3. https://community.openhab.org/t/diagram-for-the-introduction-doc-page/110790
4. https://www.researchgate.net/publication/357073943_A_Comparison_of_Open-
Source_Home_Automation_Systems
5. https://www.openhab.org/addons/persistence/rrd4j/
6. https://github.com/rrd4j/rrd4j
7. https://oss.oetiker.ch/rrdtool/
8. https://staceyoniot.com/can-you-run-an-openhab-or-home-assistant-smart-home-in-the-cloud/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
OpenHab
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
OpenRemote
ROTEIRO
• Introdução
• Arquitetura
• Estrutura
• Persistência de dados
INTRODUÇÃO
Módulos:
Gestão de ativos: detalhes sobre todos os
ativos;
Múltiplos inquilinos: suporte de múltiplos usuários
1. https://openremote.io/product/
2. https://github.com/openremote/openremote
3. https://openremote.io/demo/
4. https://github.com/openremote/openremote/wiki/Developer-Guide:-Useful-commands-and-queries
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Introdução
• Arquitetura
• Estrutura
• Persistência de dados
INTRODUÇÃO
O Home Assistant é uma plataforma para automação
residencial de código aberto que coloca o controle
local e a privacidade em primeiro lugar.
Supervisor
Core
ARQUITETURA
Bootloader
SO Linux
Atualizações
aplicação Linux
ESTRUTURA
Supervisor
Permite ao usuário gerenciar a instalação
Executa o núcleo do HA
Atualiza o núcleo do HA
Atualiza o HAOS
ESTRUTURA
Core
Consiste em 4
partes principais:
Event Bus
State Machine
Service Registry
Timer
ESTRUTURA
Core
Event Bus: facilita o disparo e a escuta de eventos - o
automação acionada.
Cada evento tem um contexto anexado. O contexto
https://data.home-assistant.io/
DoJoT
Características
100% Brasileira e OpenSource
Considera a escalabilidade
Tem diversos protocolos e soluções de segurança
Possui uma comunidade ativa de desenvolvedores
ARQUITETURA DO DoJoT
ARQUITETURA DO DoJoT
1.https://pt.wikipedia.org/wiki/SQLite
2.https://developers.home-assistant.io/docs/architecture_index
3.https://www.home-assistant.io/
4.https://www.home-assistant.io/docs/backend/database/
5.https://learn.sparkfun.com/tutorials/using-home-assistant-to-
expand-your-home-automations/all
6.https://www.awesome-ha.com/
7.https://dojotdocs.readthedocs.io/en/latest/architecture.html
8.http://www.dojot.com.br/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
agentes de protocolos
gerentes
Comentário Os agentes são um tipo especial de ativo que conecta serviços/dispositivos externos ao seu
da sistema OpenRemote por meio dos protocolos listados, que no caso são protocolos genéricos.
resposta:
Respostas: P2P.
monolítica.
cliente-servidor.
de microsserviços.
blockchain.
Comentário A arquitetura da plataforma é baseada em microsserviços, em que cada componente é
da implantado em seu próprio container. A arquitetura cliente-servidor pode ser utilizada também,
resposta: mas não é o foco da plataforma, bem como a P2P. A tecnologia de blockchain utiliza uma
arquitetura P2P.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 1/3
04/10/2022 18:08 Conteúdo
a multiescala.
a otimização.
a interface.
Comentário A otimização, a integração e o uso de interfaces com o usuário e dispositivos são motivações
da para a utilização de middlewares. Além da multiescala, que consiste em gerenciar contextos
resposta: distribuídos em várias infraestruturas de rede, temos como desafios a qualidade do contexto e
a privacidade dos dados dos usuários.
Respostas: Home Assistant.
Kaa.
OpenRemote.
OpenHAB.
ThingsBoard.
Comentário A estrutura com core, supervisor e sistema operacional é característica do Home Assistant. Kaa
da e ThingsBoard também são middlewares para IoT, mas que não apresentam as características
resposta: do Home Assistant.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 2/3
04/10/2022 18:08 Conteúdo
um arquivo de dados.
um banco de dados relacional.
Comentário O barramento de eventos (Event Bus) permite trocar mensagens por comando dos dispositivos
da e dados de telemetria, e ele interage com um repositório, dados de logs etc. O OpenHAB usa o
resposta: RDD4J, que é um sistema de registro de dados para séries temporais e difere de bancos de
dados baseados em relações.
Respostas: containers.
gateways.
protocolos.
fontes de dados.
tipos de regras.
Comentário As regras visam facilitar o uso e são acessíveis para que não desenvolvedores adicionem
da automação aos seus projetos. Os containers hospedam toda a estrutura de software do
resposta: OpenRemote.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 3/3
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
AWS IoT
ROTEIRO
• Introdução
• Visão Geral
• Serviços de IoT
• Recursos
INTRODUÇÃO
SOFTWARE DE DISPOSITIVO
A AWS possui uma versão customizada do
FreeRTOS, que é um sistema operacional de código
aberto em tempo real para microcontroladores.
SERVIÇOS DE CONTROLE
AWS IoT Device
AWS IoT Core
Management
Permite conectar bilhões
Auxilia na inclusão,
de dispositivos de IoT e
registro,
rotear trilhões de
monitoramento e
mensagens para serviços
gerenciamento remoto
da AWS sem gerenciar a
de dispositivos de IoT
infraestrutura.
em escala.
SERVIÇOS DE IOT
SERVIÇOS DE ANÁLISE
Alguns benefícios:
O AWS IoT Analytics
é um serviço
• Operacionalizar fluxos de
totalmente
trabalho
gerenciado que
• Consultar dados com mais
facilita a execução e
facilidade
a operacionalização
• Escalabilidade automática
de análises
• Técnicas para facilitar a
sofisticadas em
preparação e o
volumes massivos
processamento de análise
de dados da IoT.
de dados para análise
RECURSOS
Registrar dispositivos
Organizar dispositivos conectados em grupo
Indexar e pesquisar
Registro em logo dos dispositivos
Gerenciamento remoto dos dispositivos
RECURSOS
VISUALIZAÇÃO
REFERÊNCIA
1. https://aws.amazon.com/pt/iot-core/?nc=sn&loc=0
2. https://aws.amazon.com/pt/iot-device-management/
3. https://aws.amazon.com/pt/iot-analytics/?nc=sn&loc=2&dn=7
4. https://aws.amazon.com/pt/blogs/aws-brasil/aws-iot/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
Azure IoT
ROTEIRO
• Introdução
• O que é?
• Como funciona?
• Utilização
INTRODUÇÃO
Clientes
Operações
Produtos/Ativos
Funcionários
O QUE É?
TECNOLOGIAS DE PAAS
Envolve:
Suporte a dispositivos
IoT
Dados e análises
Visualização e integração
COMO FUNCIONA?
O tipo de
solução que O conjunto de
Seus habilidades da
você deseja
requisitos de sua organização
desenvolver do em tecnologias
negócios
ponto de vista Azure IoT PaaS
da nuvem
UTILIZAÇÃO
1. https://docs.microsoft.com/pt-br/azure/iot-hub/
2. https://docs.microsoft.com/pt-br/azure/iot-fundamentals/
3. https://docs.microsoft.com/pt-br/azure/iot-central/core/quick-deploy-iot-
central
4. https://docs.microsoft.com/pt-br/azure/iot-develop/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Introdução
• O que é?
• Funcionalidades
INTRODUÇÃO
• Informações • Processamento no
operacionais dispositivo
• Hardware do dispositivo
INTRODUÇÃO
O Google Cloud
IoT é uma
plataforma para
auxiliar no
gerenciamento,
acesso,
escalabilidade de
dispositivos e
informações
produzidas no
contexto de uma
solução IoT
O QUE É?
FUNCIONALIDADES
PROCESSAMENTO DE PIPELINE
• Pipelines gerenciam dados depois que eles chegam ao
Google Cloud
• Transforma, agrega
ARMAZENAMENTO DE DADOS
• Dados se apresentam em vários tamanhos e formatos
• Dados do estado ou de telemetria podem ser armazenados
em banco de dados estruturados e sem schema, como o
Firebase Realtime Database e o Datastore
FUNCIONALIDADES
ANÁLISE
Depois que os dados de streaming forem
analisados em um pipeline de processamento,
eles começarão a se acumular.
1. https://cloud.google.com/architecture/iot-overview
2. https://developers.google.com/iot
https://www.cloudskillsboost.google/focuses/1771?locale=pt_BR&parent=
catalog
04/10/2022 18:08 Conteúdo
Respostas: MQTT
AMQP
WebMQTT
HTTPS
HTTP
Comentário O MQTT deve ser utilizado em todos os dispositivos que não exigem conectar vários
da dispositivos (cada um com suas próprias credenciais por dispositivo) sobre a mesma conexão
resposta: TLS. O AMPQ por sua vez deve ser utilizado em gateways de campo e de nuvem para tirar
proveito da multiplexação de conexão entre dispositivos. HTTP e HTTPs são usados em
dispositivos que não dão suporte aos outros protocolos. Não há protocolo com o nome
WebMQTT.
Resposta
Selecionada: o SDK de serviço de hub IoT permite criar aplicativos de back-end para gerenciar seu Hub
IoT.
Respostas: o SDK de Provisionamento de Dispositivos permite que você crie aplicativos que são
executados em seus dispositivos de IoT usando o cliente do dispositivo ou do módulo.
o SDK de serviço de hub IoT permite criar aplicativos de back-end para gerenciar seu Hub
IoT.
o SDK de Serviços de Provisionamento permite que você crie aplicativos que são executados
em seus dispositivos IoT para se comunicarem com o Serviço de Provisionamento de
Dispositivos.
o SDK de serviço do Hub IoT permite que você crie aplicativos de back-end para gerenciar
seus registros no Serviço de Provisionamento de Dispositivos.
o SDK do dispositivo Hub IoT permite que você crie aplicativos de back-end para gerenciar
seus registros no Serviço de Provisionamento de Dispositivos.
Comentário Os SDKs de Serviço do Hub IoT permitem criar aplicativos de back-end para gerenciar seu Hub
da IoT.
resposta:
Os SDKs do Dispositivo Hub IoT permitem que você crie aplicativos que são executados em
seus dispositivos de IoT usando o cliente do dispositivo ou do módulo.
SDKs de Provisionamento de Dispositivos permitem que você crie aplicativos que são
executados em seus dispositivos IoT para se comunicarem com o Serviço de Provisionamento
de Dispositivos.
SDKs de Serviços de Provisionamento permitem que você crie aplicativos de back-end para
gerenciar seus registros no Serviço de Provisionamento de Dispositivos.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 1/3
04/10/2022 18:08 Conteúdo
a ponte de protocolos e o registro de dispositivos.
o MQTT e a ponte de protocolos.
o MQTT e a telemetria.
Comentário Os componentes principais são: o gerenciador de dispositivos, que registra dispositivos no
da serviço para que você possa monitorá-los e configurá-los. E as duas pontes de protocolos
resposta: (MQTT e HTTP) que são utilizadas pelos dispositivos para a conexão com o Google Cloud
Platform.
Resposta Selecionada: Autenticação de chave pública e privada utilizando JSON Web Tokens.
device database.
device cloud.
device gateway.
device hub.
Comentário Device gateway é um componente que envia, recebe e mantém informações com os
da dispositivos. Na nomenclatura da AWS IoT não há a figura do device cloud, device data-base e
resposta: nem mesmo device hub.
Respostas: o broker.
o armazenamento de dados.
a análise.
o gateway.
o processamento de pipeline.
Comentário
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 2/3
04/10/2022 18:08 Conteúdo
da resposta: Gerenciamento de dispositivos, armazenamento e análises são outras funcionalidades
importantes. Gateway e broker são componentes e não funcionalidades.
I. Considerando uma visão geral da AWS IoT Core, o que melhor ilustra um serviço de controle que lida com o
monitoramento dos dispositivos é chamado de AWS IoT device management.
II. O AWS IoT Core é um serviço que facilita a detecção e a resposta a eventos.
III. O AWS IoT Monitoring serve para monitorar serviços.
IV. O AWS IoT Advisor valida dispositivos IoT durante o desenvolvimento de software de dispositivo.
I. Gerenciar firmware instalado nos dispositivos é uma funcionalidade dos serviços do back-end da Azure IoT.
II. Os insights determinam somente como processar os dados.
III. Insights são informações coletadas pelas coisas, que são analisadas e transformadas em conhecimentos,
os quais são acionadas por pessoas.
IV. IoT inclui sistemas operacionais, segurança dos dispositivos, back-end e análises dos dados produzidos.
https://ava.univesp.br/ultra/courses/_6979_1/cl/outline 3/3
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Introdução
• Arquitetura
• Estrutura
• Persistência de dados
INTRODUÇÃO
O Home Assistant é uma plataforma para automação
residencial de código aberto que coloca o controle
local e a privacidade em primeiro lugar.
Supervisor
Core
ARQUITETURA
Bootloader
SO Linux
Atualizações
aplicação Linux
ESTRUTURA
Supervisor
Permite ao usuário gerenciar a instalação
Executa o núcleo do HA
Atualiza o núcleo do HA
Atualiza o HAOS
ESTRUTURA
Core
Consiste em 4
partes principais:
Event Bus
State Machine
Service Registry
Timer
ESTRUTURA
Core
Event Bus: facilita o disparo e a escuta de eventos - o
automação acionada.
Cada evento tem um contexto anexado. O contexto
https://data.home-assistant.io/
DoJoT
Características
100% Brasileira e OpenSource
Considera a escalabilidade
Tem diversos protocolos e soluções de segurança
Possui uma comunidade ativa de desenvolvedores
ARQUITETURA DO DoJoT
ARQUITETURA DO DoJoT
1.https://pt.wikipedia.org/wiki/SQLite
2.https://developers.home-assistant.io/docs/architecture_index
3.https://www.home-assistant.io/
4.https://www.home-assistant.io/docs/backend/database/
5.https://learn.sparkfun.com/tutorials/using-home-assistant-to-
expand-your-home-automations/all
6.https://www.awesome-ha.com/
7.https://dojotdocs.readthedocs.io/en/latest/architecture.html
8.http://www.dojot.com.br/
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Integração de dispositivos
INSTALAÇÃO DO HOME ASSISTANT
OPERATING SYSTEM
https://www.virtualbox.org/wiki/Downloads
INSTALAÇÃO DO HOME ASSISTANT
OPERATING SYSTEM
4. Edite as “Configurações” da VM e vá em
“Sistema”, depois “Placa-mãe” e selecione “Ativar
EFI”.
INICIALIZAÇÃO
http://localhost:8123
CONFIGURAÇÃO DO HOME ASSISTANT
1. https://www.home-assistant.io/installation/
2. https://www.home-assistant.io/integrations/analytics/
3. https://hub.docker.com/r/homeassistant/home-assistant
PLATAFORMA DE INGESTÃO E
ANÁLISE DE DADOS
• Integração de dispositivos
INSTALAÇÃO DO HOME ASSISTANT NO
DOCKER
• Há diversas formas de instalar o Home Assistant
usando virtualizadores como:
KVM
Hyper-V
Virtualbox
• Criar um volume
docker volume create homeassistant_dat
• Configurar o container docker
docker run -d \
--name homeassistant \
--privileged \
• O comando --restart=unless-stopped \
anterior vai fazer -p 8123:8123 \
download da -e TZ="Europe/London" \
imagem docker -v homeassistant_config:/config \
e ajustar --network=host \
configurações ghcr.io/home-assistant/home-assistant:stable
CONFIGURAÇÃO DO HOME ASSISTANT
http://localhost:8123
CONFIGURAÇÃO DO HOME ASSISTANT
1. https://www.home-assistant.io/installation/
2. https://www.home-assistant.io/integrations/analytics/
3. https://hub.docker.com/r/homeassistant/home-assistant