Sumário
Big Data ............................................................................................................................................... 1
1. Definições e conceito .................................................................................................. 1
2. Falácias sobre Big Data .............................................................................................. 4
3. Aplicações de Big Data ............................................................................................... 5
4. NoSQL ............................................................................................................................... 7
4.1. Conceitos ..................................................................................................................... 7
4.2. Modelos de dados ..................................................................................................... 9
4.2.1. Modelo de dados chave-valor ........................................................................ 10
4.2.2. Modelo de dados de documento ................................................................... 11
4.2.3. Modelo colunar .................................................................................................... 12
4.2.4. Modelo de grafos ................................................................................................ 13
4.2.5. Considerações finais sobre modelos ........................................................... 14
4.3. Formas de distribuição ......................................................................................... 14
4.4. Teorema CAP............................................................................................................ 15
4.5. ACID x BASE ............................................................................................................ 16
4.6. Map-Reduce .............................................................................................................. 19
5. Hadoop ........................................................................................................................... 20
5.1. O ecossistema do Hadoop ................................................................................... 22
Questões comentadas .............................................................................................................. 28
Considerações finais ...................................................................................................................... 41
Referência ......................................................................................................................................... 41
Big Data
1. Definições e conceito
16712855225
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 da informação”. Entendido os conceitos básicos vamos avançar
para as premissas e aplicações.
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
16712855225
disponibilidade de dados.
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%.
4. NoSQL
Começaremos analisando os conceitos e os modelos de dados que dão
suporte a bases de dados NoSQL.
4.1. 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.
tornam-se cada vez mais caras, sem mencionar que há limites físicos quanto ao
aumento do seu tamanho ou para se escalar verticalmente.
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.
Vamos agora tratar com um pouco mais de detalhes cada uma das
categorias de modelos que apresentamos anteriormente.
16712855225
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 forte
consistê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.
dados e/ou o esquema dos dados como grafos dirigidos, ou como estruturas que
generalizem a noção de grafos.
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 ser: “Quais cidades foram visitadas anteriormente (seja
residindo ou viajando) por pessoas que viajaram para o Rio de Janeiro? ”.
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.
16712855225
16712855225
16712855225
preocupação.
4.6. Map-Reduce
Map-reduce é 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.
redutora trabalha sobre o resultado de uma única chave, de modo que podem
ser paralelizados por chave.
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 estruturados. A partir de uma perspectiva de análise,
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 20 de 41
Big Data e NoSQL
Prof. Thiago Rodrigues Cavalcanti Aula xx
16712855225
Apache Sqoop: Sqoop pode ser usado para gerenciar dados entre
sistemas NoSQL Hadoop e bancos de dados relacionais ou data warehouses
corporativos. Sqoop tem diferentes conectores com os respectivos dados
armazenados e utilizando esses conectores, Sqoop pode importar e exportar
dados em MapReduce, e ainda importar e exportar dados no modo paralelo.
Sqoop também é tolerante a falhas.
Apache YARN - Yet another Resource Negotiator (YARN) tem sido uma
revolução na versão principal do Hadoop versão 2.x. YARN oferece
gerenciamento de recursos e deve ser utilizado como uma plataforma comum
para a integração e gerenciamento de diferentes ferramentas e utilitários em
um cluster Hadoop. YARN é um gerenciador de recursos que foi criado
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 25 de 41
Big Data e NoSQL
Prof. Thiago Rodrigues Cavalcanti Aula xx
YARN melhorou suas capacidades, agora ele também pode ser ajustado
para streaming e análise em tempo real, o que é um benefício enorme e uma
necessidade em alguns cenários. YARN também é compatível com vários
aplicativos MapReduce existentes. Alguns aplicativos alimentados por YARN são
os seguintes: Apache Hadoop MapReduce, Apache Spark, Apache Strom,
Apache Tez e Apache S4
Questões comentadas
Chegamos a nossa tradicional lista de questões comentadas.
2. Ano: 2016 Banca: FGV Órgão: IBGE Cargo: WEB MOBILE Questão: 41
Big Data é:
a) volume + variedade + agilidade + efetividade, tudo agregando + valor +
atualidade.
b) volume + oportunidade + segurança + veracidade, tudo agregando + valor.
c) dimensão + variedade + otimização + veracidade, tudo agregando +
agilidade.
d) volume + variedade + velocidade + veracidade, tudo agregando + valor.
e) volume + disponibilidade + velocidade + portabilidade, tudo requerendo -
valor.
Comentário: Embora o termo "big data" seja relativamente novo, o ato de
recolher e armazenar grandes quantidades de informações para eventual análise
16712855225
de dados é bem antigo. O conceito ganhou força no início dos anos 2000,
quando um analista famoso deste setor, Doug Laney, articulou a definição de big
data como os três Vs:
Volume. Organizações coletam dados de uma grande variedade de fontes,
incluindo transações comerciais, redes sociais e informações de sensores ou
dados transmitidos de máquina a máquina. No passado, armazenar tamanha
quantidade de informações teria sido um problema – mas novas tecnologias
(como o Hadoop) têm aliviado a carga.
Velocidade. Os dados fluem em uma velocidade sem precedentes e devem ser
tratados em tempo hábil. Tags de RFID, sensores, celulares e contadores
inteligentes estão impulsionado a necessidade de lidar com imensas quantidades
de dados em tempo real, ou quase real.
A Data Mining.
C Data Mart.
D Datawarehouse.
E Big Data.
Comentário: Essa questão aparece aqui apenas para verificar se você ainda
lembra-se do conceito de Data Warehouse.
Gabarito: D
Gabarito: C
A Big Data.
B Data Mart.
C OLAP.
D MOLAP.
E Data Mining.
Comentário: Mais uma questão para que você possa relembrar de um conceito
visto anteriormente, em outra aula. Desta vez trata-se do conceito de Data Mart.
Gabarito: B
Gabarito: E
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.
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 (por exemplo, JSON) 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, á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.
16712855225
Gabarito: C
Além disso, quanto mais longe o servidor estiver do interessado, maior será o
tempo de espera entre a requisição e a resposta.
Gabarito: E
II. Suas estruturas não permitem o uso de linguagens do tipo do SQL para
recuperação de dados;
A uma;
B duas;
C três; 16712855225
D quatro;
E cinco.
Gabarito: A
12. ANO: 2015 BANCA: CESPE ÓRGÃO: TCU PROVA: AUDITOR FEDERAL
DE CONTROLE EXTERNO - TECNOLOGIA DA INFORMAÇÃO
Essa estrutura torna a escrita muito rápida, pois todos os dados de um registro
são colocados no disco com uma única escrita no banco. Também é eficiente
caso se queira ler registros inteiros. Mas para situações onde se quer ler
algumas poucas colunas de muitos registros, essa estrutura é pouco eficiente,
pois muitos blocos do disco terão de ser lidos.
Para esses casos onde se quer otimizar a leitura de dados estruturados, bancos
de dados de famílias de colunas são mais interessantes, pois eles guardam os
dados contiguamente por coluna.
Gabarito: E
Gabarito: C
Gabarito: C
Gabarito: E
subsequentes.
Gabarito: C
Gabarito: E
Gabarito: E
16712855225
Gabarito: E
91. O uso das ferramentas citadas no item anterior vai permitir um grande
paralelismo no processamento por meio da distribuição entre os diferentes nós
ou hosts do sistema. Mais uma alternativa correta.
Gabarito: C C
16712855225
Considerações finais
Chegamos, pois, ao final da nossa aula! Essa aula tratou de um tema bem
específico: Big Data, incluindo aspectos sobre NoSQL e Hadoop. Esperamos que
as informações contidas nesta aula seja o suficiente para que você consiga
acertar qualquer questão sobre o assunto no momento da prova.
Thiago Cavalcanti
Referência
Fiz uma lista com as referências caso você queria se aprofundar um pouco
mais no assunto.
i. Learning Hadoop 2 By: Gabriele Modena; Garry Turkington
ii. Hadoop Essentials By: Swizec Teller
16712855225