Você está na página 1de 62

SUMÁRIO

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

Big data e gestão de dados


Panorama e introdução Etapas e estruturas de Sistemas de bancos de Tecnologias de big
a big data BDs e big data dados data
Este módulo apresenta o contexto Entenderemos a estrutura e as Este módulo apresenta as estruturas Este módulo apresenta tecnologias
inicial que fundamentará o conceito etapas que envolvem os sistemas de e modelos de bancos de dados que comumente utilizadas para criação e
de big data. Também apresenta as big data, além de conceitos gerais podem ser utilizados por sistemas manutenção de sistemas de big data.
principais características que um de bancos de dados distribuídos e o de big data, além de bancos de
sistema de big data deve possuir e processo de ETL. dados relacionais e NoSQL.
que o diferenciam de outros
sistemas de armazenamento.

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.

Evolução do volume de dados

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.

O que não é big data


O big data embute transformações em
processos de negócio, fontes de dados,
infraestrutura de tecnologia, capacitações
e mesmo mudanças organizacionais na
empresa e em TI, ou seja, representa um
conjunto de características de conceitos e
tecnologias não centralizado apenas no Fontes: PERRY, J. Steven. What is big data? More than
volume, velocity and variety… 2017. Disponível em: https://d
dado, mas em como a filosofia de eveloper.ibm.com/blogs/what-is-big-data-more-than-volume-vel
ocity-and-variety/.
armazenamento, melhor dizendo, não é uma Acesso em: 19 set. 2022 | Imagem: istockphoto.com/br.

única tecnologia, mas sim um ecossistema.

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?

Conjunto de tecnologias voltadas para o armazenamento.

Um bom sistema de big data não possui relação com o modelo de negócio.

Informações armazenadas em sistemas de big data levam em consideração


modelagem.

O armazenamento de informações é relevante, pois dados podemos armazenar


conhecimentos, dados sensíveis etc.

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

Big data e suas dimensões


Saímos de armazenamento em disquetes, CDs, blue-ray, HDs, SSD, nuvem e ao longo dos
anos, o custo de armazenamento vem diminuindo.
Algumas curiosidades regem os dados e suas dimensões como: 1.8 ZB é a quantidade de
dados gerados em 2011 em apenas dois dias; a imagem do buraco negro usou 5PB de
dados; o Facebook gera hoje um banco de dados de 750 milhões de imagens; escala de
grandeza: 1 Zetta = 103 Exa = 106 Peta = 109 Tera = 1.012 Giga = 1.015 Mega.
Xexéo descreve que o CERN produziu 15 petabytes por ano e que até o momento já se
somavam 100 petabytes. Esses 15 PB foram selecionados de dados gerados por segundo,
de modo a evitar danos desnecessários.
A CERN produziu 40 exabytes de dados brutos em 2018 em 161 dias de experimentos
físicos.

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.

1.5 x 10-4 exabytes.

4.8 x 108 megabytes.

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.

Aplicações de big data

Aplicações de big data


Atualmente, todos os setores são afetados pela utilização de bases de dados. Seja na
área acadêmica, ou no campo empresarial, a habilidade em gerir conhecimento
armazenado em bases de dados é relevante para a tomada de decisão.
Por exemplo, a Amazon analisa o perfil de compras dos consumidores e identifica
possíveis compras e sugere aos clientes, potencializando a venda.

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.

Aplicações de big data


O big data ajuda o governo a estruturar um governo inteligente, fornecendo serviços
mais rápidos, eficazes e confiáveis aos seus cidadãos, entendendo os hábitos, gostos,
personalidades e preferências de seu povo, o que pode ajudar a prever o que seu povo
quer e oferecer propaganda e programas apropriados que satisfaçam suas necessidades e
preocupações, além de atuar nas áreas de aplicação como: científica, saúde, dados de
astronomia, dados urbanos, tráfego, dados de mídias sociais e saúde.

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?

Problemas gerais da sociedade (transporte, política, saúde).

Dados governamentais.

Utilizado em ambientes de experimentação científica.

Análise de perfis de clientes.

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.

Três Vs de big data

Três Vs de big data


A literatura e a estrutura do big data são representadas pelo consenso e uso de 3 Vs que fundamentam as aplicações,
embasando esse cenário de imersão de dados.
São eles:

Pag. 8
Fonte: elaborado pelo autor.

Três Vs de big data – volume


Uma das principais características de big
data é a utilização de grandes volumes de
dados.
Barateamento do custo do armazenamento
facilita acesso ao recurso e a quantidade
massiva de dados, variação que passe da
casa dos gigabytes, indo de tera aos
zetabytes:
1 kilobyte = 1 byte.
Fonte: elaborado pelo autor.
1 megabyte = 1.024 kilobytes.
1 gigabyte = 1.024 megabytes.
1 terabyte = 1.024 gigabytes.
1 petabyte = 1.024 terabytes.
1 exabyte = 1.024 pebytes.

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.

Três Vs de big data – velocidade


Agir praticamente em tempo real sobre o
volume de dados, como:
• Streaming de dados.
• Controle automático de tráfego nas ruas.
• Sistemas de alerta que trabalham sobre
dados meteorológicos.
• Grandes eventos, catástrofes.
• Tomada de decisão rápida.

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?

Os 3 Vs de big data representam os conceitos de:

Velocidade, variedade e volubilidade.

Velocidade, veracidade e volume.

Volume, velocidade e variedade.

Variedade, veracidade, versatilidade.

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.

Outros Vs em big data e 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.

Vs em big data – veracidade


O quão apurados são os dados, se fazem
sentido e são autênticos.
Se os dados e informações são válidos e
possuem sentido dentro do seu contexto.
Dados que não possuem veracidade
atrapalham o processo de descoberta do
conhecimento, gerando decisões ruins. Fontes: TAURION, C. Big data. Rio de Janeiro: Brasport, 2013
| Imagem: istockphoto.com/br.

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?

Veracidade em sistemas de big data significa:

A quantidade que o dataset ocupa nos computadores e servidores.

O quanto os dados retornam em valor para a empresa.

O quão rápido os dados são consumidos pelos analistas.

O quão verdadeiros e fidedignos à realidade os dados persistidos são.

Estudamos e conhecemos os outros pilares, variáveis, que encontramos na literatura,


relacionados ao big data. São eles: valor, veracidade, visualização, variabilidade,
vulnerabilidade, volatilidade e validez.
A seguir, aprenderemos sobre as propriedades do sistema de big data.

Propriedades do big data

Propriedades de sistemas big data


Como vimos na videoaula, as propriedades de sistemas big data englobam a robustez e
tolerância a falhas a fim de manter-se acessível mesmo com perdas de máquinas. A
latência no tempo gasto para ler e atualizar os dados armazenados deve ser baixa. A
escalabilidade permite o aumento da estrutura física ao adicionar recursos ou
máquinas. A generalização permite vasta gama de aplicações, que consequentemente
geram variedade de dados. É extensível, pois usa as mesmas funcionalidades em

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.

Dificuldades e desafios em big data


Segundo Taurion (2013), por lidarem com informação, sistemas de big data possuem
características de um bem intangível, como:
• Custo relativamente alto para sua criação.
• Escalabilidade.
• Economias de escala em termos de produção.
• Pode ser usada por mais de uma pessoa a cada momento.
• Substituição imperfeita.
• Efeito de rede.
Chen (2014) lista alguns desafios na área de big data:
• Formalismo e padronização.
• Desenvolvimento de novas tecnologias, como tarefas de processamento, performance em
tempo real.
• Gerenciamento no sistema.
• Proveniência.
• Privacidade e Qualidade dos dados.
Fonte: MARZ, N.; WARREN, J. Big data principles and best practices of scalable realtime data systems. Manning
Publications, 2015.

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?

Quais das características abaixo não são relacionadas às dificuldades de


implementação de um sistema de big data?

Alto custo de implementação.

Dificuldade de gerenciamento.

Proveniência dos dados.

Baixa tolerância à falha.

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.

Big data e gestão de dados


6 | Etapas e estruturas de BDs e big
data
Prof. Autor Silas P. Lima Filho
Ao final deste módulo, você deverá ser capaz de:
• Entender o data workflow em sistemas de big data.
• Perceber a data warehouses.
• Coordenar o processo de ETL.
• Definir OLAP e OLTP.
• Analisar os conceitos de armazenamento em big data.
• Compreender o processamento em big data.

Pag. 16
Data workflow em sistemas de big data

Data workflow em sistemas de big data


Podemos resumir o workflow de um sistema big data em quatro etapas: coleta, processamento, análise e visualização.
Na literatura, alguns autores variam a quantidade de etapas, podendo acrescentar outras subetapas, como organização,
integração e ação.
É necessário conhecer o modelo de negócios, e que tipo de dado será consumido em suas atividades.

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.

Como se dá o processamento desses dados


espalhados?

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.

Fonte: MARQUESONE, R. Big data: técnicas e tecnologias para


extração de valor dos dados. Casa do Código, 2016.

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.

Fonte: MARQUESONE, R. Big data: técnicas e tecnologias para


extração de valor dos dados. Casa do Código, 2016.

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?

Quais das descrições abaixo faz referência à etapa de processamento do


workflow de big data?

Preparo dos dados, como normalização, remoção de nulos e validação.

Estágio onde são aplicados algoritmos e métodos de análise.

Etapa em que são preparados relatórios, gráficos para apresentar as análises


feitas.

Etapa em que são definidas as fontes de onde os dados serão obtidos e como
serão persistidos.

Nesta videoaula, pudemos resumir o workflow de um sistema big data em 4 etapas:


coleta, processamento, análise e visualização. A seguir, estudaremos sobre data
warehouses.

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“.

Tarefas atendidas por data warehouses


Dentre as tarefas atendidas por data warehouses destacam-se:
OLAP (Online Analytical Processing): análise de dados complexos de data warehouse.
DSS (Decision Support Systems): sistemas de informação que ajudam em tomadas de
decisão com dados de nível mais alto.
Data mining: tarefas de análise que podem ser acolhidas como tarefas de descoberta
de conhecimento em bancos de dados (KDD).

Características de data warehouses


Como definido, warehouses são sistemas similares aos bancos de dados tradicionais,
mas com a característica de apoiar a tomada de decisão.
Além dessa característica data warehouses possuem:
Modelo conceitual multidimensional.
Dimensionalidade genérica.
Dimensões e níveis de agregação ilimitados.
Operações irrestritas entre dimensões.
Tratamento dinâmico de matriz esparsa.
Arquitetura cliente-servidor.
Suporte a múltiplos usuários.
Acessibilidade.

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.

Fonte: elaborada pelo autor.

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?

Qual das características abaixo não corresponde a data warehouses?

Suporta multidimensionalidade de dados.

Os dados devem seguir um único modelo e esquema de dados, não permitindo a


flexibilidade.

Dados são manipulados pela demanda por análises.

Uma das finalidades de data warehouses é dar suporte à tomada de decisão.

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.

ELT: extract, load, and transform


Ele executa as mesmas funções que o ETL, mas em uma ordem diferente. Seu desempenho é
mais rápido e mais facilmente escalável. O ELT usa uma linguagem de consulta
estruturada (SQL) para transformar os dados. O ELT só funciona bem quando o sistema
de destino é poderoso o suficiente para transformar os dados com eficiência.

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?

Qual das afirmações abaixo está incorreta?

A etapa de extração do processo de ETL compreende a coleta de dados de


diferentes fontes.

A etapa de carga (load) representa a inserção dos dados já processados nos


data warehouses.

O processo de limpar e corrigir os dados a serem armazenados é ligado à etapa


de extração.

Para uma melhor performance, podemos trocar a etapa de transformação e carga.

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?

Qual o nome do modelo de dados multidimensional que caracteriza a utilização


em sistemas com suporte OLAP?

Data pentagon (pentágono de dados).

Pirâmide de dados.

Data cube (cubo de dados).

Data flow (fluxo de dados).

Nesta videoaula, aprendemos sobre o OLTP representado pelo processamento de transação


online de sistemas de BDs sobre aplicações operacionais ou de produção e OLAP,
representado por um processamento analítico on-line. Na videoaula seguinte,
estudaremos sobre os conceitos de armazenamento do big data.

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?

Qual das opções abaixo é um arquivo sistema distribuído?

Hadoop Distributed File System (HDFS).

Facebook Distributed File (FDF).

Alphabet File System (AFS).

Super Distributed Files (SDF).

Nesta videoaula, aprendemos sobre alguns conceitos que englobam o armazenamento e


distribuição de dados fisicamente: clusters, sistemas de arquivos distribuídos,
sharding e replicação. A seguir, estudaremos sobre o processamento em big data.

Processamento em big data

Processamento de dados paralelo


O processamento de dados paralelo envolve a execução simultânea de várias subtarefas
que coletivamente compõem uma tarefa maior, com o objetivo de reduzir o tempo de
execução dividindo uma única tarefa maior em várias tarefas menores que são
executadas simultaneamente.
Pode ser feito por diversas máquinas ou por diferentes processadores de uma mesma
máquina.
Fonte: BUHLER, P.; KHATTAK, W.; ERL, T. Big data fundamentals: concepts, drivers & techniques. Prentice Hall, 2016.

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.

Processamento em tempo real


São dados processados em memória à medida
que são capturados e antes de serem
persistidos no disco. O tempo de resposta
geralmente varia de um subsegundo a menos
de um minuto. É baseado no princípio SCV
(Speed, Consistency, Volume), onde um
sistema de processamento de dados
distribuído pode ser projetado para
suportar apenas dois dos três requisitos.
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?

A sentença que melhor descreve o processamento paralelo é:

Processamento feito em máquinas diferentes distribuídas pela rede.

Processamento que pode ser feito numa única máquina, mas por diferentes
núcleos.

Processamento realizado por um único processador.

Processamento dividido por máquinas distintas, geograficamente distantes e sem


conexão.

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.

Dados estruturados, semiestruturados e não estruturados

Armazenamento em big data


Dados podem ser classificados como: estruturados; semiestruturados e não estruturados.

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.

Dados não estruturados

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.

Nesta videoaula, aprendemos sobre a classificação de dados, que podem ser:


estruturados; semiestruturados e não estruturados. Na próxima videoaula, estudaremos
sobre os bancos de dados relacionais e suas estruturas.

Pag. 35
Bancos de dados relacionais

Estrutura de bancos de dados relacionais


Há distinção entre banco de dados (BD) e sistema gerenciador de banco de dados
(SGBD). Os autores podem distinguir dados, informação e conhecimento através da
persistência de dados, levando em conta que os dados são itens armazenados. As
informações são resultados de processamento dos dados, e o conhecimento é conceituado
como padrão, ou conjunto de padrões que usam dados e informações.

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?

Qual é o nome da linguagem de consulta usada em bancos de dados relacionais?

RQL (Request Query Language).

CQL (Consulta Query Language).

SQL (Structured Query Language).

NoSQL (Not only SQL).

Nesta videoaula, apresentamos o que é um modelo relacional, o que é um banco de dados


relacional e como isso evoluirá para o banco de dados não relacional. A seguir,
estudaremos sobre a linguagem descritiva SQL - Structured Query Language.

Structured Query Language

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?

A operação de junção numa consulta SQL é responsável por:

Reunir registros de tabelas que atendam o mesmo critério de seleção e que


possuem a mesma informação.

Remover tabelas que não atendam um determinado critério.

Parte da consulta que define o atributo que é chave primária.

Alterar algum atributo de uma tabela.

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.

Bancos de dados NoSQL


Bancos de dados NoSQL são um conjunto de conceitos e tecnologias relacionados a
desempenho, confiabilidade e agilidade que permitem processamento rápido e eficiente
de coleções de dados otimizados para uma maior flexibilidade de esquema, com a
necessidade de persistir grandes conjuntos de dados não estruturados, como volume,
velocidade e variabilidade.

Principais características do NoSQL


Das principais características do NoSQL demonstrados em videoaula, destacam-se o
armazenamento e recuperação de dados em vários formatos, as operações de recuperação
sem a necessidade de junções, a distribuição, com ou sem replicação, de bases de
dados como múltiplos processadores, memória compartilhada ou não linearmente
escaláveis, ou seja, acréscimo de processadores dos tipos de BDs NoSQL:

Pag. 40
documentos, orientado a coluna, grafos, chave-valor.

Banco de dados chave-valor


Velocidade ao buscar valor chave.
Modelo de dados agregado.
Consistência.
São exemplos: Redis, DynamoDB, Riak.
Dados de sessão web, carrinho de compras.
Não recomendado para casos onde se busca por valores de atributos.

Banco de dados orientado a colunas


São exemplos: Cassandra, HBase, SimpleDB, Hypertabl.
Similar aos modelos relacional e chave-valor.
Escalabilidade, flexibilidade, distribuição.
Agrupa atributos similares.
Tolera inconsistências, valores nulos.

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?

Documentos, orientado a coluna, grafos, relacional.

Documentos, relacional, distribuído.

Documentos, orientado a coluna, grafos, chave-valor.

Orientado a coluna, relacional, multimídia.

Nesta videoaula, aprendemos sobre os bancos de dados NoSQL e suas respectivas


características. A seguir, dando sequência, estudaremos sobre bancos de dados
orientados a documentos.

Bancos de dados orientados a documentos

Bancos de dados orientados a documentos


São representados por documentos que se assemelham ao conceito de dicionários, no
formato semiestruturado, já que os valores dos atributos podem não ser seguidos. Sua
estrutura dos dados se assemelha ao modelo chave-valor, por exemplo: MongoDB*,
CouchDB, OrientDB, RavenDB. Vale ressaltar que não são recomendados para casos de
consultas atômicas ou para casos com esquema de dados flexível.

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.

Características e aplicações de dados orientados a documentos


De acordo com a videoaula, são consideradas características dos dados orientados a
documentos a consistência, controle de transações, disponibilidade, consultas por
valores e escalonamento. Sua aplicação é baseada em log de eventos, gerenciamento de
conteúdo, plataformas de blog, web analytics, análise de tempo real e aplicações de
e-commerce.

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?

Qual das opções abaixo possui um arquivo json inválido?

["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday",


"Saturday"].

[{"name":"Ram", "email":"Ram@gmail.com"}, {"name":"Bob",


"email":"bob32@gmail.com"} ].

{"employees":[{"name":"Shyam", "email":"shyamjaiswal@gmail.com"},
{"name":"Bob", "email":"bob32@gmail.com"}, {"name":"Jai",
"email":"jai87@gmail.com"} ] }.

{"employees":[{"name":"Shyam", "email":}, {"phone":555-1245,


"email":"bob32@gmail.com"}, {"name":"Jai", "phone":555-2948}.

Os bancos de dados orientados a documentos se assemelham ao conceito de dicionários,


no formato semiestruturado, já que os valores dos atributos podem não ser seguidos. A
seguir, dando continuidade ao assunto, estudaremos sobre outro tipo de banco de
dados: grafos.

Bancos de dados orientados a grafos

Bancos de dados orientados a grafos


Os bancos de dados são baseados no relacionamento de entidades, representados por

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.

Aplicações de BDs grafos


Demonstrados em videoaulas, os dados conectados representam relacionamentos, como
redes sociais e redes de colaboração, já os serviços, baseados em localização, por
exemplo, cálculo de rotas e entrega.
Em sistemas de recomendação, sua aplicação é baseada em sistemas de comprar produtos
que amigos compraram.
Vale ressaltar que BDs grafos não são recomendado para BDs que utilizem atualizações
sobre grande volume de dados, por exemplo, custoso para BDs grafos.

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?

Bancos orientados a grafos são recomendados para dados que possuem


relacionamentos intrínsecos.

MongoDB é o banco de dados orientado a grafos mais famoso atualmente.

Bancos em dados em grafos possuem melhor performance quando se deseja alterar


grandes conjuntos de dados.

Bancos de dados orientados a grafos não são recomendados para aplicar


algoritmos de recomendação.

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?

Assinale a opção incorreta:

Hadoop é um framework que permite o processamento distribuído.

O formato de dados utilizado pelo Hadoop se chama GFS.

Hadoop pode ser caracterizado pelo seu baixo custo, escalabilidade e


tolerância a falhas.

A principal operação do Apache Hadoop se chama MapReduce.

Nesta videoaula, aprendemos sobre o Hadoop, suas características e escalabilidade. A


seguir, estudaremos sobre HDFS - Hadoop Distributed File System e suas
características.

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?

Os nomes dos dois elementos chave do HDFS são:

Centernode e Distantnode.

Datanode e ProcessingNode.

Namenode e Datanode.

Namenode e Surnode.

Aprendemos, nesta videoaula, sobre o HDFS, representados por um sistema de arquivos


distribuídos, com seus elementos: namenode e datanode. A seguir, aprenderemos sobre o
modelo de programação: MapReduce.

MapReduce

Visão geral do MapReduce


Modelo de programação paralela para análise em big data, que permite que grandes
volumes de dados sejam processados por meio da divisão de uma aplicação em tarefas
independentes, executadas em paralelo nos servidores do cluster. São divididos em
duas tarefas: map e reduce, com capacidade de executar em terabytes de dados de forma
independente e dividir para conquistar.

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?

Assinale a opção com a sentença verdadeira:

MapReduce é um algoritmo de processamento centralizado.

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.

O formato dos dados de entrada deve ser colunar ou relacional.

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

Apache Spark: visão geral


Permite consultas em tempo real, batch e interativas.
Suporta operações in-memory em clusters.
Possui suporte a ferramentas de análise:
• Spark Streaming.

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 Cluster Spark


Os componentes do Apache Spark baseiam-se no driver program, coordenado por um objeto
SparkContext que é responsável por gerenciar a criação e execução das tarefas; o
cluster manager que administra caso ocorra distribuição de tarefas; e o worker node,
que são máquinas que executarão as atividades enviadas pelo driver program.

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?

Assinale a afirmação que é incorreta.

Apache Spark não é um framework de processamento em batch.

Spark é um framework de processamento em tempo real.

O Apache Spark distribui os dados em conjuntos chamados RDDs.

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.

Arquitetura Apache Kafka


Sua arquitetura Apache Kafka é composta por:
Topico: categoria definida pelo usuário onde as mensagens serão publicadas.
Produtor: componente que publica as mensagens em um ou mais tópicos.
Consumidor: componente que é inscrito em um ou mais tópicos.
Broker: componente que gerencia os tópicos e manipula a persistência,
particionamento e replicação dos dados.

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?

Assinale a sentença incorreta.

Apache Kafka é um framework de mensageria em tempo real.

Um tópico é uma categoria definida pelo usuário para centralizar as mensagens


recebidas de uma fonte.

Produtor é quem produz a mensagem que será enviada para um determinado tópico.

Uma característica do Apache Kafka é a escalabilidade.

Por mais que o Apache Kafka seja escalável, ele não pode ser distribuído para
vários servidores.

Nesta videoaula, aprendemos sobre Apache Kafka – plataforma de software de código


fonte aberto para processamento de fluxo de mensagens. A seguir, na última videoaula,
estudaremos sobre a computação em nuvem.

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.

Migração para computação em nuvem


Justificativas comuns para incorporar um ambiente de nuvem em apoio a um big data,
como:
• Recursos internos de hardware inadequados.
• O investimento inicial de capital para aquisição do sistema não está disponível.
• O projeto deve ser isolado do resto do negócio para que os negócios existentes
processos não são afetados.
• A iniciativa big data é uma prova de conceito.
• Conjuntos de dados que precisam ser processados já são residentes na nuvem.
Os limites dos recursos de computação e armazenamento disponíveis usados por uma
solução interna de big data estão sendo atingidos.
A implementação de uma pilha de plataforma de big data na nuvem pode fornecer
flexibilidade, agilidade e inovação para a empresa. O papel da infraestrutura de TI
mudou de um centro de custos para um extremamente flexível e inovador.
São modelos de privacidade:

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?

O termo “SaaS” é descrito corretamente por:

Software as a service.

Support as a service.

Structure as a service.

Service as a structure.

Nesta última videoaula, aprendemos sobre a migração em computação em nuvem, seus


modelos de serviço e privacidade.
Foi um prazer acompanhar vocês ao longo desse curso!

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.

Você também pode gostar