Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução 1
Objetivos 1
5 | Panorama e introdução a big data 2
Evolução do volume de dados 2
Atividade 4
Big data e suas dimensões 5
Atividade 6
Aplicações de big data 6
Atividade 8
Três Vs de big data 8
Atividade 11
Outros Vs em big data e propriedades 11
Atividade 14
Propriedades do big data 14
Atividade 16
6 | Etapas e estruturas de BDs e big data 16
Data workflow em sistemas de big data 17
Atividade 20
Data warehouses 20
Atividade 23
Processo de ETL 23
Atividade 25
OLAP e OLTP 26
Atividade 27
Conceitos de armazenamento em big data 28
Atividade 30
Processamento em big data 30
Atividade 32
7 | Sistemas de bancos de dados 33
Dados estruturados, semiestruturados e não estruturados 33
Atividade 35
Bancos de dados relacionais 36
Atividade 38
Structured Query Language 38
Atividade 39
Bancos de dados NoSQL 40
Atividade 42
Bancos de dados orientados a documentos 42
Atividade 44
Bancos de dados orientados a grafos 44
Atividade 46
8 | Tecnologias de big data 47
Hadoop 47
Atividade 49
HDFS 49
Atividade 51
MapReduce 51
Atividade 53
Apache Spark 53
Atividade 55
Apache Kafka 55
Atividade 57
Computação em nuvem 58
Atividade 60
Data Mining e Big
Data
Tema 2
Pag. 1
Big data e gestão de dados
5 | Panorama e introdução a big data
Prof. Autor Silas P. Lima Filho
Ao final deste módulo, você deverá ser capaz de:
• Entender a evolução do volume de dados.
• Conhecer big data e suas dimensões.
• Definir as aplicações de big data.
• Conhecer 3+2 Vs de big data.
• Verificar mais alguns Vs em big data e outras propriedades.
• Perceber as propriedades de sistemas big data.
Pag. 2
Evolução do volume de dados
Atualmente, há abundância de dados e
informações a serem armazenadas, o que é
resultado do conhecimento gerado pela
humanidade e da intenção de retê-lo quanto
a epistemologias, culturas, filosofias,
saberes, dentre outros.
Fontes: CLISSA, L. Survey of big data sizes in 2021. São exemplos de evolução na geração de
arXiv:2202.07659, v. 2, 6 p., 22 fev. 2022. Disponível em: h
ttps://arxiv.org/pdf/2202.07659.pdf. dados: as tecnologias como 5G, que
Acesso em: 19 set. 2022 | Imagem: istockphoto.com/br.
permitem que dispositivos e sensores
possam emitir dados; a facilidade de
acesso a um celular; os dispositivos IoT
de uso pessoal; os dados sísmicos;
metaverso. Todos exigem suporte de
processamento de dados, pois cada usuário
está gerando dados de vídeo, som e
metadados.
Pag. 3
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
CLISSA, L. Survey of big data sizes in 2021. arXiv:2202.07659, v. 2, 6 p.,
22 fev. 2022. Disponível em: https://arxiv.org/pdf/2202.07659.pdf.
Acesso em: 19 set. 2022.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Qual afirmação abaixo não pode ser considerada como verdadeira sobre big data?
Um bom sistema de big data não possui relação com o modelo de negócio.
Nesta primeira videoaula, o professor Silas Pereira traz o conceito de big data,
representado por um conjunto de características, conceitos e tecnologias não
centralizado, resultado da evolução do acúmulo de dados atual. A seguir, aprenderemos
sobre suas dimensões.
Pag. 4
Big data e suas dimensões
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
CLISSA, L. Survey of big data sizes in 2021. arXiv:2202.07659, v. 2, 6 p.,
22 fev. 2022. Disponível em: https://arxiv.org/pdf/2202.07659.pdf.
Acesso em: 19 set. 2022.
Pag. 5
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Um datacenter com bases de dados diversas possui cerca de 280 terabytes. Qual
das opções abaixo é equivalente ao valor indicado?
500.000 gigabytes.
0.273 petabytes.
Nesta videoaula, aprendemos sobre as dimensões do big data e como são escaladas as
grandeza de armazenamento atualmente. A seguir, aprenderemos sobre as aplicações do
big data.
Pag. 6
Análise de perfil de cliente e análise de mercado
As informações cruzadas com mensagens em redes sociais sobre mercados, produtos,
receitas e notícias na mídia de cartão de crédito e as regiões geográficas em que
acontecem podem aumentar a eficiência de produção e competitividade usando big data.
Já no marketing em correlação de big data, as empresas podem prever com mais precisão
o comportamento do consumidor e encontrar novos modos de negócios.
No planejamento de vendas, após comparação de dados massivos, as empresas podem
otimizar seus preços. Na operação, as empresas podem melhorar suas eficiência e
satisfação, otimizando a força de trabalho, prevendo com precisão os requisitos de
alocação de pessoal, a fim de evitar excesso de capacidade de produção e reduzir o
custo do trabalho.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
MARR, B. Big data in practice: how 45 successful companies used big data
analytics to deliver extraordinary results. John Wiley & Sons,
2016.
Pag. 7
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Big social data é a utilização dos artifícios de big data em qual contexto?
Dados governamentais.
Nesta videoaula, aprendemos sobre as aplicações do big data e como ele pode ser um
diferencial positivo para diversas áreas, por exemplo, aplicações no governo, área de
saúde, tráfego, área científicas, dentre outras. A seguir, estudaremos sobre os 3 Vs
do big data: volume, velocidade e variedade.
Pag. 8
Fonte: elaborado pelo autor.
Pag. 9
Três Vs de big data – variedade
Dados provêm de sistemas estruturados e
não estruturados, por exemplo:
• Mídias sociais (Facebook, Twitter,
YouTube).
• Documentos eletrônicos.
• Apresentações, mensagens instantâneas.
• Sensores.
• Vídeo.
• Áudio.
Fonte: elaborado pelo autor.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
BAHGA, A.; MADISETTI, V. Big data science & analytics: a hands-on approach.
Vpt, 2016.
Pag. 10
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Aprendemos sobre os pilares que sustentam o big data. Conhecidos como 3 Vs, são eles:
volume, velocidade e variedade. Na próxima videoaula, conheceremos os outros Vs
(pilares) que encontramos na literatura e suas respectivas propriedades.
Pag. 11
Vs em big data – valor
Big data só faz sentido se o valor da
análise dos dados compensar o custo de sua
coleta, armazenamento e processamento.
É necessário que a organização que
implemente projetos de big data obtenha
retorno destes investimentos.
Fontes: TAURION, C. Big data. Rio de Janeiro: Brasport, 2013 Os dados devem retornar em conhecimento
| Imagem: istockphoto.com/br.
útil e que agregue ao negócio e cenário
aplicado.
Pag. 12
Outros Vs
Visualização
Capacidade de representar os dados por
meio de gráficos e outras representações.
Variabilidade
Diferente da variedade, essa propriedade
diz respeito ao formato em que o dado é de
Fonte imagem: istockphoto.com/br. fato armazenado, podendo auxiliar na etapa
de processamento.
Vulnerabilidade
Capacidade de dizer se os datasets estão
vulneráveis.
Volatilidade
Propriedade que define por quanto tempo o
dado armazenado será relevante.
Validez
Propriedade relacionada ao tempo
necessário para preparar o dado para a
etapa de processamento ou análise.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
TAURION, C. Big data. Rio de Janeiro: Brasport, 2013.
Pag. 13
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Pag. 14
datasets diferentes. Por último, as consultas ad hoc facilitam a consulta de um
dataset, manutenção mínima e depurável, além de permitir ao usuário investigar as
razões quando ocorrerem falhas.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
MARZ, N.; WARREN, J. Big data principles and best practices of scalable
realtime data systems. Manning Publications, 2015.
Pag. 15
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Dificuldade de gerenciamento.
Nesta videoaula, aprendemos sobre as propriedades e desafios que o big data enfrenta,
por possuir características de um bem intangível. No próximo módulo, estudaremos
etapas e estruturas de BDs e big data.
Pag. 16
Data workflow em sistemas de big data
Fonte: MARQUESONE, R. Big data: técnicas e tecnologias para extração de valor dos dados. Casa do Código, 2016.
Pag. 17
Coleta
Com o tipo de dado já identificado, é
necessário saber quais serão as fontes
geradoras desses dados.
Dados estruturados, não estruturados,
semiestruturados.
Mídias sociais, xml, csv, documentos,
logs.
Como será efetivado o armazenamento de
tais informações?
Fonte: MARQUESONE, R. Big data: técnicas e tecnologias para
extração de valor dos dados. Casa do Código, 2016. Que tecnologia será usada? Que tipo de BD?
Haverá algum tipo de tratamento,
modelagem, identificação de metadados?
Processamento
Etapa em que preparamos o dado para a
etapa de análise.
Nessa etapa, vamos ter tipos de tratamento
como:
• Limpeza, dados faltosos, duplicados,
inconsistências.
• Normalização, que são dados de
diferentes valores ou escalas que precisam
estar na mesma unidade de medida.
Fonte: MARQUESONE, R. Big data: técnicas e tecnologias para
Como os dados podem estar distribuídos? extração de valor dos dados. Casa do Código, 2016.
Pag. 18
Análise
Processo que pode ser exploratório ou
confirmatório.
Os dados utilizados estão normalmente
"sujos", logo, gasta-se mais tempo
preparando que analisando os dados.
Visualização
Uso de técnicas de visualização,
ferramentas, relatórios de modo a
comunicar os resultados das análises para
a tomada de decisão.
A visualização auxiliará na etapa de ação.
É importante comunicar o conhecimento
gerado, para as próximas etapas.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
MARQUESONE, R. Big data: técnicas e tecnologias para extração de valor dos
dados. Casa do Código, 2016.
Pag. 19
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Etapa em que são definidas as fontes de onde os dados serão obtidos e como
serão persistidos.
Data warehouses
Warehouses
São sistemas similares aos bancos de dados tradicionais, mas com a característica de
apoiar a tomada de decisão, além de lidar com volume de dados maior que um banco
transacional recorrente.
Na literatura, Inmon (1992) afirma que foi o primeiro a definir data warehouse:
Pag. 20
"Coleção de dados orientada a assunto, integrada, não volátil, variável no tempo para
suporte às decisões da gerência“.
Já segundo Silberschatz, "Um data warehouse é um repositório (ou arquivo) de
informações coletadas de várias fontes, armazenadas sob um esquema unificado, em um
único local. Uma vez coletados, os dados são armazenados por um longo tempo,
permitindo o acesso a dados históricos.
Assim, os data warehouses fornecem ao usuário uma única interface consolidada para os
dados, realizando consultas de apoio à decisão mais fácil de escrever. Além disso, ao
acessar informações para suporte à decisão de um data warehouse, o tomador de decisão
garante que os sistemas de processamento de transações on-line não sejam afetados
pela carga de trabalho de suporte à decisão“.
Pag. 21
Transparência.
Manipulação de dados intuitiva.
Desempenho de relatório consistente.
Recurso de relatório flexível.
Modelo multidimensional
Principais características de data warehouses, que, ao operarem junções nas relações armazenadas em um banco de dados
convencional, podem criar cubos de dados, ou então, para o caso de mais dimensões, hipercubos e combinação de vendas,
por período e regiões.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
NAVATHE, S. B.; ELMASRI, R. Sistemas de banco de dados. Pearson
Universidades, 2011.
Pag. 22
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Aprendemos sobre data warehouses, que lidam com volume de dados maior que um banco
transacional recorrente, suas respectivas tarefas atendidas e características, além
de aprofundarmos um pouco sobre o modelo multidimensional. A seguir, na próxima
videoaula, aprenderemos sobre processos de ETL.
Processo de ETL
Estágios de ETL
Operação essencial para alimentação de data warehouses e big data, dado que o ambiente de tais sistemas preveem a
utilização de diversas fontes de dados. Não apenas datasets, mas diferentes sistemas de armazenamento.
As tecnologias ETL foram usadas para fazer isso em ambientes tradicionais de data warehouse, com o papel de evoluir para
lidar com ambientes de gerenciamento de dados mais recentes, como o Hadoop.
Pag. 23
Fonte: SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts. McGraw-Hill Education, 2019.
O ambiente de big data pode ser necessário para combinar ferramentas que dão suporte
a processos de integração em lote (usando ETL) com integração e federação em tempo
real em várias fontes.
A extração de dados refere-se a obter dados das fontes, enquanto carga refere-se a
carregar os dados em data warehouse. Em data warehouses da geração atual, que
suportam funções definidas pelo usuário ou estruturas MapReduce, os dados podem ser
extraídos, carregados no warehouse e depois transformados. Os passos são então
chamados de extrair, carregar e transformar ou tarefas ETL. A abordagem ELT permite o
uso de estruturas de processamento paralelo para a transformação de dados.
Fonte: SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts. McGraw-Hill Education, 2019.
Pag. 24
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts.
McGraw-Hill Education, 2019.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Nesta videoaula, aprendemos sobre ETL, operação essencial para alimentação de data
warehouses e big data, além de diferenciarmos ETL e ELT. A seguir, estudaremos sobre
OLAP e OLTP.
Pag. 25
OLAP e OLTP
OLTP
O OLTP pode ser definido como o processamento de transação on-line de sistemas de BDs
sobre aplicações operacionais ou de produção, que realizam em BDs e partes dos dados
persistentes, como consultas, inserções, atualizações, exclusões, dentre outras.
O sistema OLTP armazena dados não normalizados, que podem ser processados e
remodelados, porém não são otimizados para tarefas que um data warehouse precisa,
além de possuir aplicações de rotina altamente repetitivas, para dar suporte a
depósitos ou saques de dinheiro em um sistema bancário e executar processos de
negócio no suporte de operações corporativas.
OLAP
Encontrado na literatura, Navathe descreve o OLAP como análise de dados complexos de
data warehouse com capacidade de ser fonte de dados, ou coletor de dados recebendo de
outra etapa, além de agregar com dados multidimensionais, como o data cube.
Nas suas aplicações, destacam-se a obtenção da quantidade total de remessas; as
quantidades totais de remessas por fornecedor e peça a fim de adquirir as quantidades
totais de remessas por fornecedor e por peça.
Fonte: BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers & techniques. Prentice Hall, 2016.
Pag. 26
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts.
McGraw-Hill Education, 2019.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Pirâmide de dados.
Pag. 27
Conceitos de armazenamento em big data
Sistemas distribuídos
A fim de atender à demanda do alto volume de dados utilizados em sistemas de big
data, os sistemas distribuídos foram desenvolvidos para atender a tais requerimentos:
clusters, sistemas de arquivos distribuídos, sharding e replicação.
Clusters
Pode ter tanto a estrutura física, por exemplo, máquinas espalhadas, que conversam
entre si, quanto a combinação de processamento para melhor desempenho, com o objetivo
de conseguir a maior capacidade de armazenamento e apoio de processamento.
Sistemas de arquivos
distribuídos
Os sistemas de arquivos distribuídos lidam
com arquivos espalhados pelos nós de um
cluster.
Para o cliente, os arquivos parecem ser
locais em nível lógico. Com a visão local
apresentada por meio do sistema de
arquivos distribuído, permitindo que os
arquivos sejam acessados de vários locais,
por exemplo, Google File System, Hadoop
Fonte: BUHLER, P.; KHATTAK, W.; ERL, T. Big data File System.
fundamentals: concepts, drivers & techniques. Prentice Hall,
2016.
Pag. 28
Sharding
O termo “sharding” refere-se ao compartilhamento de dados em vários bancos de dados
ou máquinas. Sua aplicação precisa rastrear como os dados foram particionados e
rotear as consultas adequadamente.
Se um banco de dados ficar sobrecarregado, partes dos dados neste banco de dados
precisam ser transferidas para um novo banco de dados ou para um dos outros bancos de
dados existentes; gerenciar esse processo é uma tarefa não trivial.
À medida que mais bancos de dados são adicionados, há uma chance maior de falha
levando à perda de acesso aos dados. A replicação é necessária para garantir que os
dados sejam acessíveis apesar das falhas, mas gerenciar as réplicas e garantir que
sejam consistentes apresenta outros desafios.
Replicação
A replicação armazena várias cópias de um conjunto de dados, conhecido como réplicas,
em nós, fornecendo a escalabilidade e disponibilidade devido ao fato de que os mesmos
dados são replicados em vários nós.
A tolerância a falhas também é alcançada, pois a redundância de dados garante que os
dados não sejam perdidos quando um nó individual falha.
Duas abordagens de replicação: master-slave e peer-to-peer.
Fonte: BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers & techniques. Prentice Hall, 2016.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers &
techniques. Prentice Hall, 2016.
Pag. 29
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Pag. 30
Processamento de dados distribuído
Tem como princípio “dividir para conquistar”, ou seja, o processamento distribuído de
dados é sempre alcançado por meio de máquinas fisicamente separadas que são
conectadas em rede como um conjunto.
Fonte: BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers & techniques. Prentice Hall, 2016.
Processamento batch
São definidos como dados processados em lotes com tempo de resposta variando de
minutos a horas. Os dados devem ser persistidos no disco antes de serem processados e
geralmente, envolve o processamento de uma variedade de grandes conjuntos de dados,
por conta própria ou unidos, abordando essencialmente as características de volume e
variedade.
A maioria do processamento de big data ocorre em modo batch, por ser, relativamente
simples, fácil de configurar e de baixo custo em comparação com o modo em tempo real.
Fonte: BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers & techniques. Prentice Hall, 2016.
Pag. 31
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers &
techniques. Prentice Hall, 2016.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Processamento que pode ser feito numa única máquina, mas por diferentes
núcleos.
Aprendemos sobre como é realizado o processamento no big data. São diversas formas,
como: processamento de dados paralelos, distribuídos, batch e em tempo real. A
seguir, estudaremos os sistemas de banco de dados no big data.
Pag. 32
Big data e gestão de dados
7 | Sistemas de bancos de dados
Prof. Autor Silas P. Lima Filho
Ao final deste módulo, você deverá ser capaz de:
• Entender os dados estruturados, semiestruturados e não estruturados.
• Perceber os sistemas de bancos de dados relacionais.
• Compreender a SQL.
• Conhecer os bancos de dados NoSQL.
• Entender os bancos orientado a documentos.
• Observar os bancos orientados a grafos.
Pag. 33
Fonte imagem: istockphoto.com/br.
Com o devido conhecimento do modelo de negócio e de que tipo de informação será armazenada e abstraída, o tipo de dado
ajudará na escolha da devida ferramenta de armazenamento.
Dados estruturados
Formato de dados geralmente utilizado por BDs relacionais e os esquemas, conceitual e
lógico, a fim de definir dados a serem usados.
São dados que possuem maior rigidez na estrutura e definição, como string, character,
número, lógico, data.
Relacionamentos (tabelas) e atributos. Possuem linguagem para consulta, como
Structured Query Language (SQL), dentre outras.
Dados semiestruturados
Os dados semiestruturados têm maior flexibilidade no esquema de dados, sem precisar
refazer todo o esquema lógico do BD, sendo possível utilizar certo nível de rigidez.
As definições de atributos e tipos de dados contêm as seguintes características:
esquema flexível; dados multivalorados e dados aninhados, são exemplos: JSON, XML,
RDF.
Pag. 34
Dados que não possuem formato específico. Podem ser gerados por humanos ou máquinas,
como analisar dados de vídeos e músicas.
São exemplos: mídia social, publicações, dados móveis, textos em comentários de
publicações. Dados de dispositivos IoT, radares, dados científicos, como sísmicos,
LHC.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
CIELEN, D.; ALI, M.; MEYSMAN, A. Introducing data science: big data,
machine learning, and more, using python tools. Manning
Publications, 2016.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Qual estrutura de dados abaixo possui menor flexibilidade no dado que será
armazenado?
Não estruturado.
Dado estruturado.
Semiestruturado.
JSON.
Pag. 35
Bancos de dados relacionais
Funções de um SGBD
Um SGBD deve ser capaz de:
• Definir dados - (Data Definition Language, DDL).
• Manipular dados - (Data Manipulation Language, DML) - planejadamente ou não.
• Otimização e execução.
• Manter a integridade e segurança dos dados.
• Recuperar dados e controlar a concorrência.
• Fornecer dicionário de dados.
• Executar tarefas anteriores com desempenho.
Pag. 36
Estrutura de bancos de dados
relacionais
Os modelos de dados relacionais são
baseados em relações, tabelas conhecidas,
e têm como vantagens compartilhamento,
Fonte: elaborada pelo autor.
redução, redundância e padronização, para
evitar inconsistência.
Modelo relacional
O modelo relacional é representado por um esquema de banco de dados, armazenamento
para o uso de informações armazenadas, por exemplo, design lógico do BD e suas
relações, instância de banco de dados, objeto banco de dados criado com os dados
persistidos na estrutura determinada a fim de identificar unicamente cada registro de
uma relação, como superkey, candidata, primária, estrangeira e álgebra relacional,
que é resultado do conjunto de operações que substanciam SQL.
Fonte: SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts. McGraw-Hill Education, 2019.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts.
McGraw-Hill Education, 2019.
Pag. 37
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
SQL
Desenvolvida na década de 1970 na IBM Research, as operações são baseadas em álgebra
relacional, o Data-Definition Language (DDL). Trata-se de comandos com objetivo de
definir, deletar e modificar esquemas e relações, com linguagem descritiva, não sendo
necessário descrever as etapas de execução, mas sim o resultado desejado. SQL tem
como características a integridade por meio de especificações de regras sobre as
operações, definição de views e autorização de privilégios de acesso.
A lógica utilizada pelo SQL utiliza o Comando base que indica qual atributo deve ser
Pag. 38
consultado, além de parâmetros opcionais, como distinct, que seleciona os valores
únicos de determinado atributo e all, que seleciona todos os valores, incluindo
duplicados.
Podem-se buscar informações armazenadas em mais de uma relação, ligadas às chaves
estrangeiras (referência) de operação de junção.
Fonte: SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts. McGraw-Hill Education, 2019.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts.
McGraw-Hill Education, 2019.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Aprendemos, nesta videoaula, sobre SQL e a lógica por trás da sua utilização. A
seguir, estudaremos sobre bancos de dados NoSQL, Overview NoSQL e suas
características.
Pag. 39
Bancos de dados NoSQL
Overview NoSQL
Not-only SQL, ou overview, é o termo usado no final da década de 1990, em junho de
2009, por Johan Oskarsson, que representa bancos de dados que não seguem o modelo
relacional, também chamados de non-relational databases.
Tal como SQL, é uma linguagem para BDs relacionais; BDs NoSQL também possuem
linguagens próprias de consulta e modelos de dados que não seguem o modelo tabular.
Pag. 40
documentos, orientado a coluna, grafos, chave-valor.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
FOWLER, M.; SADALAGE, P. J. NoSQL distilled: a brief guide to the emerging
world of polyglot persistence. Addison-Wesley Professional, 2012.
Pag. 41
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Qual das opções abaixo é a opção correta sobre os tipos de banco de dados
NoSQL?
Pag. 42
MongoDB
Representado por uma instância de banco de dados no MongoDB, que trabalha com o
conceito de coleções. São similares ao conceito de relações, por exemplo, tabelas do
modelo relacional de SGBDRs.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
FOWLER, M.; SADALAGE, P. J. NoSQL distilled: a brief guide to the emerging
world of polyglot persistence. Addison-Wesley Professional, 2012.
Pag. 43
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
{"employees":[{"name":"Shyam", "email":"shyamjaiswal@gmail.com"},
{"name":"Bob", "email":"bob32@gmail.com"}, {"name":"Jai",
"email":"jai87@gmail.com"} ] }.
Pag. 44
dois elementos básicos: nós ligados por arestas. Por exemplo: Neo4j, Infinite Graph,
OrientDB e FlockDB. Têm como base os relacionamentos considerados o elemento
principal, tanto nós como arestas que armazenam dados, por exemplo, SGBDG que possuem
linguagem de consulta própria - Neo4j que possui cypher.
São consistentes, utilizam as soluções de BDs orientadas a grafos, que geralmente não
suportam a distribuição dos dados, apesar de existirem soluções do tipo. Nós só podem
ser removidos se não tivermos relacionamentos. O Neo4j suporta operações ACID como
atomicidade, consistência, isolamento, durabilidade - NoSQL que nem sempre possuem
tal propriedade. Já as consultas incluem valores na busca, BDs com linguagem própria,
por exemplo, Gremlin, Cypher e Blueprints.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
FOWLER, M.; SADALAGE, P. J. NoSQL distilled: a brief guide to the emerging
world of polyglot persistence. Addison-Wesley Professional, 2012.
Pag. 45
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Qual das afirmações abaixo é a mais condizente com o modelo de banco de dados
orientado a grafos?
Finalizamos este módulo aprendendo sobre bancos de dados orientados a grafos e suas
vertentes, aplicações e características. No próximo módulo, estudaremos sobre o big
data e suas tecnologias.
Pag. 46
Big data e gestão de dados
8 | Tecnologias de big data
Prof. Autor Silas P. Lima Filho
Ao final deste módulo, você deverá ser capaz de:
• Perceber a Hadoop.
• Validar o MapReduce.
• Apresentar a ferramenta Spark.
• Entender o conceito de streaming usando Kafka.
• Apresentar o conceito de contêineres via cloud/docker/container.
• Perceber a computação em nuvem.
Hadoop
Hadoop
O Hadoop é um projeto open-source desenvolvido pela Apache. Inicialmente, foi
projetado para ser uma engine de busca da web, lançado em 2006 e inspirado na
publicação de duas soluções da Google: o sistema de arquivos distribuído Google File
System (GFS) e o modelo de programação distribuída MapReduce.
Pag. 47
Características do Hadoop
O Hadoop foi inspirado na publicação de duas soluções da Google que tem como
características:
• Baixo custo.
• Escalabilidade.
• Tolerância a falhas.
• Descoberta de novas análises.
• Questões relativas à execução da aplicação são tratadas pelo próprio framework,
reduzindo consideravelmente o tempo gasto no desenvolvimento.
• HDFS.
• MapReduce representados como paradigma de programação que possibilita
escalabilidade massivamente paralela em centenas ou milhares de servidores.
Escalabilidade
Uma vez que sistemas de big data esperam grandes volumes de dados, por conta disso,
esperamos que sejam escaláveis:
Escalabilidade vertical.
Escalabilidade horizontal.
Fonte: O’REILLY MEDIA. Big data now: 2012 edition. O'Reilly Media, 2012.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
MARQUESONE, R. Big data: técnicas e tecnologias para extração de valor dos
dados. Casa do Código, 2016.
Pag. 48
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
HDFS
HDFS
Hadoop Distributed File Systems (HDFS) são conceituados como sistemas de arquivos
distribuídos e armazenamento de grande volume de dados tolerante a falhas, com as
seguintes características: scalable storage for large files (armazenamento escalável
para arquivos grandes), replicável, streaming de dados e imutabilidade de arquivos.
Pag. 49
Elementos do HDFS
Namenode: gerência sistema de arquivos. Todos os metadados do sistema de arquivos são
armazenados no namenode, executando as operações de leitura e gravação enquanto os
dados são transferidos diretamente de/para os datanodes.
HDFS divide os arquivos em blocos, e os blocos são armazenados nos datanodes.
Datanode: as máquinas armazenam blocos de dados em HDFS. Enquanto o namenode armazena
os metadados do sistema de arquivos, os datanodes armazenam os blocos de dados e
atendem às solicitações de leitura e gravação. Os datanodes enviam periodicamente
mensagens de pulsação e bloqueiam reporta ao namenode.
Responsabilidade do HDFS
Os arquivos podem ser acessados por programas usando APIs do sistema de arquivos HDFS
que estão disponíveis em vários idiomas, como Java e Python; as APIs permitem que um
programa se conecte ao servidor HDFS e acesse dados.
Um sistema de arquivos distribuído HDFS também pode ser conectado ao sistema de
arquivos local de uma máquina de forma que os arquivos em HDFS possam ser acessados
como se estivessem armazenados localmente. Isso requer o fornecimento do endereço da
máquina namenode e da porta na qual o servidor HDFS escuta as solicitações para o
sistema de arquivos local.
O sistema local reconhece quais arquivos de acesso são para arquivos no HDFS com base
no caminho do arquivo e envia solicitações apropriadas ao servidor HDFS.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
BAHGA, A.; MADISETTI, V. Big data science & analytics: a hands-on approach.
Vpt, 2016.
Pag. 50
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Centernode e Distantnode.
Datanode e ProcessingNode.
Namenode e Datanode.
Namenode e Surnode.
MapReduce
Pag. 51
Tarefa map
Processa um conjunto de dados de entrada, que devem ser obtidos no formato de pares
chave-valor.
Saída é uma lista de pares também no formato chave-valor.
Operação reduce
Cada tarefa reduce recebe como parâmetro uma chave e sua respectiva lista de valores.
Uma operação sobre essa lista de valores é então executada, gerando o resultado da
aplicação, também no formato chave-valor.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
MARQUESONE, R. Big data: técnicas e tecnologias para extração de valor dos
dados. Casa do Código, 2016.
Pag. 52
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Por mais que MapReduce seja útil, ele não funciona bem para grandes conjuntos
de dados.
MapReduce é a junção de duas tarefas, map e reduce, que visa executar tarefas
de modo paralelo e independente.
Nesta videoaula, vimos sobre o modelo de programação MapReduce, formada pela divisão
de duas tarefas: map e reduce.
A seguir, estudaremos sobre uma tecnologia do big data, chamada de Apache Spark, suas
aplicações e componentes.
Apache Spark
Pag. 53
• Spark SQL.
• MLlib.
• GraphX.
• API para Scala, Java e Python.
Arquitetado por:
Core - provê funcionalidade como agendamento de tarefas, e controle de E/, como
modelo de dados chamado RDD - Resilient Distributed Dataset.
Streaming - componente de análise de dados via streaming, como sensores, log de
servidores web.
SQL - componente que lida com dados estruturados.
MLlib - biblioteca com algoritmos de machine learning.
GraphX - componente que lida com análise de grafos.
Componentes Spark
Têm como objetivo abstrair um conjunto de objetos distribuídos no cluster,
geralmente executados na memória principal, chamados de Resilient
Distributed Datasets (RDD).
Podem estar armazenados em sistemas de arquivo tradicionais, no HDFS (Hadoop
Distributed File System) e em alguns Banco de Dados NoSQL, como Cassandra e HBase,
representado pelo objeto principal do modelo de programação do Spark, pois são nesses
objetos que serão executados os processamentos dos dados.
Sua operações representam transformações ou ações realizadas num RDD, em que o objeto
que conecta o Spark ao programa é desenvolvido.
Pag. 54
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
BAHGA, A.; MADISETTI, V. Big data science & analytics: a hands-on approach.
Vpt, 2016.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Apache Spark pode ser mais rápido e performático que o Hadoop MapReduce.
Vimos sobre a tecnologia do big data, chamada Apache Spark, sua visão geral e seus
respectivos componentes.
A seguir, na próxima videoaula, estudaremos sobre a plataforma de software de código,
chamada Apache Kafka.
Apache Kafka
Pag. 55
Apache Kafka – visão geral
Representada por uma plataforma de software de código aberto para o processamento de
fluxo de mensagens, unificando componentes e plugins externos, baixa latência e alto
rendimento a fim de aproximar o feed de dados em tempo real, criado pelo LinkedIn,
baseado em logs, stream processing, mensageria, website activity tracking, metrics
collection and monitoring e log aggregation.
Características
Dentre as principais características do Apache Kafka destacam-se:
• Escalabilidade: o cluster pode ser facilmente redimensionado para atender ao
aumento ou diminuição das cargas de trabalho.
• Distribuído: o cluster Kafka opera com vários nós, dividindo o processamento.
• Replicado, particionado e ordenado: as mensagens são replicadas em partições nos
nós do cluster na ordem em que chegam para garantir segurança e velocidade de
entrega.
• Alta disponibilidade: o cluster tem diversos nós (brokers) e várias cópias dos
dados.
Pag. 56
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
BAHGA, A.; MADISETTI, V. Big data science & analytics: a hands-on approach.
Vpt, 2016.
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Produtor é quem produz a mensagem que será enviada para um determinado tópico.
Por mais que o Apache Kafka seja escalável, ele não pode ser distribuído para
vários servidores.
Pag. 57
Computação em nuvem
Computação em nuvem
“Computação em nuvem” é o termo que se refere ao uso por meio da internet, de memória
e de processamento distribuído em servidores. O usuário final não conhece os
servidores nos quais os seus dados estão armazenados e atende a demandas de TI, onde
é fácil aumentar a estrutura - pay-as-you-go, a fim de manter as tecnologias
adequadas, juntamente com a mão de obra é custoso.
Pag. 58
• Pública: recursos disponibilizados.
• Privada: ambiente que simula na nuvem redes de computadores privados.
• Híbrida: composto por múltiplas nuvens, públicas ou privadas.
Modelos de serviço
Nos modelos de serviço da computação em nuvem, destacam-se:
- Infrastructure-as-a-Service (IaaS): acesso a servidores físicos hospedados em
nuvem, armazenamento, infraestrutura para execução de arquivos e cargas de
trabalho.
- Platform-as-a-Service (PaaS): entrega de uma plataforma para desenvolvimento,
execução, manutenção e gerenciamento de aplicações.
- Software-as-a-Service (SaaS): software armazenado em nuvem de forma ready-to-use.
Saiba mais!
Saibam mais sobre os assuntos apresentados até aqui por meio do material
complementar:
IBM CLOUD EDUCATION. IaaS versus PaaS versus SaaS. 2021. Disponível em:
www.ibm.com/cloud/learn/iaas-paas-saas. Acesso em: 19 set. 2022.
Pag. 59
Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos?
Software as a service.
Support as a service.
Structure as a service.
Service as a structure.
Referências autorais
BAHGA, A.; MADISETTI, V. Big data science & analytics: a hands-on approach. Vpt,
2016.
BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers &
techniques. Prentice Hall, 2016.
DATE, C. J. Introdução a sistemas de bancos de dados. GEN LTC, 2004.
MARQUESONE, R. Big data: técnicas e tecnologias para extração de valor dos dados.
Casa do Código, 2016.
MARR, B. Big data in practice: how 45 successful companies used big data analytics to
deliver extraordinary results. John Wiley & Sons, 2016.
SILBERSCHATZ, A.; SUDARSHAN, S.; KORTH, H. F. Database system concepts. McGraw-Hill
Education, 2019.
TAURION, C. Big data. Rio de Janeiro: Brasport, 2013.