Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 06
Sumário
1. Preâmbulo ....................................................................................................................... 2
Big Data ............................................................................................................................................... 3
2. Definições e conceito .................................................................................................. 3
3. Falácias sobre Big Data .............................................................................................. 7
4. Aplicações de Big Data ............................................................................................... 9
5. Classificação de Big Data ....................................................................................... 10
5.1. Padrões atômicos e compostos de uma solução de Big Data ............... 14
6. NoSQL ............................................................................................................................. 22
6.1. Conceitos ................................................................................................................... 22
6.2. Modelos de dados ................................................................................................... 25
6.2.1. Modelo de dados chave-valor ........................................................................ 26
6.2.2. Modelo de dados de documento ................................................................... 27
6.2.3. Modelo colunar .................................................................................................... 28
6.2.4. Modelo de grafos ................................................................................................ 29
6.2.5. Considerações finais sobre modelos ........................................................... 30
6.3. Formas de distribuição ......................................................................................... 30
6.4. Teorema CAP............................................................................................................ 31
6.5. ACID x BASE ............................................................................................................ 32
6.6. MapReduce ................................................................................................................ 36
7. Hadoop ........................................................................................................................... 37
7.1. O ecossistema do Hadoop ................................................................................... 39
Questões comentadas .............................................................................................................. 45
Considerações finais ...................................................................................................................... 59
Referência ......................................................................................................................................... 59
1. Preâmbulo
Big Data
2. Definições e conceito
Para se ter uma ideia disso, 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.
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.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 3 de 59
Noções de Big Data: conceito, premissas e aplicação. TCU
Prof. Thiago Rodrigues Cavalcanti Aula 06
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
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 6 de 59
Noções de Big Data: conceito, premissas e aplicação. TCU
Prof. Thiago Rodrigues Cavalcanti Aula 06
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”.
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.
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%.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 9 de 59
Noções de Big Data: conceito, premissas e aplicação. TCU
Prof. Thiago Rodrigues Cavalcanti Aula 06
• Processos de negócios
• Usuários corporativos
• Aplicativos corporativos
PADRÕES ATÔMICOS
PADRÕES DE CONSUMO
Visualização
Descoberta ad hoc
Notificação
PADRÕES DE PROCESSAMENTO
Analítica Avançada
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
Gabarito: E.
PADRÕES DE ACESSO
PADRÕES DE ARMAZENAMENTO
Armazenamento na nuvem
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.
6. 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!?
6.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 é
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 22 de 59
Noções de Big Data: conceito, premissas e aplicação.
Prof. Thiago Rodrigues Cavalcanti Aula 05
possível fazer uma alteração e, caso ocorra um erro durante seu processamento,
pode-se desfazê-la e voltar ao estado anterior.
Vamos agora tratar com um pouco mais de detalhes cada uma das
categorias de modelos que apresentamos anteriormente.
2
Em ciência da computação, uma tabela de dispersão (também conhecida por tabela de espalhamento ou
tabela hash, do inglês hash) é uma estrutura de dados especial, que associa chaves de pesquisa a valores. Seu
objetivo é, a partir de uma chave simples, fazer uma busca rápida e obter o valor desejado.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 26 de 59
Noções de Big Data: conceito, premissas e aplicação.
Prof. Thiago Rodrigues Cavalcanti Aula 05
que é usado com o intuito de agrupar colunas que armazenam o mesmo tipo de
dados.
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.
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.
6.6. 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.
7. 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.
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
separando as capacidades do motor de processamento e gestão de recursos do
MapReduce. Ele também fornece a plataforma para outros fins, tais como,
Storm, Spark, e assim por diante.
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.
A alternativa 93, por sua vez, refere-se ao assunto presente nesta aula. Vejam
que a existência de esquema bem definido não é uma obrigatoriedade dentro do
contexto de bancos de dados NoSQL. Essa propriedade é conhecida como
schema free ou livre de esquema.
Pelo exposto acima, as duas alternativas estão corretas.
Gabarito: C C
7. 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
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.
Variedade. Os dados são gerados em todos os tipos de formatos - de dados
estruturados, dados numéricos em bancos de dados tradicionais, até
documentos de texto não estruturados, e-mail, vídeo, áudio, dados de cotações
da bolsa e transações financeiras.
Outros Vs foram adicionados ao longo dos anos:
Veracidade. O quarto V do conceito está ligado à veracidade do conteúdo. Nem
todos os dados gerados possuem consistência dentro do contexto. É preciso
destacar o que é rico e correto em conteúdo no meio de tanta informação. Ao
garantir essa separação, que é possível fazer a partir do Big Data, o que sobra
são conhecimentos importantes para compreender melhor a entidade analisada
ou o negócio em questão.
Valor. Para garantir que o trabalho dos outros Vs traga retorno, é preciso gerar
valor para os resultados que retornam do Big Data. Assim, aparece o último V do
conceito.
Juntando todos os conceitos acima, chegamos a nossa resposta na alternativa D.
Gabarito: D
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 do conceito de Data Warehouse.
Gabarito: D
Gabarito: C
12. ANO: 2015 BANCA: FCC ÓRGÃO: TRT - 3ª REGIÃO (MG) PROVA:
TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
A Big Data.
B Data Mart.
C OLAP.
D MOLAP.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 49 de 59
Noções de Big Data: conceito, premissas e aplicação.
Prof. Thiago Rodrigues Cavalcanti Aula 05
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.
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;
D quatro;
E cinco.
Gabarito: A
17. 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
colunar ele é semelhante a uma tabela, mas guardam os dados das colunas
contiguamente no disco.
Gabarito: E
Gabarito: C
Gabarito: E
Gabarito: E
[69] Em um banco de dados NoSQL do tipo grafo, cada arco é definido por um
identificador único e expresso como um par chave/valor.
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
Considerações finais
Oi pessoal!!
Chegamos, pois, ao final da nossa aula e do nosso curso! Esta aula tratou
de um tema bem específico: Big Data, incluindo aspectos sobre NoSQL e
Hadoop. Esperamos que as informações contidas nesta aula sejam suficientes
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