Buscar

Aula 14 Tecnologia da Informação SEFAZ GO 2018

Prévia do material em texto

Livro Eletrônico
Aula 14
Tecnologia da Informação p/ SEFAZ-GO (Auditor Fiscal) Com
videoaulas - Pós-Edital
Celson Carlos Martins Junior, Diego Carvalho, Fábio Alves, Thiago Rodrigues
Cavalcanti, Victor Dalton
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 1 de 70 
AULA 14: Conceitos de Soluções Big Data. 
Sumário 
Big Data ............................................................................................................................................... 2 
1. Definições e conceito .................................................................................................. 2 
2. Falácias sobre Big Data .............................................................................................. 7 
3. Aplicações de Big Data ............................................................................................... 9 
4. Classificação de Big Data ................................................................................. 11 
4.1. Padrões atômicos e compostos de uma solução de Big Data .. 15 
4.2. NoSQL ......................................................................................................................... 23 
4.3. Conceitos ................................................................................................................... 23 
4.4. Modelos de dados ................................................................................................... 25 
4.4.1. Modelo de dados chave-valor ........................................................................ 26 
4.4.2. Modelo de dados de documento ................................................................... 27 
4.4.3. Modelo colunar .................................................................................................... 28 
4.4.4. Modelo de grafos ................................................................................................ 29 
4.4.5. Considerações finais sobre modelos ........................................................... 30 
4.5. Formas de distribuição ......................................................................................... 31 
4.6. Teorema CAP ............................................................................................................ 31 
4.7. ACID x BASE ............................................................................................................ 33 
4.8. MapReduce ................................................................................................................ 36 
5. Hadoop ........................................................................................................................... 37 
5.1. O ecossistema do Hadoop ................................................................................... 39 
5.1.1. Ingestão de dados ............................................................................................. 42 
5.1.2. Outros componentes do Hadoop .................................................................. 48 
Questões comentadas .............................................................................................................. 51 
Considerações finais ...................................................................................................................... 70 
Referência ......................................................................................................................................... 70 
 
Nesta aula nosso intuito é desenvolver um pouco seu conhecimento sobre 
bancos de dados não relacionais ou NoSQL (Not only SQL). Esse conceito surgiu 
pela necessidade de utilização de Big Data. Ou, visto de uma forma mais intuitiva, 
da necessidade de tratar um grande volume de dados das mais variadas formas, 
gerados em uma velocidade cada vez mais acelerada. 
Podemos falar sobre espaço de armazenamento, algo semelhante ao que 
dizemos a respeito de dinheiro, você tende a utilizar todo o espaço de 
armazenamento disponível. Considerando que o custo de armazenamento fica 
cada vez menor, principalmente com o surgimento de Cloud Computing, é possível 
focar nossa atenção na organização destas bases e no processamento dos 
dados. 
Para isso, utilizamos respectivamente bases de dados NoSQL e a 
infraestrutura de processamento e armazenamento distribuído como o Hadoop. 
Vem comigo conhecer um pouco deste universo paralelo de banco de dados! - 
 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 2 de 70 
%LJ�'DWD 
1. Definições e conceito 
A humanidade, nos dias de hoje, produz uma quantidade diária de dados 
que é simplesmente improcessável pelos próprios seres humanos. 
Para se ter uma ideia, a IBM, em 2013, estimou que 2,5 exabytes 
(2.500.000.000.000.000.000) de bytes de dados são criados por dia. Se cada um 
dos 7 bilhões de habitantes tivesse que se debruçar sobre essas informações, 
seriam aproximadamente 300MB de dados diários para cada cidadão, incluindo 
bebês e idosos, rs. 
São vídeos no youtube, postagens em redes sociais, blogs, portais de 
notícias, emails, dentre outros. E o que esses dados possuem em comum? São 
dados não-estruturados. Estima-se que 85% das informações com as quais as 
empresas lidam hoje não estão estruturadas. Desta forma, o SGBD tradicional e 
a modelagem relacional (datados da década de 60) não são mais suficientes para 
lidar com a realidade atual. É necessária uma nova abordagem. 
Big Data pode ser entendido como a captura, gerenciamento e análise 
de dados que vão além de dados estruturados típicos, que podem ser 
consultados por sistemas de gerenciamento de banco de dados relacional ² 
frequentemente em arquivos não estruturados, vídeo digital, imagens, dados de 
sensores, arquivos de log e, na verdade, qualquer dado não contido nos registros 
com campos pesquisáveis distintos. 
Em um certo sentido, os dados não estruturados são dados interessantes, 
mas difíceis de sintetizar ou tirar conclusões deles, a menos que possam ser 
correlacionados a dados estruturados. 
Em um primeiro momento, o Big Data pode até ser confundido com a 
Business Intelligence, mas difere na ordem de grandeza do volume de dados 
(que é muito maior), e na natureza dos dados. Enquanto as ferramentas de BI 
tradicionais extraem dados de fontes estrXWXUDGDV�� ³DEULQGR� H[FHo}HV� SDUD� D�
FDSWXUD� GH� GDGRV� QmR� HVWUXWXUDGRV´�� R� %LJ� 'DWD� HQWHQGH� TXH� RV� GDGRV� QmR-
HVWUXWXUDGRV�VmR�D�³PDLRULD´��SRU�DVVLP�GL]HU� 
Nossa ideia é começar o assunto apresentando, de forma sucinta, os 
conceitos básicos que permeiam o termo Big Data. Vamos começar pela definição 
que surgiu em 2001 no Meta Group (que viria a se juntar com a Gartner1 mais 
adiante) por meio do analista Doug Laney. Para compor o conceito ele se utilizou 
 
1 Gartner é uma empresa de consultoria fundada em 1979 por Gideon Gartner. A Gartner desenvolve tecnologias 
relacionadas a introspecção necessária para seus clientes tomarem suas decisões todos os dias. 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 3 de 70 
de três termos, conhecidos como os 3Vs: Volume, Velocidade e Variedade. 
Vejamos a definição de cada um deles. 
ƒ Volume. Existem muitos fatores que contribuem para o aumento do 
volume de dados armazenados e trafegados. Podemos citar como exemplo: 
dados de transações armazenados ao longo de vários anos, dados de texto, 
áudio ou vídeo disponíveis em streaming nas mídias sociais e a crescente 
quantidade de dados coletados por sensores.No passado o volume de 
dados excessivo criou um problema de armazenamento. Mas, com os atuais 
custos de armazenamento decrescentes, outras questões surgem, 
incluindo, como determinar a relevância entre grandes volumes de 
dados e como criar valor a partir dessa relevância. 
ƒ Velocidade. De acordo com o Laney, velocidade significa o quão rápido 
os dados estão sendo produzidos e o quão rápido os dados devem ser 
tratados para atender as demandas. Etiquetas de RFID e sensores 
inteligentes estão impulsionando uma necessidade crescente de lidar com 
dados quase em tempo real. Reagir rápido o suficiente para lidar com a 
velocidade é um desafio para a maioria das organizações. 
ƒ Variedade. Os dados de hoje vêm em todos os tipos de formatos. Sejam 
bancos de dados tradicionais, hierarquias de dados criadas por usuários 
finais e sistemas OLAP, arquivos de texto, e-mail, medidores ou sensores 
de coleta de dados, vídeo, áudio, dados de ações do mercado e transações 
financeiras. Em algumas estimativas, 80% dos dados de uma organização 
não são numéricos! Mas, estes dados também precisam ser incluídos nas 
análises e nas tomadas de decisões das empresas. 
 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 4 de 70 
Vejam a figura apresentada acima. Ela representa uma indicação do conceito 
de Big Data relacionando os três Vs sobre os quais tratamos até agora. Contudo, 
existem outros Vs, são eles Veracidade, Visibilidade, Valor e Variabilidade 
que complementam o conceito, detalhando um pouco mais algumas 
características de Big Data. 
ƒ Veracidade. A veracidade foi um termo cunhado pela IBM, considerado o 
quarto V, que representa a falta de confiabilidade inerente em algumas 
fontes de dados. Por exemplo, medir os sentimentos dos clientes em mídias 
sociais é incerto por natureza, já que implicam uso do juízo humano. No 
entanto, eles contêm valiosas informações. Assim, a necessidade de lidar 
com dados imprecisos e incertos é outra faceta de Big Data, geralmente 
resolvida usando ferramentas e análises desenvolvidas para gerenciamento 
e mineração de dados imprecisos. 
É necessário avaliar as inconsistências, incompletudes, ambiguidades, 
latência e possíveis modelos de aproximação utilizados. Os dados podem 
ainda perder a vigência. Verificar se os dados são consistentes é 
extremamente necessário para qualquer análise de dados. 
ƒ Visibilidade. É a relevância dos dados. A organização está ciente de todos 
os dados que ele gera? Estes poderiam ser (aparentemente) registros de 
dados inconsequentes. Em outras palavras tentamos entender se todos os 
dados gerados estão disponíveis, e se são de fato armazenados e ficam 
visíveis para os analistas de dados. 
ƒ Valor. A Oracle introduziu valor como um atributo na definição de Big Data. 
Com base na definição da Oracle, Big Data é, muitas vezes, caracterizado 
por uma "densidade de valor relativamente baixa". Isto é, os dados 
recebidos na forma original, geralmente tem um valor baixo em relação ao 
seu volume. Entretanto, um valor elevado pode ser obtido pela análise de 
grandes volumes destes mesmos dados. Assim, as informações geradas 
devem produzir algum valor para as organizações. 
ƒ Variabilidade (e complexidade). A SAS apresentou variabilidade (e 
complexidade) como duas dimensões adicionais para Big Data. 
Variabilidade refere-se à variação nas taxas de fluxo de dados. Muitas 
vezes, a velocidade de Big Data não é consistente e tem picos e depressões 
periódicas. Complexidade refere-se ao fato de Big Data gerar ou receber 
informações através de uma multiplicidade de fontes. Isso impõe um 
desafio crucial: a necessidade de se conectar, integrar, limpar e transformar 
os dados recebidos de diferentes fontes. 
Podemos agora apresentar uma definição de Big Data da IBM. É um termo 
utilizado para descrever grandes volumes de dados e que ganha cada vez 
mais relevância à medida que a sociedade se depara com um aumento sem 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 5 de 70 
precedentes no número de informações geradas. As dificuldades em 
armazenar, analisar e utilizar grandes conjuntos de dados têm sido um 
considerável gargalo para as organizações. Antes de apresentar a definição da 
IBM vamos fazer mais uma questão recente sobre esses conceitos: 
 
1. Ano: 2017 Banca: CESPE Órgão: TCE-PE Cargo: Auditor de Obras 
Públicas Questão: 120 
Com relação a Big Data, julgue o item subsequente. 
[120] Além de estar relacionado à grande quantidade de informações a serem 
analisadas, o Big Data considera o volume, velocidade e a variedade dos dados 
estruturados ± dos quais se conhece a estrutura de armazenamento ± bem como 
dos não estruturado, como imagens, vídeos, áudios e documentos. 
Comentário: Big Data é o termo que descreve o imenso volume de dados ± 
estruturados e não estruturados ± que impactam os negócios no dia a dia. A 
definição da questão está perfeitamente de acordo com o conceito, citando 
inclusive os 3Vs da definição inicial de Doug Laney. Sendo assim, a resposta para 
esta alternativa está correta. 
Gabarito: C 
A IBM cita atualmente 7 dimensões sobre os dados. Neste contexto incluímos 
mais duas percepções que não foram listadas acima: governança e pessoas. 
Vejamos suas definições: 
Governança - Ao decidir implementar ou não uma plataforma de big data, 
uma organização pode estar olhando novas fontes e novos tipos de elementos de 
dados nos quais a propriedade não está definida de forma clara. Por exemplo, no 
caso de assistência médica, é legal acessar dados de paciente para obter insight? 
É correto mapear as despesas do cartão de crédito do cliente para sugerir novas 
compras? Regras semelhantes regem todos os segmentos de mercado. Além da 
questão da governança de TI, também pode ser necessário redefinir ou modificar 
os processos de negócios de uma organização para que ela possa adquirir, 
armazenar e acessar dados externos. 
Pessoas ± É necessário ter pessoas com aptidões específicas para entender, 
analisar os requisitos e manter uma solução de Big Data. Envolve conhecimento 
do segmento de mercado, domínio técnico sobre as ferramentas de Big Data e 
conhecimentos específicos de modelagem, estatística e outros. 
Essas duas dimensões, na percepção da IBM, juntamente com volume, 
variedade, velocidade, veracidade e valor dão viabilidade a um projeto de Big 
Data, podemos observar de forma organizada esses termos na figura abaixo. 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 6 de 70 
 
Big data trata, portanto, grandes volumes, alta velocidade e variedade dos 
ativos de informação, procurando formas inovadoras e rentáveis de 
processamento da informação, visando uma melhor percepção dos fatos e uma 
tomada de decisão mais consistente. Outra definição da TechAmerica define big 
data da seguinte forma: "Big Data é um termo que descreve grandes volumes de 
dados de alta velocidade, complexos e variáveis que exigem técnicas e tecnologias 
avançadas para permitir a captura, armazenamento, distribuição, gestão e análise 
GD�LQIRUPDomR´�� 
Antes de serguirmos em frente veja no infográfico do Jornal O Globo algumas 
soluções corporativas que envolvem Big Data: 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 7 de 70 
 
Big Data pelo mundo. Fonte: Jornal O Globo. 
Entendido os conceitos básicos vamos avançar para as premissase 
aplicações. 
2. Falácias sobre Big Data 
Quando pensamos em premissas sobre Big Data imaginamos uma caixa preta 
que vai receber dados de um lado e entregar algo pronto do outro. Nesta linha de 
raciocínio, provavelmente falaciosa, antes de apresentamos as condições ideias 
para funcionamento dos sistemas ou projetos de Big Data, nós mostraremos os 
erros que muitos assumem como verdade. Chamaremos de falácias sobre Big 
Data. 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 8 de 70 
Falácia 01 - Big Data não pode prever o futuro 
Big data e todas as suas ferramentas de análise, comentários, experiências 
científicas e visualizações não podem dizer o que vai acontecer no futuro. Por quê? 
Os dados que você coletar vem inteiramente do passado. Temos ainda de atingir 
um grau de evolução em que será possível coletar dados e os valores do futuro. 
Sendo assim, nós podemos analisar o que aconteceu no passado e tentar 
desenhar as tendências entre as ações e os pontos de decisão, e as suas 
consequências, baseadas nos dados. Podemos usar isso para adivinhar que, em 
circunstâncias semelhantes, se uma decisão semelhante for tomada, 
resultados semelhantes ocorreriam como resultado. Mas não podemos prever o 
futuro. 
Falácia 02 - Big Data não pode substituir seus valores ou os da sua 
organização 
Big Data é pobre para substituir valores ou aqueles costumes e padrões pelos 
quais você vive sua vida e sua empresa se esforça para operar. Suas escolhas 
sobre essas questões podem ser bem cristalinas, e pode ser mais fácil e claro 
resolver as vantagens e desvantagens de diferentes cursos da ação, mas os dados 
em si não podem ajudá-lo a interpretar como as decisões certas se comparam 
com os padrões que você definiu para si e para a sua empresa. 
Os dados podem descrever todos os tipos de cenários, tanto os próprios 
números quanto com a ajuda de software de visualização. Sua equipe pode criar 
muitas projeções de cenários sobre um determinado assunto, mas esses 
resultados são simplesmente isso - uma projeção. O trabalho de um executivo, 
como um CIO, é utilizar as ferramentas e pessoal disponível dentro de seu 
negócio, e realmente reconciliar os dados contra os valores da sua empresa. 
Falácia 03 - Big Data não pode resolver problemas não quantificáveis 
Eis o velho ditado: Quando você só tem um martelo, tudo parece um prego. 
Uma vez que você começa a ter algum sucesso usando big data para prever e 
resolver problemas de negócios, haverá inevitavelmente uma tentação para 
"perguntar aos dados" toda vez que você tiver um problema ou um item sobre o 
qual a resolução não está clara. 
Como mencionado anteriormente, os dados podem apresentar mais e 
melhores opções e, talvez, deixar claro o que pode acontecer com cada uma 
dessas escolhas. Às vezes, porém, os dados não são bons e isso ocorre quando 
ele é usado de forma individual. 
Por quê? É quase impossível de quantificar o comportamento de um 
indivíduo. As pessoas têm seus próprios conjuntos de circunstâncias, os seus 
próprios universos, suas próprias razões e contextos. É impossível aplicar a 
matemática para um único indivíduo. Em vez disso, você tem que olhar para um 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 9 de 70 
grupo de indivíduos, de preferência um subgrupo com características 
semelhantes. Só então você pode observar as tendências de comportamento que 
se aplicam a todo o grupo. 
Agora que sabemos o que não pode ser feito com Big Data, vamos entender 
quais as premissas que devem ser verificadas quando decidimos pela 
implementação de um projeto de Big Data. Primeiro precisamos considerar os 
elementos fundamentais para o crescimento de Big Data tais como o aumento da 
capacidade de armazenamento, aumento do poder de processamento e 
disponibilidade de dados. 
3. Aplicações de Big Data 
As aplicações de Big Data e análise de dados são as mais variadas. Uma lista 
retirada do livro do Aguinaldo Aragon nos traz as seguintes opções de uso: 
desenvolvimento de mercado, inovação, desenvolvimento de produtos e serviço, 
eficiência operacional, previsões de demanda de mercado, detecção de fraudes, 
gerenciamento de riscos, previsão de concorrência, vendas, campanhas de 
marketing, avaliação de desempenho de funcionários, alocação de orçamento 
anual, estabelecimento de previsões financeiras, gestão de planos de saúde, 
identificação de potenciais compradores e entendimento da base de cliente. Essa 
lista extensa nos mostra apenas parte das oportunidades geradas pela utilização 
de Big Data. 
O uso de Big Data por empresas como Amazon e Netflix tem demostrado 
como a mineração de dados pode gerar resultados surpreendentes. A partir destes 
dados, é possível conhecer melhor as escolhas dos usuários. Implementações dos 
conceitos de Big Data permitem, hoje, possibilidades quase infinitas, utilizando, 
por exemplo, mineração de dados conseguimos verdadeiros insights sobre os 
dados. 
Um exemplo disso foi a pesquisa feita pela Consultoria MGI. Ela estudou 
dados em cinco grandes domínios - saúde nos Estados Unidos, o setor público na 
Europa, varejo nos Estados Unidos, dados de produção e dados de localização de 
pessoas em nível mundial. Big Data poderia gerar valor em cada um deles. Por 
exemplo, um varejista pode utilizar do conceito para aumentar sua margem 
operacional em mais de 60%. 
O aproveitamento de Big Data no setor público tem um potencial 
enorme também. Se o programa de saúde dos Estados Unidos fosse usar big data 
de forma criativa e eficaz poderia impulsionar a eficiência e qualidade, o setor 
poderia criar mais de US$ 300 bilhões em valor a cada ano. Dois terços dos quais 
seriam sob a forma de redução nas despesas de saúde dos EUA em cerca de 8 
por cento. Nas economias desenvolvidas da Europa, os administradores do 
JRYHUQR�SRGHULDP�HFRQRPL]DU�PDLV�GH�¼�����ELOK}HV�HP�PHOKRULDV�GH�HILFLrQFLD�
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 10 de 70 
operacional usando big data, não incluindo o uso para reduzir a fraude e erros ou 
aumentar a cobrança das receitas fiscais. 
A quantidade de dados em nosso mundo está explodindo, e a análise de 
grandes conjuntos de dados - os chamados big data - se tornará uma base 
essencial na concorrência pelo mercado ou na prestação de um serviço público de 
qualidade, apoiando novas ondas de crescimento na produtividade, inovação e 
expectativa dos consumidores. Líderes em todos os setores terão de lidar com as 
implicações de Big Data, não apenas os gestores orientados a dados, ou cientistas 
de dados. 
O crescente volume e detalhamento das informações capturadas por 
empresas, o aumento de dados multimídia, mídia social, e a Internet das Coisas 
vão alimentar o crescimento exponencial dos dados no futuro. 
A minha experiência pessoal no estudo de Big Data é que quando começamos 
a ler sobre o assunto esses conceitos teóricos vistos até aqui são apresentados de 
forma semelhante em vários artigos disponíveis na internet e em livros 
especializados, mas aí você deve estar fazendo a seguinte pergunta: E como eu 
implemento esse trem? (Homenagem aos meus amigos mineiros). E alguém vai 
te responder: usa uma base NoSQL com a infraestrutura do Hadoop! É sobre 
esses termos que falaremos agora, antes vamos fazer uma questão do CESPE. 
 
 
2. Ano: 2017 Banca: CESPE Órgão: TCE-PE Cargo: Analista De 
Controle Externo Área: Auditoria De Contas Públicas Questão: 
120 
No que se refere a Big Data, julgue o item subsecutivo.120 O termo Big Data Analytics refere-se aos poderosos softwares que tratam 
dados estruturados e não estruturados para transformá-los em informações úteis 
às organizações, permitindo-lhes analisar dados, como registros de call center, 
postagens de redes sociais, de blogs, dados de CRM e demonstrativos de 
resultados. 
Comentário: Vejamos umD� GHILQLomR� IRUPD� GH� %LJ� 'DWD� $QDO\WLFV�� ³���� é o 
trabalho analítico e inteligente de grandes volumes de dados, estruturados ou 
não-estruturados, que são coletados, armazenados e interpretados por softwares 
de altíssimo desempenho. Trata-se do cruzamento de uma infinidade de dados do 
DPELHQWH� LQWHUQR� H� H[WHUQR�� JHUDQGR� XPD� HVSpFLH� GH� ³E~VVROD� JHUHQFLDO´� SDUD�
tomadores de decisão.´� 
Vejam que a definição está plenamente de acordo com o texto da questão, nos 
habilitando a confirmar como correta a alternativa. 
Gabarito: C 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 11 de 70 
4. Classificação de Big Data 
É possível categorizar problemas de negócios em tipos de problemas de big 
data. Quando problemas de big data são categorizados por tipo, é mais fácil ver 
as características de cada tipo de dados. Essas características ajudam a entender 
como os dados são obtidos, como são processados para o formato apropriado e 
com que frequência novos dados estão disponíveis. 
Dados de diferentes fontes possuem características diferentes; por exemplo, 
dados de mídia social podem ter vídeos, imagens e texto não estruturado, como 
postagens de blog, entrando continuamente. 
Quer conferir alguns exemplos? A tabela a seguir contém problemas comuns 
de negócios e atribui um tipo de big data a cada um. 
 
Problemas de negócios Tipo de big data Descrição 
Serviços públicos: 
Prever o consumo de 
energia 
Dados gerados por 
máquina 
Concessionárias de serviços públicos 
implementaram medidores 
inteligentes para medir o consumo 
de água, gás e eletricidade a 
intervalos regulares de uma hora ou 
menos. Esses medidores 
inteligentes geram enormes 
volumes de dados de intervalo que 
precisam ser analisados. 
Para ter eficiência operacional, a 
empresa precisa monitorar os dados 
entregues pelo sensor. Uma solução 
de big data pode analisar dados de 
geração de energia (fornecimento) e 
de consumo de energia (demanda) 
usando medidores inteligentes. 
Telecomunicações: 
Analítica de perda de 
clientes 
Dados da web e 
sociais 
 
Dados de transação 
(operacionais) 
Operadores de telecomunicações 
precisam criar modelos detalhados 
de perda de clientes que incluam 
dados de mídias sociais e de 
transação, para estar à frente da 
concorrência. 
Provedores que implementam uma 
estratégia de analítica preditiva 
podem gerenciar e prever a perda 
analisando os padrões de chamada 
dos assinantes. 
Varejo: Sistema de 
mensagens 
personalizado com 
base em 
Dados da web e 
sociais 
 
Varejistas podem usar tecnologia de 
reconhecimento facial combinada a 
uma foto da mídia social para fazer 
ofertas personalizadas a clientes 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 12 de 70 
reconhecimento facial 
e mídia social 
Biométrica com base no comportamento de 
compra e na localização. 
Esse recurso pode ter um impacto 
tremendo nos programas de 
fidelização dos varejistas, mas há 
sérias considerações sobre a 
privacidade. Os varejistas 
precisariam ser transparentes com 
relação à privacidade para 
implementar esses aplicativos. 
Problemas de negócios de big data por tipo. Fonte: 
http://www.ibm.com/developerworks/br/library/bd-archpatterns1/ 
A figura a seguir mostrará as várias categorias ou taxonimias que podemos 
usar para classificar Big Data, e as possíveis divisões ou grupos em cada categoria. 
As categorias mais relevantes estão em azul turquesa. 
Conceitos de Soluções Big Data. ʹ SEFAZ-GO - 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 14 
 
www.estrategiaconcursos.com.br 13 de 70 
 
Categorias de classificação de big data. Fonte: http://www.ibm.com/developerworks/br/library/bd-archpatterns1/ 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 14 de 70 
 
Falando um pouco mais sobre as classificações: 
Tipo de análise ² Se os dados são analisados em tempo real ou agrupados 
para análise posterior. Essa escolha afeta várias outras decisões sobre produtos, 
ferramentas, hardware, fontes de dados e a frequência estimada dos dados. Para 
alguns casos de uso é necessária uma mistura dos dois tipos. 
Metodologia de processamento ² O tipo de técnica a ser aplicada para 
processar dados (por exemplo, preditiva, analítica, consulta ad hoc e relatórios). 
As necessidades de negócios determinam a metodologia de processamento 
apropriada. É possível usar uma combinação de técnicas. A escolha de 
metodologia de processamento ajuda a identificar as ferramentas e técnicas 
apropriadas para uso na solução de big data. 
Frequência e tamanho dos dados ² O volume estimado de dados e a 
frequência com que chegam. Saber a frequência e o tamanho ajuda a determinar 
o mecanismo de armazenamento, formato de armazenamento e as ferramentas 
necessárias de pré-processamento. Frequência e tamanho de dados dependem 
das fontes. 
x Sob demanda, como dados de mídia social 
x Feed contínuo, em tempo real (dados de clima ou transacionais) 
x Série temporal (dados com base em tempo) 
Tipo de dados ² Tipo dos dados a serem processados ² transacionais, 
históricos, principais e outros. Saber o tipo de dados ajuda a segregar os dados 
no armazenamento. 
Formato de conteúdo ² Formato dos dados recebidos ² estruturados 
(RDMBS, por exemplo), não estruturados (áudio, vídeo e imagens, por exemplo) 
ou semiestruturados. O formato determina como os dados recebidos precisam ser 
processados e é essencial para escolher ferramentas e técnicas e definir uma 
solução de uma perspectiva de negócios. 
Fonte de dados² Fontes de dados (onde os dados são gerados) ² web e 
mídia social, gerados por máquina, gerados por humanos, etc. Identificar todas 
as fontes de dados ajuda a determinar o escopo de uma perspectiva de negócios. 
Consumidores de dados ² Uma lista de todos os possíveis consumidores 
dos dados processados: 
x Processos de negócios 
x Usuários corporativos 
x Aplicativos corporativos 
x Pessoas individuais em várias funções de negócios 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 15 de 70 
 
x Parte dos fluxos do processo 
x Outros repositórios de dados ou aplicativos corporativos 
Hardware ² O tipo de hardware no qual a solução de big data será 
implementada ² hardware barato ou de ponta. Entender as limitações do 
hardware ajuda na escolha da solução big data. 
4.1. Padrões atômicos e compostos de uma 
solução de Big Data 
Os padrões auxiliam a definir os parâmetros, quando da adoção de uma 
solução de big data. Veremos dois tipos principais: os padrões atômicos 
descrevem as abordagens típicas para o consumo, processamento, acesso e 
armazenamento de big data; os padrões compostos, que são formados por 
padrões atômicos, são classificados de acordo com o escopo da solução de big 
data. 
Por apresentarem as ideias mais relevantes acerca do Big Data, 
exploraremos ospadrões atômicos. 
PADRÕES ATÔMICOS 
Os padrões atômicos ajudam a identificar a forma que os dados são 
consumidos, processados, armazenados e acessados por problemas de big data. 
Eles também podem ajudar a identificar os componentes necessários. 
Cada padrão lida com requisitos específicos ² visualização, análise de dados 
históricos, dados de mídia social e armazenamento de dados não estruturados, 
por exemplo. Os padrões atômicos podem trabalhar em conjunto para criar um 
padrão composto. Não há camadas ou sequência para esses padrões atômicos. 
Por exemplo, os padrões de visualização podem interagir com os padrões de 
acesso a dados para mídia social diretamente e os padrões de visualização podem 
interagir com o padrão de processamento de análise avançada. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 16 de 70 
 
 
Padrões atômicos de Big Data. Fonte: http://www.ibm.com/developerworks/br/library/bd-
archpatterns4/ 
Vejamos um pouco de cada padrão atômico: 
PADRÕES DE CONSUMO 
Lidam com as várias formas em que o resultado da análise de dados é 
consumido. Inclui padrões de consumo de dados para atender a diversos 
requisitos. Vejamos os principais padrões de consumo a seguir: 
Visualização 
A forma tradicional de visualizar dados se baseia em gráficos, painéis e 
relatórios de resumo. Essas abordagens tradicionais não são sempre a melhor 
maneira de visualizar os dados. 
Os requisitos típicos para visualização de big data, incluindo os requisitos 
emergentes, são listados abaixo: 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 17 de 70 
 
x Realizar análise em tempo real e exibição de dados de fluxo 
x Extrair dados de forma interativa, com base no contexto 
x Executar procuras avançadas e obter recomendações 
x Visualizar informações paralelamente 
x Ter acesso a hardware avançado para necessidades de visualização 
futuristas 
A pesquisa para determinar como os insights de big data podem ser 
consumidos por humanos e máquinas está em andamento. Os desafios incluem o 
volume de dados envolvido e a necessidade de associar contexto a eles. O insight 
dever apresentado no contexto adequado. 
Descoberta ad hoc 
Criar de relatórios padrão que sejam adequados para todas as necessidades 
de negócios, via de regra, não é viável, pois as empresas têm requisitos de 
consultas de dados de negócios diversas. Os usuários precisam da capacidade de 
enviar consultas ad hoc, RX�VHMD�� FRQVXOWDV� FULDGDV� ³QD�KRUD´��DR�SURFXUDU�SRU�
informações especificas, dependendo do problema. 
Aumentar os armazenamentos de dados tradicionais 
Aumentar os armazenamentos de dados existentes ajuda a ampliar o escopo 
de dados disponível para a analítica atual para incluir dados que residem dentro e 
fora dos limites organizacionais, como dados de mídia social, que podem melhorar 
os dados principais. Ao ampliar o escopo para incluir novas tabelas de fatos, 
dimensões e dados principais nos armazenamentos existentes e adquirir dados de 
clientes a partir de mídia social, uma organização pode obter um insight mais 
profundo do cliente. 
Notificação 
Os insights de big data permitem que as pessoas, negócios e máquinas ajam 
instantaneamente usando notificações para indicar eventos. A plataforma de 
notificação deve ser capaz de lidar com o volume antecipado de notificações a 
serem enviadas de maneira oportuna. Essas notificações são diferentes das malas 
diretas ou do envio em massa de mensagens SMS, pois o conteúdo geralmente é 
específico para o consumidor. Por exemplo, os mecanismos de recomendação 
podem fornecer insights sobre a enorme base de clientes em todo o mundo, e as 
notificações podem ser envidas para tais clientes. 
Iniciar uma resposta automatizada 
Os insights de negócios derivados do big data podem ser usados para acionar 
ou iniciar outros processos de negócios ou transações. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 18 de 70 
 
PADRÕES DE PROCESSAMENTO 
O big data pode ser processado quando os dados estão em repouso ou em 
movimento. Dependendo da complexidade da análise, os dados podem não ser 
processados em tempo real. Esse padrão lida com como o big data é processado 
em tempo real, quase em tempo real ou em lote (rotinas batch, processadas em 
horários pré-determinados). 
Vejamos um pouco mais sobre esses padrões a seguir: 
Análise de dados históricos 
A análise de dados históricos tradicional é limitada a um período predefinido 
de dados, que normalmente depende das políticas de retenção de dados. Após 
desse período, geralmente os dados são arquivados ou limpos em virtude de 
limitações de armazenamento e processamento. 
A análise histórica envolve analisar as tendências históricas para um 
determinado período, conjunto de períodos e produtos e compará-las aos dados 
atuais disponíveis. 
Analítica Avançada 
O big data fornece enormes oportunidades de obter insights criativos. É 
possível correlacionar diferentes conjuntos de dados em muitos contextos. A 
descoberta desses relacionamentos requer técnicas e algoritmos complexos 
inovadores. 
A análise avançada inclui previsões, decisões, processos inferenciais, 
simulações, identificações de informações contextuais e resoluções da entidade. 
Os aplicativos de analítica avançada incluem análise de dados biométricos, por 
exemplo, análise de DNA, análise espacial, analítica baseada em localização, 
análise científica, pesquisa e muitas outras. A analítica avançada requer a 
computação exigente para gerenciar a enorme quantidade de dados. 
Pré-processar dados brutos 
A extração de dados a partir de dados não estruturados, como imagens, 
áudio, vídeo, feeds binários ou até mesmo texto, é uma tarefa complexa e precisa 
de técnicas como aprendizado de máquina e processamento de idioma natural, 
etc. O outro grande desafio é como verificar a precisão e a exatidão do resultado 
de tais técnicas e algoritmos. 
Para executar a análise em quaisquer dados, eles devem estar em 
algum tipo de formato estruturado. Os dados não estruturados acessados de 
várias fontes podem ser armazenados como estão e, em seguida, transformados 
em dados estruturados e novamente armazenados nos sistemas de 
armazenamento de big data. O texto não estruturado pode ser convertido em 
dados estruturados ou semiestruturados. Da mesma forma, os dados de imagem, 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 19 de 70 
 
áudio e vídeo precisam ser convertidos nos formatos que podem ser usados para 
análise. Além disso, a precisão e exatidão da analítica avançada que usa 
algoritmos preditivos e estatísticos dependem da quantidade de dados e 
algoritmos usados para treinar os modelos. 
 
3. Ano: 2014 Banca: CESPE Órgão: TJ/SE Cargo: Analista Judiciário 
Em soluções Big Data, a análise dos dados comumente precisa ser 
precedida de uma transformação de dados não estruturados em dados 
estruturados. 
Comentário: Para que um dado possa ser analisado, é preciso que ele 
esteja em algum tipo de formato estruturado, envolvendo metadados, 
relacionado a algum outro dado ou informação. 
Gabarito: C. 
Análise ad hoc 
O processamento de consultas ad hoc no bigdata traz desafios diferentes 
daqueles incorridos ao realizar consultas ad hoc em dados estruturados pelo fato 
de as fontes e formatos dos dados não serem fixos e exigirem mecanismos 
diferentes para recuperá-los e processá-los. 
Embora as consultas ad hoc simples possam ser resolvidas pelos provedores 
de big data, na maioria dos casos, elas são complexas porque os dados, 
algoritmos, formatos e resoluções da entidade devem ser descobertos 
dinamicamente. O conhecimento dos cientistas de dados e dos usuários 
corporativos é necessário para definir a análise exigida para as seguintes tarefas: 
x Identificar e descobrir os cálculos e algoritmos 
x Identificar e descobrir as fontes de dados 
x Definir os formatos necessários que podem ser consumidos pelos cálculos 
x Executar os cálculos nos dados paralelamente 
 
4. Ano: 2014 Banca: CESPE Órgão: TJ/SE Cargo: Analista Judiciário ± 
O processamento de consultas ad hoc em Big Data, devido às características de 
armazenamento dos dados, utiliza técnicas semelhantes àquelas empregadas em 
consultas do mesmo tipo em bancos de dados tradicionais. 
d
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 20 de 70 
 
Comentário: O processamento de consultas ad hoc no big data traz desafios 
diferentes daqueles incorridos ao realizar consultas ad hoc em dados estruturados 
pelo fato de as fontes e formatos dos dados não serem fixos e exigirem 
mecanismos diferentes para recuperá-los e processá-los. Em Big Data, tais 
consultas serão bem mais complexas e dinâmicas. 
Gabarito: E. 
PADRÕES DE ACESSO 
Existem muitas fontes de dados e formas em que os dados podem ser 
acessados em uma solução de big data, vejamos as mais comuns: 
Web e mídias sociais 
A Internet é a fonte de dados que fornece muitos dos insights produzidos 
atualmente. A web e a mídia social são úteis em praticamente todas as análises, 
mas são necessários mecanismos de acesso diferentes para obter esses dados. 
A web e a mídia social são a fonte de dados mais complexa de todas em 
virtude de sua enorme variedade, velocidade e volume. Há aproximadamente de 
40 a 50 categorias de websites e cada uma exigirá um tratamento diferente para 
acessar esses dados. 
(gerados por) Dispositivos 
O conteúdo gerado por dispositivos inclui dados de sensores. Os dados são 
detectados a partir das origens de dados, como informações sobre o clima, 
medições elétricas e dados sobre poluição, e capturados pelos sensores. Os dados 
podem ser fotos, vídeos, texto e outros formatos binários. 
Dados transacionais, operacionais e de Warehouse 
É possível armazenar os dados operacionais e transacionais em warehouse 
existentes para evitar a limpeza ou o arquivamento deles (em virtude de 
limitações de armazenamento e processamento) ou para reduzir a carga no 
armazenamento tradicional quando os dados são acessados por outros 
consumidores. 
Os dados transacionais podem ser inseridos no armazenamento de 
warehouse usando conectores padrão disponibilizados por diversos fornecedores 
de banco de dados. O pré-processamento de dados transacionais é muito mais 
fácil, pois a maior parte deles é estruturada. Os processos de extração, 
transformação e carregamento simples podem ser usados para mover os dados 
transacionais para o armazenamento em um data warehouse. 
PADRÕES DE ARMAZENAMENTO 
Os padrões de armazenamento auxiliam a determinar o armazenamento 
adequado para diversos formatos e tipos de dados. Os dados podem ser 
2
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 21 de 70 
 
armazenados como estão, com relação a pares de valores de chave ou em 
formatos predefinidos. Vejamos os principais padrões: 
Dados não estruturados e distribuídos 
A maior parte do big data não é estruturada, já sabemos, e pode conter 
informações que podem ser extraídas de diferentes formas para diferentes 
contextos. Na maioria das vezes, os dados não estruturados devem ser 
armazenados como estão, em seu formato original. 
Tais dados podem ser armazenados em sistemas de arquivos distribuídos, 
como HDFS (Hadoop Distributed File System), e em armazenamento de 
documentos NoSQL (Not Only SQL), como o MongoDB. Esses sistemas 
fornecem uma maneira eficiente de recuperar dados não estruturados. 
Dados estruturados e distribuídos 
Os dados estruturados incluem aqueles que chegam da fonte de dados e já 
estão em um formato estruturado e os dados não estruturados que foram pré-
processados. Esses dados convertidos devem ser armazenados para evitar a 
frequente conversão de dados brutos para dados estruturados. 
Tecnologias como BigTable do Google são usadas para armazenar dados 
estruturados. O BigTable é um sistema de autogerenciamento tolerante a falhas 
de grande escala que inclui terabytes de memória e petabytes de armazenamento. 
Armazenamento de dados tradicionais 
O armazenamento de dados tradicional não é a melhor opção para armazenar 
big data, mas nos casos em que as empresas estão realizando a exploração de 
dados inicial, elas podem optar por usar o data warehouse, o sistema RDBMS 
(sistemas relacionais) e outros armazenamentos de conteúdo existentes. Esses 
sistemas de armazenamento existentes podem ser usados para armazenar os 
dados que são compilados e filtrados usando a plataforma de big data. Os 
sistemas de armazenamento de dados tradicionais não são adequados 
para o big data. 
Armazenamento na nuvem 
Muitos provedores de infraestrutura da nuvem possuem recursos de 
armazenamento estruturado e não estruturado distribuídos. As tecnologias de big 
data são um pouco diferentes das perspectivas de configurações, manutenção, 
gerenciamento de sistemas e programação e modelagem tradicionais. Além disso, 
as qualificações necessárias para implementar as soluções de big data são raras 
e caras. As empresas explorando as tecnologias de big data podem usar soluções 
de nuvem que fornecem o gerenciamento de sistemas, manutenção e 
armazenamento de big data. 
b
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 22 de 70 
 
Contudo, não-raro, os dados a serem armazenados são confidenciais, 
incluindo dados biométricos e registros médicos. A segurança de dados, o 
compartilhamento de dados, a governança de dados e outras políticas 
relacionadas aos dados, são aspectos a serem considerados ao ponderar 
a nuvem como um repositório de armazenamento para big data. A 
capacidade de transferir enormes quantidades de dados também é outra 
consideração fundamental para o armazenamento em nuvem. 
 
5. Ano: 2014 Banca: CESPE Órgão: TJ/SE Prova: Analista Judiciário 
Ao utilizar armazenamento dos dados em nuvem, a localização do processamento 
de aplicações Big Data não influenciará os custos e o tempo de resposta, uma vez 
que os dados são acessíveis a partir de qualquer lugar. 
Comentário: Naturalmente, por envolver transferência de volumes muito 
grandes de dados, o tempo de resposta das aplicações pode ser afetado. Além 
disso, ao adotar armazenamento em nuvem, espera-se uma diminuição dos custos 
de armazenamento, que será feito por um terceiro. 
Gabarito: E. 
 
6. Ano: 2013 Banca: CESPE Órgão: TRE/GO Prova: Técnico Judiciário 
Área: Administrativa 
A Big Data pode ser utilizada na EAD para se entender as preferências e 
necessidades de aprendizagem dos alunos e, assim, contribuir para soluções mais 
eficientesde educação mediada por tecnologia. 
Comentário: O Big Data poder ser utilizado para melhor conhecer o perfil e o 
comportamento dos alunos, para que cursos à distância sejam mais eficazes. Este 
tipo de sentença CESPE (Tal coisa PODE ser utilizada...) só estará errado se estiver 
escrito algo muito absurdo a seguir. De qualquer forma, sugiro a leitura 
complementar: 
http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=37729
#.VaLtKvlVhBc 
Gabarito: C. 
7
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 23 de 70 
 
4.2. NoSQL 
Começaremos analisando os conceitos e os modelos de dados que dão 
suporte a bases de dados NoSQL. Lembrem-se que o foco aqui é entender os 
conceitos e não a parte técnica do assunto. Alguns nomes técnicos de ferramentas 
e aplicações que usam esses tipos de modelos de dados serão apresentados, 
contudo, você não tem necessidade de conhecer nenhuma dessas ferramentas. 
Vamos em frente!? 
4.3. Conceitos 
Os bancos de dados relacionais foram bem-sucedidos porque trouxeram 
os benefícios de armazenamento de dados persistentes de forma mais organizada, 
com controle de concorrência entre as transações. As transações desempenham 
um papel importante na hora de lidar com os erros, pois é possível fazer uma 
alteração e, caso ocorra um erro durante seu processamento, pode-se desfazê-la 
e voltar ao estado anterior. 
Embora haja diferenças de um banco de dados relacional para outro os 
mecanismos principais permanecem os mesmos: os dialetos SQL utilizados por 
diversos fornecedores são similares, e as transações são realizadas praticamente 
da mesma forma. 
Banco de dados relacionais fornecem muitas vantagens, mas não são, de 
forma alguma, perfeitos. Desde que surgiram, há muita frustração e críticas em 
relação a seu uso. 
Para os desenvolvedores de aplicativos, a maior frustração tem sido a 
diferença entre o modelo relacional e as estruturas de dados na memória, 
comumente chamada de incompatibilidade de impedância. Os modelos de 
dados relacionais organizam os dados em uma estrutura de tabelas e linhas, ou, 
mais apropriadamente, de relações e tuplas. Uma tupla é um conjunto de pares 
nome-valor e uma relação é um conjunto de tuplas. 
Ao longo dos anos, tornou-se mais fácil lidar com a incompatibilidade de 
impedância devido à ampla disponibilidade de frameworks de mapeamento 
objeto-relacional, como Hibernate e iBATIS, que implementam padrões de 
mapeamento bastante conhecidos. Embora a questão do mapeamento ainda seja 
controversa dado que os frameworks poupam muito trabalho pesado às pessoas, 
mas podem se tornar um problema quando estas exageram ao ignorar o banco 
de dados, comprometendo o desempenho das operações de manipulação de dados 
sobre a base. 
Outro ponto relevante dentro do contexto apareceu devido ao crescimento 
dos Sistemas Web. Lidar com o aumento da quantidade de dados e com o tráfego 
e
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 24 de 70 
 
exigiu mais recursos computacionais. Para comportar esse crescimento, há duas 
opções: ir para cima (crescimento vertical) ou para fora (horizontal). Ir para cima 
significa adquirir máquinas maiores, mais processadores, ter maior capacidade de 
armazenamento em disco e memória. Maquinas maiores, todavia, tornam-se cada 
vez mais caras, sem mencionar que há limites físicos quanto ao aumento do seu 
tamanho ou para se escalar verticalmente. 
A alternativa seria utilizar mais máquinas menores em um cluster. Um 
cluster de máquinas pequenas pode utilizar hardware mais acessível e acaba se 
tornando mais barato para a aplicação. Ele também pode ser mais resiliente. 
Embora falhas em máquinas individuais sejam comuns, o cluster, como um todo, 
pode ser criado para continuar funcionando apesar dessas falhas, fornecendo alta 
confiabilidade. 
Duas empresas em particular ± Google e Amazon ± têm sido influentes no 
processo de desenvolvimento de rotas alternativas para armazenamento baseado 
na ideia de clusters. Ambas estiveram à frente na execução de grandes clusters. 
Além disso, obtiveram quantidades de dados relevantes para testarem e 
comprovarem seus modelos. Elas eram empresas bem-sucedidas e em 
crescimento com fortes componentes técnicos, proporcionando-lhes os meios e as 
oportunidades. 
Não é surpresa o fato de que essas empresas tinham em mente acabar com 
seus bancos de dados relacionais. Quando a década de 2000 chegou, elas 
produziram artigos concisos, porém altamente influentes, a respeito de seus 
trabalhos: BigTable (Google) e Dynamo (Amazon). 
Os exemplos do BigTable e do Dynamo inspirou a criação de projetos, que 
faziam experimentações com armazenamentos alternativos de dados, e 
discussões sobre o assunto haviam se tornado uma parte essencial das melhores 
FRQIHUrQFLDV�VREUH�VRIWZDUH�GDTXHOD�pSRFD��2�WHUPR�³1R64/´�TXH�FRQKHFHPRV�
hoje é resultado de uma reunião realizada no dia 11 de junho de 2009, em São 
Francisco ± Califórnia, organizada por Johan Oskarsson, um desenvolvedor de 
software de Londres. 
Johan estava interessado em descobrir mais sobre esses novos bancos de 
dados enquanto estava em São Francisco para um evento sobre Hadoop. Já que 
dispunha de pouco tempo, achou que não seria viável visitar todas as empresas, 
de modo que resolveu organizar uma reunião em que todos pudessem estar 
presentes e apresentar seu trabalho para quem estivesse interessado em 
conhecê-lo. 
$�FKDPDGD�RULJLQDO��1R64/�0HHWXS��SDUD�D� UHXQLmR�SHGLD�SRU� ³EDQFRV�GH�
GDGRV�QmR�UHODFLRQDLV��GLVWULEXtGRV�H�GH�FyGLJR�DEHUWR´��$V�palestras lá realizadas 
versaram sobre Voldemort, Cassandra, Dynomite, HBase, Hypertable, CouchDB e 
MongoDB, mas o termo nunca ficou limitado a esse grupo original. Não há uma 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 25 de 70 
 
definição genericamente aceita nem uma autoridade para fornecer uma, de modo 
que tudo o que podemos fazer é discutir algumas características comuns em 
bancos de dados que tendem a ser chaPDGRV�GH�³1R64/´� 
As características comuns dos bancos de dados NoSQl são: não utilizam o 
modelo relacional, tem uma boa execução em clusters, ter código aberto (open 
source), são criados para suportar propriedades da web do século XXI, e não tem 
um esquema definido (schema free). 
O resultado mais importante do surgimento do NoSQL é a persistência 
poliglota. Em vez de escolher o banco de dados relacional mais utilizado por 
todos, precisamos entender a natureza dos dados que estamos armazenando e 
como queremos manipulá-los. O resultado é que a maioria das organizações terá 
uma mistura de tecnologias de armazenamento de dados para diferentes 
circunstâncias. 
4.4. Modelos de dados 
Um modelo de dados é a forma pela qual percebemos e manipulamos nossos 
dados. Para as pessoas utilizarem um banco de dados precisam de um modelo 
que descreve a forma pela qual interagimos com os dados desse banco. Embora 
o termo formal para modelo esteja relacionado a um metamodelo ou uma 
abstração sobre os dados, quando tratamos de modelos dentro do contexto de 
NoSQL estamos nos referindo a forma ou o modo pelo qual o gerenciador do banco 
de dados organiza seus dados. 
O modelo de dados dominante nas últimas décadas é o modelo relacional, já 
falamos bastante sobre ele em uma aula anterior, que pode ser entendido como 
um conjunto de tabelas. Cada tabelapossui linhas e cada linha representa uma 
entidade de interesse. Descrevemos essa entidade por meio de colunas, cada uma 
tendo um único valor. Uma coluna pode se referir a outra linha da mesma tabela 
ou em uma tabela diferente, o que constitui um relacionamento entre essas 
entidades. 
Uma das mudanças mais evidentes trazidas pelo NoSQL é o afastamento do 
modelo relacional. Cada solução NoSQL possui um modelo diferente, os quais 
dividimos em quatro categorias amplamente utilizadas no ecossistema NoSQL: 
chave-valor, documento, família de colunas ou colunar, e grafos. Dessas 
as três primeiras compartilham uma característica em comum conhecida como 
³RULHQWDomR�DJUHJDGD´�� 
A orientação agregada reconhece que você, frequentemente, deseja 
trabalhar com dados na forma de unidades que tenham uma estrutura mais 
complexa do que um conjunto de tuplas. Pode ser útil pensar em termos de um 
registro complexo que permita que listas e outras estruturas de dados sejam 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 26 de 70 
 
aninhadas dentro dele. Partindo desta ideia é possível agora definir o conceito de 
agregado. 
 Um agregado é um conjunto de objetos relacionados que desejamos tratar 
como uma unidade. Em particular, é uma unidade de manipulação de dados e 
gerenciamento de consistência. Normalmente, preferimos atualizar agregados 
como operações atômicas e comunicarmo-nos com nosso armazenamento de 
dados em termos agregados. 
Essa definição corresponde bem ao funcionamento dos bancos de dados 
chave-valor, documento e família de colunas. Lidar com agregados facilita muito 
a execução desses bancos de dados em um cluster, uma vez que o agregado 
constitui uma unidade natural para replicação e fragmentação. Agregados também 
são, frequentemente, mais simples de ser manipulados pelos programadores de 
aplicativos. 
Vejam um exemplo de um modelo agregado na figura abaixo. Observem que 
nestes casos é possível criar uma estrutura hierárquica dentro dos atributos dos 
objetos. Para fazer isso usamos podemos usar JSON ou XML. 
 
Vamos agora tratar com um pouco mais de detalhes cada uma das categorias 
de modelos que apresentamos anteriormente. 
4.4.1. Modelo de dados chave-valor 
O modelo de dados chave-valor trata o agregado como um todo opaco, o que 
significa que somente será possível fazer uma pesquisa por chave para o agregado 
como um todo, não sendo possível executar uma consulta nem recuperar apenas 
parte do agregado. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 27 de 70 
 
Esse é o tipo de banco de dados NoSQL mais simples e permite a visualização 
do banco de dados como uma grande tabela hash. Conforme falamos acima, o 
banco de dados é composto por um conjunto de chaves, as quais estão associadas 
um único valor. A figura abaixo apresenta um exemplo de um banco de dados que 
armazena informações pessoais no formato chave-valor. A chave representa um 
campo como o nome, enquanto o valor representa a instância do correspondente. 
 
Este modelo, por ser de fácil compreensão e implementação, permite que os 
dados sejam rapidamente acessados pela chave, principalmente em sistemas que 
possuem alta escalabilidade, contribuindo para aumentar a disponibilidade de 
acesso aos dados. As operações disponíveis para manipulação de dados são bem 
simples, como get() e set(), que permitem retornar e capturar valores, 
respectivamente. A desvantagem deste modelo é que não permite a recuperação 
de objetos por meio de consultas mais complexas. 
Como exemplo de banco de dados NoSQL que adota o modelo chave-valor 
podemos destacar o Dynamo, o qual foi desenvolvido pela Amazon. Dentre as 
principais funcionalidades do Dynamo temos a possibilidade de realizar 
particionamento, replicação e versionamento dos dados. 
Além do Dynamo, outras soluções NoSQL seguem o mesmo conceito de 
chave-valor: Redis, Riak e GenieDB. 
4.4.2. Modelo de dados de documento 
O modelo de documentos torna o agregado transparente para o banco de 
dados, permitindo que sejam executadas consultas e recuperações parciais. 
Entretanto, pelo fato de o documento não possuir esquema, o banco de dados não 
pode atuar muito na estrutura desse documento para otimizar o armazenamento 
e a recuperação de partes do agregado. 
Um documento, em geral, é um objeto com um identificador único e um 
conjunto de campos, que podem ser strings, listas ou documentos aninhados. 
Estes campos se assemelham a estrutura chave-valor, que cria uma única tabela 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 28 de 70 
 
hash para todo o banco de dados. No modelo orientado a documentos temos um 
conjunto de documentos e em cada documento temos um conjunto de campos 
(chaves) e o valor deste campo. 
Outra característica importante é que este modelo não depende de um 
esquema rígido, ou seja, não exige uma estrutura fixa como ocorre nos bancos de 
dados relacionais. Assim, é possível que ocorra uma atualização na estrutura do 
documento, com a adição de novos campos, por exemplo, sem causar problemas 
no banco de dados. 
Na figura a seguir temos um exemplo de documento representado por um 
banco de dados de fornecedor (supplier) que tem os campos ID, Name, Address 
e Order. Para cada um desses campos temos os valores associados. Vejam que o 
atributo order aponta para outro documento. 
 
Como principais soluções que adotam o modelo orientado a documentos 
destacamos o CouchDB e o MongoDB. CouchDB utiliza o formato JSON e é 
implementado em Java, além disso permite replicação e consistência. O MongoDB 
foi implementado em C++ e permite tanto concorrência como replicação. 
4.4.3. Modelo colunar 
Modelos de famílias de colunas dividem o agregado em famílias de colunas, 
permitindo ao banco de dados tratá-las como unidades de dados dentro do 
agregado da linha. Isso impõe alguma estrutura ao agregado, mas também 
permite que o banco de dados aproveite a estrutura para melhorar sua 
acessibilidade. 
Vejam que neste caso, mudamos o paradigma em relação ao modelo chave-
valor. A orientação deixa de ser por registros ou tuplas para orientação por 
colunas. Neste modelo os dados são indexados por uma trilha (linha, colina e 
timestamp), onde linhas e colunas são identificadas por chaves e o timestamp 
permite diferenciar múltiplas versões de um mesmo dado. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 29 de 70 
 
Vale ressaltar que operações de leitura e escrita são atômicas, ou seja, todos 
os valores associados a uma linha são considerados na execução destas 
operações, independentemente das colunas que estão sendo lidas ou escritas. 
Outro conceito associado ao modelo é o de família de colunas (column family), 
que é usado com o intuito de agrupar colunas que armazenam o mesmo tipo de 
dados. 
Observem abaixo o que geralmente acontece na prática em banco de dados 
colunar. Neste caso as colunas das tabelas são serializadas e armazenadas em 
disco. 
 
Este modelo de dados surgiu com o BigTable do Google, por isso é comum 
falar sobre o modelo de dados BigTable. Dentre as características deste modelo 
temos a possibilidade de particionamento dos dados, além de oferecer forteconsistência, mas não garante alta disponibilidade. Outras soluções sugiram após 
o BigTable, dentre elas o Cassandra, desenvolvido pelo Facebook e baseado no 
Dynamo. Temos também o Hbase, que é um banco de dados open source 
semelhante ao BigTable, que utiliza o Hadoop. 
4.4.4. Modelo de grafos 
Bancos de dados de grafos são motivados por uma frustração diferente com 
banco de dados relacionais e, por isso, têm um modelo oposto ± registros 
pequenos com interconexões complexas. A ideia desse modelo é representar os 
dados e/ou o esquema dos dados como grafos dirigidos, ou como estruturas que 
generalizem a noção de grafos. 
O modelo de grafos é mais interessante que outros quando informações 
sobre a interconectividade ou a topologia dos dados são mais ou tão importantes 
quantos os dados propriamente ditos. O modelo orientado a grafos possui três 
componentes básicos: os nós (são os vértices do grafo), os relacionamentos 
(são as arestas) e as propriedades (ou atributos) dos nós e relacionamentos. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 30 de 70 
 
Neste caso, o banco de dados pode ser visto como um multigrafo rotulado e 
direcionado, onde cada par de nós pode ser conectado por mais de uma aresta. 
Um exemplo pode sHU�� ³4XDLV� FLGDGHV� IRUDP� YLVLWDGDV� DQWHULRUPHQWH� �VHMD�
residindo ou viajando) por pessoas que viajaram para o Rio de Janeiro"´. 
No modelo relacional esta consulta poderia ser muito complexa devido a 
necessidade de múltiplas junções, o que poderia acarretar uma diminuição no 
desempenho da aplicação. Porém, por meio dos relacionamentos inerentes aos 
grafos, estas consultas tornam-se mais simples e diretas. 
Alguns bancos que utilizam esse padrão são: Neo4J, Infinite Graph, 
InforGrid, HyperGraphDB. Vejam a figura abaixo que apresenta duas 
características relacionadas aos bancos de dados de grafos: o processamento e o 
armazenamento nativo. 
 
4.4.5. Considerações finais sobre modelos 
Bancos de dados orientados a agregados tornam os relacionamentos entre 
agregados mais difíceis de lidar do que relacionamentos intra-agregados. 
Bancos de dados sem esquema permitem que campos sejam adicionados 
livremente aos registros, mas geralmente há um esquema implícito esperado 
pelos usuários dos dados. 
Banco de dados orientados a agregados, muitas vezes, criam visões 
materializadas para fornecer dados organizados de um modo diferente de seus 
agregados primários. Isso, muitas vezes, é realizado com computação 
MapReduce. 
Outro ponto importante é saber associar cada categoria dos modelos de 
dados aos seus respectivos representantes ou principais referências. Veja na 
figura a seguir essa lista de forma organizada. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 31 de 70 
 
 
4.5. Formas de distribuição 
Há dois estilos de distribuição de dados: a replicação e a fragmentação. A 
fragmentação distribui dados diferentes em múltiplos servidores, de modo que 
cada servidor atue como a única fonte de um subconjunto de dados. A replicação 
copia os dados para servidores distintos, de modo que cada parte dos dados pode 
ser encontrada em múltiplos lugares. Um sistema pode utilizar ambas as técnicas. 
A replicação mestre-escravo torna um nodo a cópia oficial, a qual lida com 
gravações, enquanto os escravos sincronizam-se com o mestre e podem lidar com 
as leituras. A replicação ponto a ponto permite gravações em qualquer nodo; os 
nodos são coordenados para sincronizar suas cópias de dados. A replicação 
mestre-escravo reduz a chance de conflitos de atualização, mas a ponto a ponto 
evita carregar todas as gravações em um único ponto de falha. 
4.6. Teorema CAP 
No mundo NoSQL, é comum referimo-nos ao teorema CAP como o motivo 
pelo qual pode-se precisar relaxar a consistência. Ele foi proposto originalmente 
por Eric Brewer em 2000, e recebeu uma prova formal de Seth Gilbert e Nancy 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 32 de 70 
 
Lynch alguns anos depois. É possível ouvir referências aos termos como 
conjectura de Brewer. 
A declaração do teorema CAP é que, dadas as três propriedades de 
Consistência, Disponibilidade e de Tolerância a partições, somente é 
possível obter duas delas. A sigla vem do nome dessas propriedades em inglês: 
Consistency, Availability, e Partition tolerance. Logicamente, a existência do 
teorema vai depende de como são definidas cada uma dessas propriedades. 
Vejamos então a definição de cada uma delas. Antes vejam a figura abaixo o 
diagrama de Van que representa o relacionamento entre as três propriedades. 
 
A consistência refere-se ao fato de que uma leitura em qualquer um dos 
nodos de um sistema retorna como resultado a mesma informação. Vejam a figura 
abaixo: 
 
A disponibilidade trata do fato das requisições de leitura e escrita sempre 
serão reconhecidas e respondidas sobre a forma de sucesso ou falha. Desta forma, 
toda solicitação recebida por um nodo que não esteja no estado de falha deve 
resultar em uma resposta. A tolerância a partições significa que o cluster pode 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 33 de 70 
 
suportar falhas na comunicação que o dividam em múltiplas partições incapazes 
de se comunicar entre si, essa situação é conhecida como divisão cerebral (split 
brain). 
Observe na figura abaixo um exemplo de disponibilidade e tolerância a 
partições. Veja que a partição B não possui os dados referentes ao id 3 e recebe 
uma mensagem de erros no caso de uma partição. 
 
4.7. ACID x BASE 
ACID é um princípio de design de banco de dados relacionado ao 
gerenciamento de transações. É um acrônimo que significa: Atomicidade, 
Consistência, Isolamento e Durabilidade. 
ACID é um estilo de gerenciamento de transações que utiliza controles de 
simultaneidade pessimista para garantir que a consistência seja mantida através 
da aplicação de bloqueios de registo. ACID é a abordagem tradicional de 
gerenciamento de transações de banco de dados, uma vez que é aproveitada pelos 
sistemas de gerenciamento de banco de dados relacionais. 
Quando olhamos para o teorema CAP, os bancos de dados relacionais estão 
associados à priorização das propriedades de Consistência e Disponibilidade. 
O Modelo BASE (Basically Avaliable, Soft State, Eventual Consistency), foi 
sugerido como contraposição ao ACID. O ACID é pessimista e força a consistência 
no final de cada operação, enquanto o modelo BASE é otimista e aceita que a 
consistência no banco de dados estará em um estado de fluxo, ou seja, não 
RFRUUHUi� QR� PHVPR� LQVWDQWH�� JHUDQGR� XPD� ³ILOD´� GH� FRQVLVWrQFLD� GH� SRVWHULRU�
execução. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 34 de 70 
 
A disponibilidade do Modelo BASE é garantida tolerando falhas parciais no 
sistema, sem que o sistema todo falhe. Por exemplo, se um banco de dados está 
particionado em cinco nós e um deles falha, apenas os clientes que acessam 
aquele nó serão prejudicados, pois o sistema como todo não cessará seu 
funcionamento.A consistência pode ser relaxada permitindo que a persistência no banco de 
dados não seja efetivada em tempo real (ou seja, logo depois de realizada uma 
operação sobre o banco). Pelo ACID, quando uma operação é realizada no SGBD, 
ela só será finalizada se houver a certeza de que a persistência dos dados foi 
realizada no mesmo momento, fato que é derivado da propriedade da 
durabilidade. 
Já no BASE isso não se confirma. Para garantir a disponibilidade, algumas 
etapas são dissociadas à operação requisitada, sendo executadas posteriormente. 
O cliente realiza uma operação no banco de dados e, não necessariamente, a 
persistência será efetivada naquele instante. O Modelo BASE pode elevar o 
sistema a níveis de escalabilidade que não podem ser obtidos com ACID. 
No entanto, algumas aplicações necessitam que a consistência seja 
precisamente empregada. Nenhuma aplicação bancária poderá por em risco 
operações de saque, depósito, transferência, etc. O projetista do banco de dados 
deverá estar ciente de que se utilizar o Modelo BASE estará ganhando 
disponibilidade em troca de consistência, o que pode afetar os usuários da 
aplicação referente ao banco de dados. 
Quando um banco de dados suporta BASE, favorece a disponibilidade sobre 
a consistência. Em outras palavras, a base de dados é A + P a partir de uma 
perspectiva de teorema CAP. Em essência, BASE aproveita concorrência otimista, 
relaxando restrições fortes de consistência determinadas pelas propriedades 
ACID. 
Se um banco de dados é basicamente disponível, esse banco de dados 
sempre dará conhecimento ao pedido de um cliente, quer sob a forma dos dados 
solicitados ou de uma notificação de sucesso/fracasso. Na figura abaixo, o banco 
de dados é basicamente disponível, mesmo que tenha sido particionado como um 
resultado de uma falha de rede. 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 35 de 70 
 
 
Soft state significa que um banco de dados pode estar em um estado 
inconsistente quando os dados são lidos. Assim, os resultados podem mudar se 
os mesmos dados forem solicitados novamente. Isso ocorre porque os dados 
podem ser atualizados para a consistência, mesmo que nenhum usuário tenha 
escrito no banco de dados entre duas leituras. Esta propriedade está intimamente 
relacionada com a consistência eventual. 
Na figura abaixo, 1. Um usuário atualiza um registro no peer A. 2. Antes dos 
outros peers serem atualizados, o usuário B solicita o mesmo registro do peer C. 
3. A base de dados está agora em um estado soft, e dados obsoletos são devolvido 
ao usuário B. 
 
Consistência eventual é o estado em que leituras feitas por diferentes 
clientes, imediatamente após a gravação para o banco de dados, podem não 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 36 de 70 
 
retornar resultados consistentes. O banco de dados só alcança a consistência uma 
vez que as mudanças foram propagadas para todos os nós. Embora a base de 
dados esteja em processo para atingir o estado de consistência, estaremos em 
um estado soft. 
Na figura a seguir: 1. Um usuário atualiza um registro. 2. O registro só fica 
atualizado no peer A, mas antes que os outros pares possam ser atualizados, o 
usuário B solicita o mesmo registro. 3. A base de dados está agora em um estado 
soft, dados obsoletos são retornados para o usuário B do Peer C. 4. No entanto, a 
consistência é eventualmente atingida, e usuário C recebe o valor correto. 
 
BASE enfatiza disponibilidade imediata em relação à consistência, em 
contraste com o ACID, que garante a consistência imediata à custa de 
disponibilidade devido a bloqueio de registo. Esta abordagem soft para a 
consistência permite que as bases de dados compatíveis com BASE possam 
servir a múltiplos clientes sem qualquer latência embora servindo 
resultados inconsistentes. No entanto, as bases de dados compatíveis com 
BASE não são úteis para sistemas transacionais onde a falta de consistência é uma 
preocupação. 
4.8. MapReduce 
MapReduce é um padrão que permite que operações computacionais sejam 
realizadas em um cluster. A tarefa de mapeamento lê dados de um agregado e os 
agrupa em partes chave-valor relevante. Mapeamentos somente leem um único 
registro de cada vez e podem, assim, ser paralelizados e executados no nodo que 
armazena o registro. 
A tarefa de redução recebe muitos valores de uma única chave de saída, a 
partir da tarefa de mapeamento, e os resume em uma única saída. Cada redutora 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 37 de 70 
 
trabalha sobre o resultado de uma única chave, de modo que podem ser 
paralelizados por chave. 
MapReduce é complicado de entender no início, por isso vamos tentar 
compreendê-lo com um exemplo simples. Vamos supor que temos um arquivo 
que tem algumas palavras e o arquivo é dividido em blocos, e temos que contar 
o número de ocorrências de uma palavra no arquivo. Iremos passo a passo para 
alcançar o resultado usando a funcionalidade MapReduce. Todo o processo é 
ilustrado no diagrama a seguir: 
 
Elementos que tenham o mesmo formato de entrada e saída podem ser 
combinadas em pipelines. Isso melhora o paralelismo e reduz a quantidade de 
dados a serem transferidos. Operações de MapReduce podem ser compostas em 
pipelines, nos quais a saída de uma redução é a entrada do mapeamento de outra 
operação. 
Se o resultado de uma computação MapReduce for amplamente utilizado, 
pode ser armazenado como uma visão materializada. Visões materializadas 
podem ser atualizadas por meio de operações MapReduce que apenas computem 
alterações na visão, em vez de computar novamente tudo desde o início. 
5. Hadoop 
Hadoop é um framework de código aberto para armazenamento de dados 
em grande escala e processamento de dados que seja compatível com o hardware 
específico. O framework Hadoop se estabeleceu como uma plataforma da indústria 
de fato para soluções de Big Data contemporâneas. Ele pode ser usado como um 
motor de ETL ou como um mecanismo de análise para o processamento de 
grandes quantidades de dados estruturados, semiestruturados e não 
Conceitos de Soluções Big Data. ʹSEFAZ-GO- 2018 
Prof. Thiago Rodrigues Cavalcanti ʹ Aula 08 
 
Prof. Thiago Rodrigues Cavalcanti 
 www.estrategiaconcursos.com.br 38 de 70 
 
estruturados. A partir de uma perspectiva de análise, Hadoop implementa a 
estrutura de processamento de MapReduce. A figura abaixo ilustra algumas das 
características do Hadoop. 
 
Hadoop é usado amplamente na indústria para processamento de grande 
escala, massivamente paralelo e distribuído. Hadoop é altamente tolerante a 
falhas e configurável para tantos níveis quanto precisarmos. O que tem um 
impacto direto no número de vezes que os dados são armazenados. 
Como já abordado, em sistemas de Big Data, a arquitetura gira em torno 
de dois componentes principais: a computação distribuída e processamento 
paralelo. No Hadoop, a computação distribuída é tratada por meio do HDFS e 
processamento paralelo é tratado pelo MapReduce. Em suma, podemos dizer que 
o Hadoop é uma combinação de HDFS e MapReduce, como mostrado na imagem 
a seguir: 
 
Hadoop tem uma série de vantagens, e algumas delas são: 
Baixo custo - Funciona em hardware simples (commodity): Hadoop pode 
ser executado em hardware simples

Continue navegando