Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Data Lake
Prof. Rodrigo Macedo
Escopo do Curso
• Data Lake
• Ingestão de Dados
• Armazenamento de Dados
• Processamento de Dados
• Questões de concursos
Motivação
• As organizações hoje dependem fortemente de dados para prever 
tendências, prever o mercado, planejar os requisitos futuros, 
entender os consumidores e tomar decisões de negócios. Mas, para 
realizar essas tarefas, é essencial obter acesso rápido aos dados 
corporativos em um só lugar.
Motivação
Data Lake
• O Data Lake (lago de dados) surgiu como uma definição do diretor de 
tecnologia da Pentaho, James Dixon, em uma análise das limitações 
do Data Mart, um padrão para armazenamento de dados. 
• Segundo ele, um dos grandes desafios era justamente o fato de que 
as informações ficavam presas em silos. 
• Portanto, para chegar a uma solução mais adequada à era do Big 
Data, ele propôs o lago de dados.
• A grande característica específica desse conceito é que ele permite 
armazenar dados de diferentes fontes, em formatos diversos, em 
estado cru, sem tratamento prévio. 
• Ou seja, ele guarda as informações exatamente como vieram, sem 
estabelecer nenhum objetivo inicialmente. Na medida em que os 
dados são usados, as finalidades vão sendo estabelecidas.
Data Lake
• Os dados são salvos sem necessidade de esquema prévio. Enquanto 
outros modelos de repositório exigem esquemas já na escrita, o Data 
Lake só requer um na fase de leitura, quando as informações forem 
necessárias. 
• Então, permite manter uma grande quantidade de informações não 
estruturadas ou semi estruturadas em um local, aguardando o uso.
• No DL, os dados são guardados com metadados, que permitem saber 
mais sobre eles. Dessa forma, é possível encontrar as informações 
posteriormente e recuperá-las para análise.
• No Lake, podem ser importadas informações de internet das coisas, 
sistemas empresariais, websites, ferramentas analíticas, redes sociais, 
entre outras fontes. É possível oferecer suporte aos 3 Vs do Big Data: 
variedade, volume e velocidade. 
Data Lake
Data Lake
Pipeline Dados
• Um pipeline de dados se refere às etapas envolvidas na 
movimentação de dados do sistema de origem para o sistema de 
destino. Essas etapas incluem copiar dados, transferi-los de um local 
no local para a nuvem e combiná-los com outras fontes de dados. 
• O objetivo principal de um pipeline de dados é garantir que todas 
essas etapas ocorram de forma consistente para todos os dados.
Pipeline Dados
• Se gerenciado eficazmente com ferramentas de pipeline de dados, 
um pipeline de dados pode oferecer às empresas acesso a conjuntos 
de dados consistentes e bem estruturados para análise. 
• Os engenheiros de dados podem consolidar informações de várias 
fontes e usá-las propositalmente, sistematizando a transferência e a 
transformação de dados. 
• Por exemplo, um pipeline de dados da AWS permite que os usuários 
movam dados livremente entre os dados locais da AWS e outros 
recursos de armazenamento.
Pipeline Dados
Ingestão de Dados
• É definido como o processo de absorver dados de uma variedade de 
fontes e transferi-los para um local de destino onde podem ser 
depositados e analisados. 
• De modo geral, os destinos podem ser um banco de dados, data 
warehouse, armazenamento de documentos, data mart, etc. 
• Por outro lado, existem várias opções de origem, como planilhas, 
extração de dados da web ou web scrapping, aplicativos internos e 
SaaS dados.
• Esse processo tem o conceito fundamental de carregar dados de 
diversas fontes e enviar para um Data Lake, centralizando em um único 
repositório para posterior consumo, analise e tratamento.
Ingestão de Dados
• Os dados corporativos geralmente são armazenados em várias fontes e 
formatos. 
• Por exemplo, os dados de vendas são armazenados no Salesforce.com, 
os DBMSs relacionais armazenam informações do produto etc. 
• Como esses dados se originam de diferentes locais, eles devem ser 
limpos e convertido em uma forma que pode ser facilmente analisada 
para a tomada de decisão usando uma ferramenta de ingestão de 
dados fácil de usar. 
• Caso contrário, você ficará com peças do quebra-cabeça que não 
podem ser unidas.
• A ingestão de dados pode ser realizada de diferentes maneiras, como 
em tempo real, lotes ou uma combinação de ambos (conhecida como 
arquitetura lambda), dependendo dos requisitos de negócios. 
Ingestão de Dados
Ingestão de Dados - Benefícios
• A ingestão de dados é a primeira camada na arquitetura de Big Data -
esta é a camada responsável por coletar dados de várias fontes de 
dados - dispositivos IoT, data lakes, bancos de dados e aplicativos SaaS 
- em um data warehouse de destino.
Ingestão de Dados - Benefícios
1. Disponibilidade - Os dados estão disponíveis para todos os 
usuários: analistas de BI, desenvolvedores, vendas e 
qualquer outra pessoa da empresa pode acessar os dados.
2. Uniformidade - um processo de ingestão de dados de 
qualidade pode transformar diferentes tipos de dados em 
dados unificados que são fáceis de ler e executar estatísticas 
e manipulações.
3. Economize dinheiro e tempo - um processo de ingestão de 
dados economiza tempo dos engenheiros na tentativa de 
coletar os dados de que precisam e desenvolver com 
eficiência.
Ingestão de Dados - Benefícios
•A ingestão de dados tem inúmeros benefícios para 
qualquer organização, pois permite que uma empresa 
tome melhores decisões, forneça um serviço 
aprimorado ao cliente e crie produtos superiores.
• Em outras palavras, o processo de ingestão de dados 
ajuda uma empresa a entender melhor as 
necessidades e o comportamento de seu público e a se 
manter competitiva, por isso uma ampla pesquisa deve 
ser feita ao procurar empresas que ofereçam serviços 
de ingestão de dados.
•No geral, a ingestão de dados é uma das maneiras mais 
eficazes de lidar com dados imprecisos e não 
confiáveis.
Ingestão de Dados - Desafios
Desafios que podem afetar a ingestão de dados e o 
desempenho do pipeline:
1. Processos lentos: Escrever códigos para ingerir 
dados e criar manualmente mapeamentos por 
extração, limpeza, e o carregamento de dados pode 
ser complicado, pois os dados hoje crescem em 
volume e se tornam altamente diversificados. Os 
procedimentos antigos de ingestão de dados não 
são rápidos o suficiente para persistir com o volume 
e a variedade de fontes de dados variáveis. 
Portanto, uma ferramenta avançada de ingestão de 
dados é necessária para facilitar o processo.
Ingestão de Dados - Desafios
Desafios que podem afetar a ingestão de dados e o 
desempenho do pipeline:
1. Maior complexidades: Com a constante evolução 
de novas fontes de dados e dispositivos de Internet, 
as empresas acham difícil executar integração de 
dados para extrair valor de seus dados. Isso se deve 
principalmente à capacidade de se conectar a essa 
fonte de dados e limpar os dados adquiridos dela, 
como identificar e eliminar falhas e inconsistências 
de esquema nos dados.
Ingestão de Dados - Desafios
Desafios que podem afetar a ingestão de dados e o 
desempenho do pipeline:
1. Custo: A ingestão de dados pode se tornar cara devido a 
vários fatores. Por exemplo, a infraestrutura necessária 
para oferecer suporte às várias fontes de dados e 
ferramentas patenteadas pode ser muito dispendiosa para 
manutenção a longo prazo. Da mesma forma, manter uma 
equipe de cientistas de dados e outros especialistas para 
dar suporte ao pipeline de ingestão também é caro.
2. Segurança de dados: Ao transferir dados de um lugar para 
outro, existe o risco de segurança dos dados confidenciais.
Ingestão de Dados Batch
• Ingestão de dados em lote, o que significa que os dados foram 
movidos das fontes de dados para o destino de dados em 
intervalos programados.
• A ingestão em lote é útil quando as empresas precisam 
coletar dados diariamente.
• O processamento em batch é usado com frequência quando 
se lida com grandes volumes de dados ou fontes de dados de 
sistemas legados, em que não é possívelentregar dados em 
fluxos. 
• Ele também, por definição, exige que todos os dados 
necessários para o lote sejam carregados em algum tipo de 
armazenamento, um banco de dados ou sistema de arquivos 
para serem processados.
Ingestão de Dados Batch
Ingestão de Dados Batch
Ingestão de Dados Streaming
• Este é o processo para coletar e processar dados de várias fontes de 
dados em tempo real - também conhecido como streaming, usaremos 
essa abordagem quando os dados coletados forem sensíveis ao 
tempo.
• Por exemplo - os dados provenientes dos sensores dos tanques de 
óleo serão críticos em casos de vazamento.
• Como o processamento stream é responsável pelo processamento de 
dados em movimento e pelo rápido fornecimento de análise, ele gera 
resultados quase instantâneos usando plataformas de Business 
Intelligence.
• Os dados são obtidos, manipulados e carregados assim que são 
criados ou reconhecidos pela camada de ingestão de dados. 
• Esse tipo de ingestão é mais caro, pois exige que os sistemas 
monitorem constantemente as fontes e aceitem novas informações.
Ingestão de Dados Streaming
Ingestão de Dados Streaming
Ingestão de Dados - CDC
• CDC é um padrão de integração de dados que vem se tornando 
cada mais vez mais comum hoje em dia. CDC significa, do 
inglês, Change Data Capture: uma tradução direta para o 
português seria Captura de Dados Alterados.
• Em resumo, uma ferramenta que suporta CDC é capaz de 
capturar os dados de uma origem no momento em que estes 
são criados ou alterados, e os transportam para um destino, 
com baixa latência.
• Atualmente CDC é usado em arquiteturas de microsserviços, e 
também, majoritariamente, em arquiteturas de integração de 
dados. 
Ingestão de Dados - CDC
• Em contraste com a replicação completa da base de dados, que 
se torna mais e mais complicada conforme a quantidade de 
dados aumenta, existe o método conhecido por Change Data 
Capture – CDC, este processo, por sua vez, captura apenas as 
alterações adicionadas na base de dados entre uma versão e 
outra e pode transferir em tempo real essas mudanças para um 
outro destino, como por exemplo um data lake ou data 
warehouse, incluindo plataformas em nuvem como Amazon S3, 
Amazon Redshift, Google Cloud Storage, Snowflake e Microsoft 
Azure.
• Na prática, o CDC sincroniza os bancos de dados instantânea e 
automaticamente assim que os dados de origem são alterados. 
Uma vez que os dados estejam replicados, é possível fazer as 
análises necessárias no data lake, sem sobrecarregar o banco 
de dados de produção. 
Ingestão de Dados - CDC
• Benefícios com essa integração:
1. O primeiro é a velocidade com que os dados são propagados 
da origem para o destino (near real-time, baixa latência);
2. O segundo é a heterogeneidade, uma vez que as ferramentas 
de CDC geralmente permitem capturar em um formato 
(plataforma, tecnologia, máquina, etc) e entregar em outro 
completamente diferente. Você pode capturar dados de um 
banco de dados relacional, e entregá-los a um filesystem em 
formato JSON. Capturar dados de uma fila de mensagens, e 
entregá-los a um banco de dados. Capturar dados do Hive e 
entregar para um Kafka, e assim por diante.
Ingestão de Dados - CDC
• Estratégias em Velocidade na ingestão:
1. O primeiro deles, snapshot, é o mais simples, e o pior (mais lento) 
deles. Snapshot é como uma foto em um ponto no tempo. Você 
pode buscar os dados, por exemplo, todo dia à meia-noite. O 
método de snapshot sempre vai trazer tudo, e por isso, quanto 
maior a quantidade de dados, mais tempo para trazê-los, mais 
tempo de impacto na origem
2. Batches incrementais são um pouco melhores do que o snapshot. 
Com esta abordagem você vai sempre trazer as diferenças desde o 
último batch incremental. O período de execução do batch 
incremental pode ser 1 vez por dia, 1 vez por hora, ou 1 vez a cada 
15 minutos, por exemplo.
3. CDC é a terceira abordagem, ela oferece a melhor velocidade, e o 
menor impacto da origem. Geralmente as ferramentas que 
implementam CDC suportam os seguintes tipos de origens (source) 
e destinos (targets): bancos de dados, filesystems, APIs e brokers de 
eventos (streams).
Ingestão de Dados - CDC
Ingestão de Dados - Tipos CDC
• Abordagem usando Logs: cada mudança feita pelos usuário 
nos logs de transação, estes logs existem para garantir que 
quando necessário um estado anterior dos dados seja 
restaurado e não haja nenhuma perda. Uma solução de CDC 
baseada em logs lê as mudanças descritas nos logs de 
transação da base fonte e as reproduz na base de destino. Esta 
abordagem possui alta confiabilidade, e os logs de transações 
ficam separados dos registros em um banco de dados, 
portanto, não há necessidade de escrever procedimentos 
adicionais que colocam mais carga no sistema. Uma 
desvantagem é que cada sistema de gerenciamento de banco 
de dados possui sua própria sintaxe para a escrita do log de 
transações, o que torna mais difícil a replicação e generalização 
desta abordagem, por exemplo, o log de transações do MySQL 
é o Binary Log (binlog), enquanto o do PostgreSQL é o Write-
Ahead Logging (WAL).
Ingestão de Dados - Tipos CDC
• Abordagem usando Logs
Ingestão de Dados - Tipos CDC
• Abordagem usando Triggers: os triggers (gatilhos) são funções 
a nível de banco de dados que executam quando um 
determinado evento acontece, por exemplo, “BEFORE UPDATE” 
ou “AFTER INSERT” de uma tabela. Os triggers podem dificultar 
a performance do banco de dados, porque eles são executados 
à medida que as mudanças são feitas na base. Para uma 
solução CDC com triggers, a cada transação, as mudanças 
inseridas são capturadas por triggers e salvas numa tabela 
separada (bem como nos logs de transação) o que 
sobrecarrega o banco com uma carga extra de trabalho, além 
disso, os triggers precisam ser definidos separadamente tabela 
por tabela que será replicada.
Ingestão de Dados - Tipos CDC
Ingestão de Dados - Aplicabilidade CDC
• Aplicabilidade CDC:
1. Migrações de plataformas e sistemas: migrar dados de um sistema 
legado, como um mainframe, para uma plataforma mais moderna 
(JSON, REST, Microsserviços, Cloud, etc). Migrar plataforma com 
CDC permite desacoplar o antigo do novo. Em outras palavras, é 
possível conviver com ambas as plataformas ao mesmo tempo sem 
precisar de uma migração big bang. Mudanças realizadas no sistema 
novo são propagadas para o sistema antigo, e vice-versa.
2. Carga em tempo real para Data Warehouses: com CDC você 
captura as mudanças de dados dos sistemas transacionais e já as 
entrega para o DW, em near real-time. É a letra E do ETL feita de 
uma forma não-batch. O CDC permite que o DW seja atualizado 
praticamente a todo tempo, e por isso essa capacidade habilita a 
disponibilização dos dados para suporte à decisão em tempo quase 
near real-time.
Ingestão de Dados - Aplicabilidade CDC
• Aplicabilidade CDC:
1. Atualizações de caches e índices: você pode manter um cache 
atualizado no Redis (ou qualquer outro mecanismo de cache ou 
data grid), e atualizar um Search Index no ElasticSearch, por 
exemplo, na medida que os dados são alterados em uma fonte de 
dados transacional. 
2. Atualização de tabelas read-only em Microsserviços: nas 
arquiteturas de microsserviços, onde geralmente cada serviço tem 
seu próprio banco de dados, o correto seria um serviço chamar uma 
API de outro para obter seus dados, mas nem sempre isso é 
possível, e pode gerar problemas de desempenho. Manter uma 
réplica read only em bancos de dados de outros serviços, 
sincronizados por meio de CDC, pode melhorar bastante a 
performance e ainda assim manter as características de 
disponibilidade e autonomia dos microsserviços.
Ingestão de Dados - Aplicabilidade CDC
Armazenamento de Dados
• Essa camada está na extremidade receptora do Big Data. Ele 
recebe dados das várias fontes de dados e os armazena da 
maneira mais adequada. 
• Essa camada pode até alterar o formato dos dados de acordo 
com os requisitos do sistema. Por exemplo,os dados de 
processamento em lote geralmente são armazenados em 
sistemas de armazenamento de arquivos distribuídos, como 
HDFS, que são capazes de armazenar dados de alto volume 
também em diferentes formatos. 
• Por outro lado, os dados estruturados podem ser armazenados 
usando apenas RDBMS. Tudo depende do formato dos dados e 
da finalidade para a qual precisamos deles.
Armazenamento de Dados
• Os componentes de armazenamento incluem bancos de dados 
(bancos de dados SQL e NoSQL, com bancos de dados NoSQL 
divididos em vários tipos de acordo com vários modelos de 
dados), armazenamento de objetos, armazenamento de 
arquivos e cache de alta velocidade. 
• A principal razão para a complexidade das opções de 
armazenamento no mercado é que os arquitetos devem 
considerar de forma abrangente vários fatores, como camadas 
de dados, redução de custos e preferências de otimização de 
consultas online e offline.
Armazenamento de Dados
Armazenamento de Dados - Premissas
• A tecnologia atual está se desenvolvendo de forma 
diversificada. Nenhum produto de armazenamento atende aos 
requisitos de gravação, armazenamento, consulta e análise de 
dados em todos os cenários.
1. Você precisa dividir os componentes de armazenamento em 
diferentes camadas de dados, com preferências de 
otimização para escala, custo, consulta e desempenho de 
análise. Durante a seleção, as principais métricas necessárias 
para o armazenamento de dados devem ser claras.
2. A relação de replicação de dados deve ser claramente 
organizada para distinguir entre armazenamento primário e 
secundário. 
Armazenamento de Dados - Premissas
1. Modelos de dados e linguagens de consulta são as diferenças 
mais significativas entre bancos de dados. Modelos 
relacionais e modelos de documentos são modelos 
relativamente abstratos, enquanto modelos não relacionais, 
como séries temporais, gráficos e modelos de valor-chave, 
são abstrações relativamente concretas. Por exemplo, você 
precisa combinar um modelo de gráfico concreto em um 
cenário para restringir o escopo de seleção.
2. Você precisa criar um canal de troca de dados flexível para 
obter uma migração rápida de dados e alternar entre os 
componentes de armazenamento. Construir uma capacidade 
de iteração rápida é mais importante do que melhorar a 
escalabilidade para requisitos desconhecidos.
• Diante de tal necessidade, surgiu uma abordagem muito 
interessante sobre isso: persistência poliglota.
Persistência Poliglota
• A persistência poliglota é a ideia de usar vários bancos de 
dados para alimentar um único aplicativo.
• A persistência poliglota é a maneira de compartilhar ou dividir 
seus dados em vários bancos de dados e alavancar seu poder 
juntos. 
• Ele aproveita a força de diferentes bancos de dados. Aqui vários 
tipos de dados são organizados de várias maneiras.
• Em suma, significa escolher a ferramenta certa para o caso de 
uso certo.
Persistência Poliglota
• Vantagens - Persistência Poliglota:
1. Tempos de resposta mais rápidos: Nisso, aproveitamos todos os 
recursos de bancos de dados em um único aplicativo, o que torna os 
tempos de resposta do seu aplicativo muito rápidos.
2. Ajuda seu aplicativo a ser bem dimensionado: seu aplicativo se 
dimensiona excepcionalmente bem com os dados. Todos os bancos 
de dados NoSQL são bem dimensionados quando você modela 
bancos de dados corretamente para os dados que deseja armazenar.
3. Uma experiência rica: você tem uma experiência vibrante quando 
aproveita o poder de vários bancos de dados simultaneamente. Por 
exemplo, se você quiser pesquisar produtos em um aplicativo de 
comércio eletrônico, use o ElasticSearch, que retorna os resultados 
com base na relevância, o que o MongoDB não pode fazer.
Persistência Poliglota
HDFS
• HDFS (Hadoop Distributed File System):
1. O HDFS é um sistema de arquivos Java que fornece 
armazenamento de dados escalável e confiável e ajudou a 
abranger grandes clusters de servidores comuns.
2. Ele contém uma enorme quantidade de dados e fornece 
acesso mais fácil.
3. Para armazenar dados tão grandes, os arquivos são 
armazenados em várias máquinas. Esses arquivos são 
armazenados de forma redundante para resgatar o sistema 
de possíveis perdas de dados em caso de falha.
4. HDFS e YARN formam a camada de gerenciamento de dados 
do Apache Hadoop na estrutura de ingestão de dados.
HDFS
• HDFS (Hadoop Distributed File System):
1. O HDFS também disponibiliza aplicativos para processamento 
paralelo na ingestão de dados. O HDFS foi desenvolvido para 
oferecer suporte a aplicativos com grandes conjuntos de 
dados, incluindo arquivos individuais que atingem os 
terabytes.
2. Ele usa uma arquitetura mestre/escravo, com cada cluster 
consistindo em um único NameNode que gerencia as 
operações do sistema de arquivos e suporta DataNodes que 
gerenciam o armazenamento de dados em nós de 
computação individuais.
3. Quando o HDFS recebe dados, ele divide as informações em 
partes separadas e as distribui para diferentes nós em um 
cluster, permitindo o processamento paralelo.
HDFS
• HDFS (Hadoop Distributed File System):
1. É adequado para armazenamento e processamento 
distribuído.
2. O Hadoop fornece uma interface de comando para interagir 
com o HDFS.
3. Os servidores integrados do nó de nome e do nó de dados 
ajudam os usuários a verificar rapidamente o status do 
cluster.
4. Acesso de streaming aos dados do sistema de arquivos no 
fluxo do processo de ingestão de dados.
5. O HDFS fornece permissões de arquivo e autenticação.
HDFS
GlusterFS
• Uma boa solução de armazenamento deve fornecer 
elasticidade no armazenamento e no desempenho sem afetar 
as operações ativas. 
• Os sistemas de armazenamento escaláveis ​​baseados em 
GlusterFS são adequados para dados não estruturados, como 
documentos, imagens, arquivos de áudio e vídeo e arquivos de 
log. 
• GlusterFS é um sistema de arquivos de rede escalável. Usando 
isso, podemos criar soluções de armazenamento grandes e 
distribuídas para streaming de mídia, análise de dados, 
ingestão de dados e outras tarefas com uso intensivo de dados 
e largura de banda.
GlusterFS
• É Código Aberto.
• Você pode implantar o GlusterFS com a ajuda de servidores de 
hardware comuns.
• Dimensionamento linear de desempenho e capacidade de 
armazenamento.
• Dimensione o tamanho do armazenamento para vários 
petabytes, que podem ser acessados ​​por milhares de 
servidores, visando a escalabilidade.
• Sistema de arquivos distribuído e descentralizado.
• Descarta a necessidade da utilização de servidores de 
metadados.
• Muito usado no contexto de Cloud Computing e mídias em 
Streaming.
GlusterFS
S3
• O Amazon Simple Storage Service (Amazon S3) é serviço um 
armazenamento de objetos com uma interface de serviço web 
simples para armazenar e recuperar quaisquer dados de 
qualquer lugar na Internet.
• Ele oferece 99,99% de durabilidade e escala trilhões de objetos 
em todo o mundo. 
• Os clientes usam o S3 como armazenamento primário para 
aplicativos nativos da nuvem, como um repositório em massa 
ou “data lake” para análises, como destino para backup e 
recuperação e recuperação de desastres. Com a arquitetura 
sem servidor da computação (Serveless) de big data.
• É simples mover grandes volumes de dados para dentro ou 
para fora do S3 com as opções de migração de dados em 
nuvem da Amazon.
S3
• Armazenamento de arquivos para aplicações web: como arquivos 
CSS e JavaScript do frontend da sua aplicação, e imagens enviadas 
pelos seus usuários via upload. 
• Arquivos de backups e logs: você pode armazenar arquivos privados, 
como logs de alguma aplicação, ou até mesmo backups de longo 
prazo do seu banco de dados, usados para fins legais. 
• Archive para um grande volume de dados: é possível armazenar 
muita coisa no S3. É possível armazenar objetos com até 5 terabytes e 
um bucket suporta um número ilimitado de objetos. Para grandes 
volumes de dados você pode utilizar o S3 Glacier e economizar aindamais o custo de armazenamento. 
• Hospedagem de sites estáticos: se você tem uma aplicação web que 
consiste só em arquivos estáticos, ou uma Single Page Applications 
(SPA), você pode utilizar somente o S3 para hospedar essa aplicação 
em completo. 
S3
https://medium.com/ensina-ai/busca-por-objetos-em-imagens-com-amazon-rekognition-e-elasticsearch-38c988e653b
Processamento de Dados
• Nesta camada primária da Arquitetura de Big Data, o foco é 
especializar-se no sistema de processamento de pipeline de 
dados. Podemos dizer que os dados que coletamos na camada 
anterior são processados ​​nessa camada. Aqui fazemos uma 
mágica com os dados para roteá-los para um destino diferente 
e classificar o fluxo de dados, e é o primeiro ponto em que a 
análise pode ocorrer.
• Nesta camada principal, o foco é especializar o sistema de 
processamento do Data Pipeline, ou podemos dizer que os 
dados que coletamos pela última camada, nesta próxima 
camada temos que fazer o processamento desses dados.
Processamento de Dados
• O desafio do processamento de big data é que a quantidade de dados 
a serem processados ​​está sempre no nível que o disco rígido pode 
conter, mas muito mais do que a quantidade de memória de 
computação disponível em um determinado momento. 
• A maneira fundamental de processamento de dados eficiente é dividir 
os dados em pedaços menores e processá-los em paralelo. 
• Em outras palavras, a escalabilidade é alcançada habilitando primeiro 
o processamento paralelo na programação, de modo que, quando o 
volume de dados aumenta, o número de processos paralelos 
aumenta, enquanto cada processo continua a processar uma 
quantidade de dados semelhante à anterior; segundo, adicionando 
mais servidores com mais processadores, memória e discos à medida 
que o número de processos paralelos aumenta.
Processamento de Dados
Processamento Paralelo
• Processamento paralelo é uma forma mais eficiente de 
trabalhar informações, ele tem ênfase na exploração de 
eventos simultâneos na execução de um programa. Na prática, 
consiste no uso simultâneo de várias unidades de 
processamento (CPUs) para realizar trabalhos computacionais.
• “O MPP é uma forma de processamento colaborativo do 
mesmo programa por dois ou mais processadores (CPU). Cada 
processador lida com diferentes threads do programa, e cada 
processador possui seu próprio sistema operacional e memória 
dedicada. Uma interface de mensagens é necessária para 
permitir que os diferentes processadores envolvidos no MPP 
organizem o tratamento de segmentos. Às vezes, um aplicativo 
pode ser manipulado por milhares de processadores 
trabalhando de forma colaborativa no aplicativo.”
Processamento Paralelo
O uso de múltiplas CPUs permite que os computadores resolvam 
problemas matemáticos da seguinte forma:
• um problema é quebrado em diversas partes menores;
• cada pedaço é dividido em uma série de instruções ainda 
menores;
• elas são distribuídas entre as diversas CPUs para serem 
resolvidas concomitantemente.
• Seguindo essas etapas, a velocidade de resolução de 
problemas será aprimorada exponencialmente. Essa estratégia 
é uma grande aliada nas operações que acumulam uma grande 
quantidade de dados e que precisam ser trabalhadas 
rapidamente.
Processamento Paralelo
Processamento de dados - Ferramentas
Apache Storm: É um sistema para processamento de dados de 
streaming em tempo real durante a ingestão de dados. Ele 
adiciona recursos confiáveis ​​de processamento de dados em 
tempo real ao Enterprise Hadoop. O Storm on YARN é poderoso 
para cenários que exigem análises em tempo real, aprendizado 
de máquina e monitoramento contínuo de operações.
• Rápido: pode processar um milhão de mensagens de 100 bytes 
por segundo por nó.
• Escalável: pode fazer cálculos paralelos que são executados em 
um cluster de máquinas.
• Tolerante a falhas: quando os workers morrem, o Storm os 
reiniciará automaticamente. Se um nó morrer, o worker será 
reiniciado em outro nó.
Processamento de dados - Ferramentas
• Confiável: Storm garante que cada unidade de dados (tupla) 
será processada pelo menos uma vez ou exatamente uma vez. 
As mensagens são reproduzidas apenas quando há falhas.
• Fácil de operar: Consiste em configurações padrão que são 
adequadas para produção no primeiro dia. Uma vez 
implantado, a ingestão de dados, o Storm é fácil de trabalhar.
• Sistema de processamento híbrido: consiste em recursos do 
sistema de processamento em lote e em tempo real. Este tipo 
de ferramenta de processamento utilizada é Apache Spark e 
Apache Flink.
Processamento de dados - Ferramentas
Apache Spark: é um mecanismo rápido de processamento de 
dados na memória com APIs de desenvolvimento elegantes e 
expressivas para permitir que os trabalhadores de dados 
executem com eficiência streaming, aprendizado de máquina ou 
cargas de trabalho SQL que exigem acesso iterativo rápido a 
conjuntos de dados.
• Com o Spark em execução no Apache Hadoop YARN, os 
desenvolvedores de todos os lugares agora podem criar 
aplicativos para explorar o poder do Spark, obter insights e 
enriquecer suas cargas de trabalho de ciência de dados em um 
único conjunto de dados compartilhado no Hadoop. O 
processamento é realizado em memória, diferentemente do 
Hadoop MapReduce.
Q1) [CESPE SERPRO 2021] Acerca dos conceitos de ingestão de dados, julgue o 
item subsequente.
No ambiente de ingestão de dados, CDC refere-se ao controle distribuído de 
computação de dados coletados remotamente para o ambiente de análise. 
Q2) [CESPE SERPRO 2021] Acerca dos conceitos de ingestão de dados, julgue o 
item subsequente.
O principal objetivo da ingestão de dados é organizar, armazenar e recuperar 
dados em tabelas relacionadas a entidades do mundo real. 
Q3) [CESPE SERPRO 2021] Acerca dos conceitos de ingestão de dados, julgue o 
item subsequente.
Quando a ingestão de dados ocorre em lotes, esses dados são movidos em 
intervalos programados, abordagem que é benéfica para os processos 
repetíveis. 
Q1) [CESPE SERPRO 2021] Acerca dos conceitos de ingestão de dados, julgue o 
item subsequente.
No ambiente de ingestão de dados, CDC refere-se ao controle distribuído de 
computação de dados coletados remotamente para o ambiente de análise. 
ERRADO.
Q2) [CESPE SERPRO 2021] Acerca dos conceitos de ingestão de dados, julgue o 
item subsequente.
O principal objetivo da ingestão de dados é organizar, armazenar e recuperar 
dados em tabelas relacionadas a entidades do mundo real. ERRADO.
Q3) [CESPE SERPRO 2021] Acerca dos conceitos de ingestão de dados, julgue o 
item subsequente.
Quando a ingestão de dados ocorre em lotes, esses dados são movidos em 
intervalos programados, abordagem que é benéfica para os processos 
repetíveis. CERTO. 
Q4) [COMPERVE TJ RN 2021] Big Data surgiu a partir da necessidade de 
manipular um grande volume de dados e, com isso, novos conceitos foram 
introduzidos, como o Data Lake, que 
a) pode ser considerado um repositório de dados relacionados, sendo, 
portanto, um armazém de dados orientado por assunto. 
b) pode ser considerado um conjunto de bancos de dados relacionais e com 
relacionamentos entre tabelas de diferentes esquemas de bancos de dados. 
c) é o resultado de sucessivas operações de mineração de dados, sendo um 
ambiente no qual é possível ter relatórios e dashboards de maneira amigável 
para os analistas de negócio. 
d) é projetado para armazenar dados de diversas fontes e formatos, não 
havendo a necessidade da definição de um esquema de dados para inserir 
novos itens. 
Q4) [COMPERVE TJ RN 2021] Big Data surgiu a partir da necessidade de 
manipular um grande volume de dados e, com isso, novos conceitos foram 
introduzidos, como o Data Lake, que 
a) pode ser considerado um repositório de dados relacionados, sendo, 
portanto, um armazém de dados orientado por assunto. 
b) pode ser considerado um conjunto de bancos de dados relacionais e com 
relacionamentos entre tabelas de diferentes esquemas debancos de dados. 
c) é o resultado de sucessivas operações de mineração de dados, sendo um 
ambiente no qual é possível ter relatórios e dashboards de maneira amigável 
para os analistas de negócio. 
d) é projetado para armazenar dados de diversas fontes e formatos, não 
havendo a necessidade da definição de um esquema de dados para inserir 
novos itens.

Mais conteúdos dessa disciplina