Você está na página 1de 34

SEGURANÇA DE DADOS E BIG DATA

Web 4
Introdução e Infraestrutura do Big Data
Introdução
• Conceitos da aula:
• Introdução ao Big Data
• Infratestrutura para grande volume de dados
• Hadoop
• Data Lake
1. BIG DATA – Conceitos Básicos
• Não é tão simples definir “big data”, pois tanto projetistas, quanto fornecedores, praticantes e
profissionais de negócios usam essa tecnologia de maneira bem diferente.

• Segundo TAURION, Big Data:


• ...não se trata apenas de uma buzzword (ou chavão de marketing), excede a capacidade atual que
temos para usar os ambientes tecnológicos de hardware e as ferramentas de software para
capturar, administrar e processar, incluindo-se correlacionar com alguma rapidez às informações
que estão a nossa volta, provenientes de diferentes fontes. (TAURION 2013, p. 8).

• Com isso em mente, de modo geral, big data pode ser considerado:
• um grande conjunto de dados;
• uma categoria de estratégias e tecnologias de computação usadas para lidar com grandes conjuntos de dados.

• Neste contexto, grande conjunto de dados pode ser considerado um conjunto de dados muito grande
para processar ou armazenar de forma razoável com ferramentas tradicionais ou em um único
computador.
1. BIG DATA –
Conceitos Básicos
• Os 3 Vs (velocidade, volume e variedade de
dados), muito conhecido nos conceitos de big
data, descreve o volume em grande escala de
dados, que podem ser estruturados ou não
estruturados, sempre em um alto volume e
variedade de informações muito grande e numa
velocidade avassaladora.

• Por lidar com essas características as empresas


se apaixonam cada vez mais por essa solução,
pois é com essa enorme quantidade de dados,
que os insights para novos negócios se tornam
direcionadores de decisões.
1.1, 1.2, 1.3 – Volume, Velocidade, Variedade
• Volume: difusão, escala e valor dos dados que excedem o poder de computação ou armazenamento de um único
computador se expandiram muito nos últimos anos. Exigindo a contratação de profissionais de BI (business
intelligence) capazes de mergulhar nas análises dos dados e trazer sugestões e insights baseados em estudos e
informações captadas da enorme quantidade de informações para lançar um produto novo ou um novo segmento.

• Velocidade: No Big Data os dados estão frequentemente fluindo para o sistema a partir de várias fontes e
geralmente espera-se que sejam processados em tempo real para obter insights e atualizar o entendimento atual do
sistema. Os dados são constantemente adicionados, processados e analisados para acompanhar o fluxo de novas
informações e para revelar informações valiosas no início, quando são mais relevantes. Essas ideias requerem
sistemas robustos com componentes altamente disponíveis para proteção contra falhas ao longo do pipeline de
dados.

• Variedade: Embora os sistemas de processamento de dados mais tradicionais possam esperar que os dados
entrem no pipeline já rotulados, formatados e organizados, os sistemas de big data geralmente aceitam e
armazenam dados mais próximos de seu estado bruto. O big data busca lidar com dados potencialmente úteis,
independentemente de onde eles vêm, consolidando todas as informações em um único sistema. Os formatos e
tipos de mídia também podem variar significativamente.
1.4. Outras características
• Vários experts e empresas após utilizarem o big data, recomendaram expandir os três Vs originais,
passando para pontos que tendem a descrever desafios e não qualidades do big data.

• Com isso, outros Vs surgiram, são eles:


• Veracidade: desafios na avaliação da qualidade dos dados, devido ao alto número de fontes que originam os
dados.
• Variabilidade: a variação nos dados leva a uma grande variação na qualidade.
• Valor: o maior desafio do big data é agregar valor.

• Por isso Taurion (2013 p.31), conceitua que:


• “Big Data = volume + variedade + velocidade + veracidade, tudo agregando + valor”.
1.5. Como é o ciclo de vida de um big data?
• Embora as etapas apresentadas a seguir possam não ser verdadeiras em todos os casos, elas são
amplamente utilizadas.

• As categorias gerais de atividades envolvidas com o processamento de big data são:


• Ingestão de dados no sistema
• Persistência dos dados no armazenamento
• Computando e analisando dados
• Visualizando os resultados
1.6. Computação em cluster
• Devido às características do big data, não é apropriado utilizar apenas computadores individuais para
lidar com os dados.
• Para melhor atender às altas necessidades de armazenamento e computação de big data, os clusters
de computador são mais adequados.

• O software de clustering de big data combina os recursos de muitas máquinas menores, buscando
fornecer uma série de benefícios:
• Pooling de recursos: combinar o espaço de armazenamento disponível para armazenar dados é
um benefício claro, mas o pooling de CPU e memória também é extremamente importante.
• Alta disponibilidade: Isso se torna cada vez mais importante à medida que continuamos a
enfatizar a importância da análise em tempo real.
• Escalabilidade fácil: Isso significa que o sistema pode reagir às mudanças nos requisitos de
recursos sem expandir os recursos físicos em uma máquina.
1.7. Internet das coisas - IoT
• Quando falamos de IoT (Internet of Things ou Internet das Coisas) em termos de big data estamos
falando de inúmeras fontes de dados como carros autônomos, centros de distribuição que se
movimentam praticamente sozinhos e fazem a carga e descarga das coisas nos grandes centros de
distribuição, utensílios de casa inteligente, etc.

• Cada vez mais os dados são a fonte de informação mais preciosa dos negócios e aquele que souber
obter vantagens em cima dessas informações estará muito à frente do seu tempo.
2. Dados estruturados e não estruturados
• Para análise de dados, é importante entender que esses dados podem ser classificados em três tipos
comuns de estruturas de dados, e podem ser estruturados, não estruturados e semiestruturados.
2.1. Dados estruturados, não estruturados e semiestruturados
• Segundo a Enterprise Big Data Framework (2019):
• Dados estruturados: são dados que seguem um modelo de dados predefinido e, portanto, são
fáceis de analisar. Exemplos: planilhas Excel, banco de dados SQL, CNPJ, CEPs, etc.
• Dados não estruturados: não possuem um modelo predefinido como arquivos de áudio e vídeo.
• Dados semiestruturados: são uma forma de dados estruturados que não está em conformidade
com a estrutura formal de modelos de dados associados a bancos de dados relacionais ou outras
formas de tabelas de dados, mas, ainda assim, contêm tags ou outros marcadores para separar
elementos semânticos e impor hierarquias de registros e campos dentro dos dados. Exemplos:
JSON e XML e outras linguagens de marcação.
2.4. Metadados – Dados sobre dados
• Uma última categoria de tipo de dados são os metadados, na visão da Enterprise Big Data Framework
(2019):
• Esta não é uma estrutura de dados separada, mas é um dos elementos mais importantes para a análise de Big Data e
soluções de Big Data.
• Metadados são dados sobre dados, fornecem informações adicionais sobre um conjunto específico de dados.

• Exemplos de dados que contém metadados:


• fotos de celulares (geolocalização, características do aparelho, data, hora, etc)
• acesso de redes sociais (ip, navegador, versão, etc)

• Outros tipos de metadados comuns, podem ser:


• nosso número de celular/telefone, e-mail, além dos nomes das pessoas e serviços que usamos.
• nossa localização, como onde se encontra o nosso telefone celular.
• hora e data de quando efetuou ligações, enviou e-mail, baixou arquivos ou fotos.
• informações do seu aparelho celular que usava na hora da foto, do acesso a internet e até da localização por GPS.
3. Introdução a análise de dados
• Análise de dados ou data analytics, tem um papel fundamental na melhoria do negócio, pois é usado
para coletar percepções ocultas, gerar relatórios, realizar análises de mercado e melhorar os
requisitos de negócios.

• Analise de dados refere-se às técnicas usadas para analisar dados para aumentar a produtividade e
o ganho do negócio.

• Os dados são extraídos de várias fontes e são tratados e categorizados para analisar vários padrões de
comportamento. As técnicas e ferramentais utilizadas variam de acordo com a organização ou
indivíduo.
3. Introdução a análise de dados

• Podemos destacas as seguintes atividades de um profissional que trabalha com análise de dados:
• Reúne insights ocultos: ajuda a encontrar o que não era encontrado antes, e agora pode ajudar
na tomada de decisão com os dados analisados em relação aos requisitos de negócios.
• Gera Relatórios: Os relatórios são gerados a partir dos dados e repassados às respectivas
equipes e indivíduos para tratar de futuras ações para o aumento da eficiência do negócio gerando
insights nas tomadas de decisões.
• Realiza análise de mercado: a análise de mercado pode ser realizada para compreender os
pontos fortes e fracos dos concorrentes.
• Melhora os requisitos de negócios: a análise de dados permite melhorar os negócios de acordo
com os requisitos e a experiência do cliente.
3.1. As principais ferramentas usadas em análise de dados
• Com a crescente demanda por análise de dados no mercado, diversas ferramentas surgiram com
diversas funcionalidades para esse fim.
• De código aberto ou amigável, as principais ferramentas no mercado de análise de dados eu deixo
listadas na tabela abaixo:
3.1. As principais
ferramentas
usadas em
análise de dados
3.1. As principais
ferramentas
usadas em
análise de dados
3.1. As principais ferramentas usadas em análise de dados
• É importante entender que existem dados que não podem ser extraídos de forma de automática e
precisam ter técnicas específicas aplicadas para esta extração a fim de que não gere confusão para
quem vai analisar os resultados obtidos.

• Diante disso, Morais (2018 p. 23), apresenta quatro tipos de análises que podem ser aplicadas aos
dados, são elas:
• Análise exploratória: que permite a compreensão de como os dados estão distribuídos e qual o formato em
que se encontram. A informação adquirida nas análises exploratórias serve de apoio na tomada de decisão
sobre o tipo de tarefa de mineração dos dados e na escolha do algoritmo.
• Analise preditiva: prevê resultados futuros com base em dados do passado. Pode ser entendida como um
processo que permite descobrir o relacionamento existente entre os exemplares de um conjunto de dados,
descritos por uma série de características e rótulos atribuídos a esses dados.
• Análise de agrupamento: consiste no agrupamento de objetos de acordo com suas características. Também é
conhecida como clustering e permite, com base em um conjunto de características, a descoberta de relações
existentes entre exemplares de conjuntos de dados.
• Regras de associação: procura encontrar padrões ou relacionamentos que aparecem com frequência em
bases de dados.
1. Ecossistema Hadoop
• Quanto falamos de análise de dados o Hadoop entra em destaque.

• Haddop é uma plataforma de computação distribuída em Java criada pelo Yahoo em 2005 voltada para
clusters e processamento de grande volumes de dados, com atenção a tolerância a falhas. Sua
estrutura é gerenciada pela comunidade Apache Software Foundation e é licenciada pela Apache
License 2.0.

• O que é Hadoop, na prática:


• ...] uma combinação de dois projetos separados, que são o Hadoop MapReduce (HMR), que é um
framework para processamento paralelo e o Hadoop Distributed File System (HDFS). O HMR é
um spinoff do MapReduce, software que o Google usa para acelerar as pesquisas endereçadas ao
seu buscador. O HDFS é um sistema de arquivos distribuídos otimizados para atuar em dados não
estruturados e é também baseado na tecnologia do Google, neste caso o Google File System.
(TAURION, 2013, p.75)
1. Ecossistema Hadoop
• Embora o poder de processamento dos servidores de aplicativos tenha aumentado muito, os bancos de
dados ficaram para trás devido à sua capacidade e velocidade limitadas.

• O Hadoop desempenha um papel significativo em fornecer uma reforma muito necessária para o mundo
do banco de dados.

• O Hadoop melhora o desempenho em bancos de dados tradicionais, pois resolve dois desafios
principais:
• capacidade: armazena grandes volumes de dados;
• velocidade: armazena e recupera dados mais rapidamente.

• Um dos benefícios, do ponto de vista empresarial, é da economia de custo ao usar uma tecnologia open
source em servidores de baixo custo que estão principalmente na nuvem (e às vezes no local).
1. Ecossistema Hadoop
• Os principais componentes do Hadoop são:
• HDFS: responsável por manter o sistema de arquivos distribuído.
• YARN: agendamento de Jobs e gerenciador de recursos do Hadoop (cluster, por exemplo).
• MapReduce: um sitema baseado no YARN para processamento paralelo de alta quantidade de
dados.
• Componentes suplementares:
• Hive: atua na análise de grandes volumes de dados e auxilia nas funções de redução do
MapReduce com dados estruturados.
• Pig: auxilia nas funções de redução de MapReduce com dados semiestruturados.
• Flume: faz a distribuição e avalia a eficiência de coleta dos dados, agregando e movendo o grande
montante de dados do Big Data.
• Sqoop: ajuda no consumo de dados para bancos de dados relacionais.
• Zookeeper: coordena aplicativos distribuídos.
• Kafka: torna as transferências de dados mais rápidas.
• HBase: é um banco de dados não relacional
2. HDFS e sistemas de arquivo distribuídos
• HDFS é o acrônimo de Hadoop Distributed File System que, em tradução livre, significa “sistema de
arquivos distribuídos Hadoop”.

• Uma característica que difere de outros softwares é a sua confiabilidade, pois utiliza sistema de cluster,
e isso tem uma ajuda fundamental no quesito de falhas.

• Outra característica que o define para a utilização em Big Data é a sua flexibilidade, já que os dados
podem ser armazenados estruturados ou não.
2.1. Blocos de armazenamento
• O Hadoop armazena as informações em blocos; a partir da sua segunda versão, os tamanhos dos
blocos foram definidos em 128MB.
• Isso ajuda no armazenamento e na agilidade em buscar as informações de um banco de dados.

• Sabemos que o Hadoop trabalha com enormes volumes de dados, então imagine que vários
funcionários estão alimentando o banco de dados e a soma de informação gerada ficou em torno de
100Mb.

• Ao armazenar esses dados num cluster, o Hadoop utiliza em disco exatamente os 100MB, e não os
128MB.

• Isso torna o Hadoop muito mais rápido e também não desperdiça espaço de armazenamento, o que
ajuda quando falamos em terabytes ou petabytes.
2.2. Operação com namenodes e datanodes
• O Hadoop trabalha no modelo mestre/escravo. O namenode é o mestre e os datanodes são os
escravos. Há apenas um namenode e múltiplos datanodes.
• Namenode:
• Realiza o gerenciamento dos blocos de armazenamento que o Hadoop chama de namespace do sistema de arquivos.
• Mantém todos os metadados necessários para gerenciar e localizar os blocos de um arquivo no cluster (nome do arquivo,
permissões, localização, etc).

• Datanodes:
• Responsáveis por armazenarem e retornarem as informações contidas nos blocos.
• De tempos em tempos avisam seu estado (por exemplo, se estão vivos) para o namenode .

• Quando um cliente HDFS deseja criar ou ler um arquivo ele consulta primeiramente o namenode que
devolve para ele em qual(is) datanode(s) deve(m) ser escrita ou lida a informação. O cliente HDFS
então acessa os datanodes para escrever ou recuperar a informação desejada.
• Por questão de desempenho, o namenode mantém em memória toda informação de namespace
necessária para localização rápida dos blocos e remontagem dos arquivos (fsImage), mas mantém
também em disco o registro de todas as operações nos datanodes permitindo a reconstrução da
informação em memória, caso seja desligado (editLog).
2.2. Operação com namenodes e datanodes
Hadoop Cluster

Client
HDFS

namenode

datanodes
2.2. MapReduce
• Segundo Taurion (2013):
• Outro componente do Hadoop é o MapReduce. É o coração do Hadoop. É o paradigma de
programação que possibilita escalabilidade massivamente paralela em centenas ou milhares
de servidores. O próprio termo MapReduce representa duas tarefas distintas que os programas
Hadoop executam. A primeira tarefa é mapear os dados, ou seja, acessar um conjunto de dados e
convertê-los em outro conjunto onde os elementos individuais são quebrados em tuplas (pares
chave/valor). A tarefa Reduce pega o resultado do mapeamento e combina estas tuplas em um
conjunto menor de tuplas, obtendo o resultado. (TAURION, 2013, p. 94)

• O Hadoop MapReduce ou simplesmente MapReduce, é uma estrutura de programação paralela


para planejamento disperso, que acessa os dados em um sistema de arquivos distribuídos do
Hadoop, também conhecido como HDFS.

• O MapReduce, de forma efetiva, gerencia um enorme montante de dados estruturados e não


estruturados. Os estágios Map e Reduce trabalham juntos, e têm duas partes cada.
2.2 Map Reduce
• A parte do Map primeiro trata da divisão dos dados de entrada que são atribuídos a tarefas de
mapa individuais.
• Em seguida, a função de mapeamento cria a saída na forma de pares de valores-chave
intermediários.
• O estágio de Reduce tem uma etapa de embaralhamento e redução.

• O embaralhamento pega a saída do Map e cria uma lista de pares chave-valor-lista relacionados.
Em seguida, o Reduce agrega os resultados do embaralhamento para produzir a saída final
solicitada pelo aplicativo MapReduce.

• O paradigma de programação MapReduce pode ser usado com qualquer problema complexo que
possa ser resolvido por meio da paralelização. Exemplos:
• Um site de mídia social pode usá-lo para determinar quantas novas inscrições recebeu no último mês de
diferentes países, para avaliar sua popularidade crescente entre diferentes geografias.
• Os mecanismos de pesquisa podem determinar as visualizações de página e os profissionais de marketing
podem realizar análises de sentimento usando MapReduce.
2.2. MapReduce
Entrada Divisão de dados Map Agrupa e Ordena Reduce
MapReduce, 1
MapReduce é um MapReduce, 1 MapReduce, 1
componente do é, 1 MapReduce, 1 componente, 1
Hadoop. um, 1 é, 1 coração, 1
componente, 1 é, 1 distintas, 1
MapReduce é um do, 1
um, 1 do, 2
componente do MapReduce é o Hadoop, 1
duas, 1
Hadoop. coração do Hadoop. componente, 1 executam,1
do, 1 é ,2
MapReduce é o MapReduce, 1 Hadoop, 3
coração do Hadoop. do, 1
é, 1 o, 1
MapReduce Hadoop, 1
o, 1 os, 1
MapReduce representa duas Hadoop, 1
coração, 1 um, 1
representa duas tarefas distintas que Hadoop, 1
do, 1 MapReduce, 3
tarefas distintas que os programas
Hadoop, 1 programas, 1
os programas Hadoop executam. o, 1
que, 1
Hadoop executam. coração, 1 representa, 1
MapReduce, 1 tarefas, 1
representa, 1
representa, 1
duas, 1 duas, 1
tarefas, 1
distintas, 1 tarefas, 1
que, 1 distintas, 1
os, 1
programas, 1 que, 1
Hadoop, 1 os, 1
executam, 1
programas, 1
executam, 1
3. Data Lake
• O Data Lake (literalmente um “lago de dados”) armazena
informações de diversas fontes em um único local.
• Dessa forma, a empresa pode utilizar esse banco de informações
para os seus negócios de forma unificada.
• As informações armazenadas no Data Lake não seguem um padrão,
por isso pode-se misturar informações, como um arquivo texto, uma
imagem, um vídeo e até outros formatos de informações.
• O que o torna um Data Lake é a grande variedade de dados que nele
são armazenados, formatados ou não.

• Uma das vantagens em trabalhar com os Data Lakes é que todos os


funcionários de uma empresa conseguem acessar os dados do jeito
que quiserem, sem a necessidade de mover as informações para
sistemas proprietários ou sistemas que foram desenvolvidos para
atender algo específico.
3.1. Data Warehouse x Data Lake
• Muitos profissionais de TI confundem os dois conceitos – Data Warehouse e Data Lake –, porém a
única função que têm em comum é que fazem parte de uma infraestrutura para Big Data.

• O Data Warehouse possui um modelo muito estruturado para o armazenamento de informações.


Isso facilita bastante quando a empresa depende de relatórios bem estruturados para tomar melhores
decisões.

• Já o Data Lake possui vários tipos de informações que não seguem um padrão, o que ajuda a
armazenar qualquer tipo de informação de qualquer tamanho e formato.
4. Infraestrutura básica para Big Data
• Podemos citar cinco recursos básicos e críticos para a infraestrutura ideal do Big Data e Analytics:
• Escalabilidade: As necessidades de Big Data e Analytics crescem conforme a empresa cresce. E,
para acomodar esse crescimento, a infraestrutura deve apresentar escalabilidade e resiliência.
• Processamento paralelo: O Big Data pode precisar ser acessado de várias maneiras a partir de
vários lugares e em múltiplas taxas de velocidade e para isso o paralelismo é fundamental. Uma
gaveta longa ou 10 pequenas?
• Recursos de baixa latência: A latência da infraestrutura deve ser capaz de atender às metas dos
negócios de forma simples e elaborada.
• Otimização de dados: mais dados = melhor contexto = melhor confiança; porém nem todos os
dados precisam ser armazenados em mídias caras;
• Infraestrutura de redes: Definir onde e como montar a infraestrutura de rede como por exemplo
data center local, nuvem. Definir a infraestrutra para quem precisa ou pode vir a precisar usar os
dados como filiais, aquisições. Definir como será a redundâncias dos sistemas.
Arquitetura de dados
• Alguns recursos importantes a serem considerados no design da arquitetura de dados são:
• Virtualização de dados: para que seja possível se concentrar menos nos dados e mais na carga
de trabalho.
• Camada de dados automatizada e compactação: para que seja possível armazenar e usar mais
dados por menos dinheiro.
• Analytics usado em memória flash: a aceleração pode ser até 12 vezes mais rápida e pode ser
alcançada usando as últimas inovações em sistemas flash de armazenamento.
• Uso de plataformas que promovem a diversidade de cargas de trabalho dos variados tipos
de dados, bem como a alta demanda de dados: pode melhorar o desempenho com o
gerenciamento ajustado automaticamente.
Considerações Finais
• Nesta aula:
• Conceitos importantes sobre big data.
• Os sistemas de big data são adequados exclusivamente para revelar padrões difíceis de detectar e
fornecer informações sobre comportamentos que são impossíveis de encontrar por meios
convencionais.
• Os três tipos de segmentos de dados que podem ser estruturados, não estruturados e
semiestruturados.
• Introdução a análise de dados.
• Modelo de programação MapReduce.
REFERÊNCIAS
• O material exposto nesse documento (texto e imagens) foi extraído na íntegra da seguinte
referência.
• Lima, Adriano Carlos de
Segurança de dados e big data / Adriano Carlos de Lima. – São Paulo :
Editora Senac São Paulo, 2021. (Série Universitária)
Bibliografia. e-ISBN 978-65-5536-657-0
(ePub/2021) e-ISBN 978-65-5536-658-7 (PDF/2021)
1. Informação – Sistemas de armazenagem e recuperação – Medidas de segurança
2. Segurança da Informação – Medidas de segurança
3. Proteção de dados : Rede de computadores
4. Gestão de segurança da informação I. Título. II. Série

Você também pode gostar