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.