Você está na página 1de 26

A ascensão do “Big Data” na computação em nuvem: revisão e questões abertas de pesquisa.

Resumo

A computação em nuvem é uma tecnologia poderosa para executar computação complexa e em


grande escala. Elimina a necessidade de manter hardware de computação caro, espaço
dedicado e software. Um crescimento maciço na escala de dados ou "big data" gerados através
da computação em nuvem tem sido observado. O endereçamento de big data é uma tarefa
desafiadora e demorada que exige uma grande infraestrutura computacional para garantir o
sucesso no processamento e a análise de dados. O aumento do big data na computação em
nuvem é revisado neste estudo. A definição, as características e a classificação de big data,
juntamente com algumas discussões sobre computação em nuvem, são apresentadas. A relação
entre big data e computação em nuvem, sistemas de armazenamento de big data e tecnologia
Hadoop também é discutida. Além disso, os desafios de pesquisa são investigados, com foco em
escalabilidade, disponibilidade, integridade de dados, transformação de dados, qualidade de
dados, heterogeneidade de dados, privacidade, questões legais e regulatórias e governança. Por
último, questões de pesquisa abertas que exigem esforços substanciais de pesquisa são
resumidas.

1. Introdução

O aumento contínuo no volume e no detalhamento dos dados capturados pelas organizações,


como o crescimento das mídias sociais, a Internet das coisas (IoT) e a multimídia, produziram um
fluxo avassalador de dados em formato estruturado ou não estruturado. A criação de dados está
ocorrendo a uma taxa recorde, aqui referida como big data, e surgiu como uma tendência
amplamente reconhecida. Big data está atraindo a atenção da academia, governo e indústria. Os
dados grandes são caracterizados por três aspectos: (a) os dados são numerosos, (b) os dados
não podem ser categorizados em bancos de dados relacionais regulares e (c) os dados são
gerados, capturados e processados ​rapidamente. Além disso, o big data está transformando a
saúde, a ciência, a engenharia, as finanças, os negócios e, por fim, a sociedade. Os avanços no
armazenamento de dados e tecnologias de mineração permitem a preservação de quantidades
crescentes de dados descritos por uma mudança na natureza dos dados mantidos pelas
organizações. A taxa na qual os novos dados estão sendo gerados é impressionante. Um grande
desafio para os pesquisadores e profissionais é que essa taxa de crescimento excede sua
capacidade de projetar plataformas apropriadas de computação em nuvem para análise de
dados e atualização de cargas de trabalho intensivas.

A computação em nuvem é uma das mudanças mais significativas nos ICT e serviços modernos
para aplicativos corporativos e se tornou uma arquitetura poderosa para executar computação
complexa e em larga escala. As vantagens da computação em nuvem incluem recursos
virtualizados, processamento paralelo, segurança e integração de serviços de dados com
armazenamento de dados escalável. A computação em nuvem pode não apenas minimizar o
custo e a restrição para automação e informatização por parte de indivíduos e empresas, mas
também pode reduzir o custo de manutenção da infraestrutura, o gerenciamento eficiente e o
acesso do usuário. Como resultado das vantagens mencionadas, várias aplicações que utilizam
várias plataformas de nuvem foram desenvolvidas e resultaram em um tremendo aumento na
escala de dados gerados e consumidos por tais aplicativos. Alguns dos primeiros usuários do big
data na computação em nuvem são os usuários que implantaram clusters do Hadoop em
ambientes de computação altamente escaláveis ​e elásticos fornecidos por fornecedores, como
IBM, Microsoft Azure e Amazon AWS. A virtualização é uma das tecnologias básicas aplicáveis ​à
implementação da computação em nuvem. A base para muitos atributos de plataforma
necessários para acessar, armazenar, analisar e gerenciar componentes de computação
distribuída em um ambiente de big data é obtida por meio da virtualização.

A virtualização é um processo de compartilhamento de recursos e isolamento do hardware


subjacente para aumentar a utilização, a eficiência e a escalabilidade dos recursos do
computador. O objetivo deste estudo é implementar uma investigação abrangente do status de
Big Data em ambientes de computação em nuvem e fornecer a definição, características e
classificação de Big Data, juntamente com algumas discussões sobre computação em nuvem. A
relação entre big data e computação em nuvem, big data storage systems e tecnologia Hadoop
é discutida. Além disso, os desafios de pesquisa são discutidos, com foco em escalabilidade,
disponibilidade, integridade de dados, transformação de dados, qualidade de dados,
heterogeneidade de dados, privacidade, questões legais e regulatórias e governança. Diversas
questões abertas de pesquisa que exigem esforços substanciais de pesquisa são igualmente
resumidas. O restante deste trabalho está organizado da seguinte forma. A seção 2 apresenta a
definição, características e classificação de big data. A seção 3 fornece uma visão geral da
computação em nuvem. A relação entre computação em nuvem e big data é apresentada na
Seção 4. A Seção 5 apresenta os sistemas de armazenamento de big data. A seção 6 apresenta o
plano de fundo do Hadoop e o MapReduce. Diversas questões, desafios de pesquisa e estudos
que foram conduzidos no domínio de big data são revisados ​na Seção 7. A Seção 8 fornece um
resumo das questões atuais de pesquisa aberta e apresenta as conclusões.

2. Definição e características do big data.

Big data é um termo utilizado para se referir ao aumento no volume de dados que são difíceis de
armazenar, processar e analisar por meio de tecnologias de bancos de dados tradicionais. A
natureza do Big Data é indistinta e envolve processos consideráveis ​para identificar e traduzir os
dados em novos insights. O termo "big data" é relativamente novo em TI e negócios. No
entanto, vários pesquisadores e praticantes utilizaram o termo na literatura anterior. Por
exemplo, [6] referiu-se ao big data como um grande volume de dados científicos para
visualização. Várias definições de big data existem atualmente. Por exemplo, [7] definiram big
data como “a quantidade de dados além da capacidade da tecnologia de armazenar, gerenciar e
processar com eficiência”. Enquanto isso, [8] e [9] definiram big data como caracterizado por
três Vs: volume, variedade e velocidade. Os termos volume, variedade e velocidade foram
originalmente introduzidos pelo Gartner para descrever os elementos dos desafios do big data.
A IDC também definiu as tecnologias de big data como “uma nova geração de tecnologias e
arquiteturas, projetada para extrair valor economicamente de grandes volumes de uma ampla
variedade de dados, permitindo a captura, descoberta e / ou análise de alta velocidade”. [10]
especificou que big data não é apenas caracterizado pelos três Vs mencionados acima, mas
também pode se estender a quatro Vs, ou seja, volume, variedade, velocidade e valor (Fig. 2).
Essa definição de 4V é amplamente reconhecida porque destaca o significado e a necessidade
do Big Data. A seguinte definição é proposta com base nas definições acima mencionadas e na
nossa observação e análise da essência do big data. Big data é um conjunto de técnicas e
tecnologias que exigem novas formas de integração para descobrir grandes valores ocultos de
grandes conjuntos de dados que são diversos, complexos e de grande escala.

Volume refere-se à quantidade de todos os tipos de dados gerados a partir de diferentes fontes
e continua a se expandir. O benefício de coletar grandes quantidades de dados inclui a criação
de informações e padrões ocultos por meio da análise de dados. [11] forneceram uma coleção
única de dados longitudinais de dispositivos móveis inteligentes e disponibilizaram essa coleção
para a comunidade de pesquisa. A referida iniciativa chama-se desafio de dados móveis
motivado pela Nokia [11]. A coleta de dados longitudinais requer um esforço considerável e
investimentos subjacentes. No entanto, tal desafio de dados móveis produziu um resultado
interessante semelhante àquele no exame da previsibilidade de padrões de comportamento
humano ou meios para compartilhar dados baseados em mobilidade humana e técnicas de
visualização de dados complexos. (2) Variedade refere-se aos diferentes tipos de dados
coletados por meio de sensores, smartphones ou redes sociais. Esses tipos de dados incluem
registros de vídeo, imagem, texto, áudio e dados, em formato estruturado ou não estruturado.
A maioria dos dados gerados a partir de aplicativos móveis está no formato não estruturado. Por
exemplo, mensagens de texto, jogos on-line, blogs e mídias sociais geram tipos diferentes de
dados não estruturados por meio de dispositivos móveis e sensores. Os usuários da Internet
também geram um conjunto extremamente diversificado de dados estruturados e não
estruturados [12]. (3) A velocidade refere-se à velocidade da transferência de dados. O
conteúdo dos dados muda constantemente devido à absorção de coleções de dados
complementares, introdução de dados arquivados anteriormente ou coleções legadas e dados
transmitidos que chegam de várias fontes [9]. (4) O valor é o aspecto mais importante do big
data; refere-se ao processo de descobrir enormes valores ocultos de grandes conjuntos de
dados com vários tipos e geração rápida [13]. 2.1. Classificação de big data Os big data são
classificados em diferentes categorias para melhor entender suas características. A figura 2
mostra as numerosas categorias de big data. A classificação é importante por causa dos dados
em grande escala na nuvem. A classificação é baseada em cinco aspectos: (i) fontes de dados, (ii)
formato de conteúdo, (iii) armazenamentos de dados, (iv) preparação de dados e (v)
processamento de dados.

Cada uma dessas categorias tem suas próprias características e complexidades. As fontes de
dados incluem dados da Internet, detecção e todas as lojas de informações transnacionais,
variando de não estruturadas a altamente estruturadas são armazenadas em vários formatos. O
mais popular é o banco de dados relacional que vem em um grande número de variedades [29].
Como resultado da ampla variedade de ajustes de dados, os dados capturados diferem em
relação à redundância, consistência e ruído, etc.
3. Computação na núvem

A computação em nuvem é uma tecnologia em rápido crescimento que se estabeleceu na


próxima geração de negócios e indústria de TI. A computação em nuvem promete software,
hardware e IaaS confiáveis ​fornecidos pela Internet e por data centers remotos. Os serviços em
nuvem se tornaram uma arquitetura poderosa para executar tarefas complexas de computação
em larga escala e abrangem várias funções de TI, desde armazenamento e computação até
serviços de banco de dados e aplicativos. A necessidade de armazenar, processar e analisar
grandes quantidades de conjuntos de dados levou muitas organizações e indivíduos a adotarem
a computação em nuvem. Um grande número de aplicações científicas para experimentos
extensivos estão atualmente implantados na nuvem e podem continuar aumentando devido à
falta de recursos de computação disponíveis em servidores locais, custos de capital reduzidos e
aumento do volume de dados produzidos e consumidos pelos experimentos. Além disso, os
provedores de serviços em nuvem começaram a integrar estruturas para processamento
paralelo de dados em seus serviços para ajudar os usuários a acessar os recursos da nuvem e
implantar seus programas.

A computação em nuvem “é um modelo para permitir acesso de rede onipresente, conveniente


e sob demanda a vários recursos de computação configurados (por exemplo, redes, servidor,
armazenamento, aplicativos e serviços) que podem ser rapidamente provisionados e liberados
com o mínimo esforço de gerenciamento ou interacção entre prestadores de serviços”. A
computação em nuvem tem vários aspectos favoráveis ​para lidar com o rápido crescimento das
economias e barreiras tecnológicas. A computação em nuvem fornece o custo total de
propriedade e permite que as organizações se concentrem no negócio principal sem se
preocupar com problemas, como infraestrutura, flexibilidade e disponibilidade de recursos.
Além disso, a combinação do modelo de utilitário de computação em nuvem e um amplo
conjunto de computação, infra-estrutura e serviços de nuvem de armazenamento oferece um
ambiente altamente atraente, onde os cientistas podem realizar seus experimentos. Modelos de
serviço em nuvem normalmente consistem em PaaS, SaaS e IaaS.

A PaaS, como o Google Apps Engine, o Salesforce.com, o Force platform e o Microsoft Azure,
refere-se a diferentes recursos que operam em uma nuvem para fornecer computação de
plataforma para usuários finais.

SaaS, como o Google Docs, Gmail, Salesforce.com e Folha de Pagamento Online, referem-se a
aplicativos que operam em uma infraestrutura de nuvem remota oferecida pelo provedor de
nuvem como serviços que podem ser acessados ​pela Internet [37].

A IaaS, como o Flexiscale e o EC2 da Amazon, refere-se a equipamentos de hardware operando


em uma nuvem fornecida por provedores de serviços e usados ​por usuários finais sob demanda.

A crescente popularidade de redes sem fio e dispositivos móveis levou a computação em nuvem
a novos patamares por causa da limitada capacidade de processamento, capacidade de
armazenamento e vida útil da bateria de cada dispositivo. Essa condição levou ao surgimento de
um paradigma de computação em nuvem móvel. Os recursos de nuvem móvel permitem que os
usuários terceirizem tarefas para provedores de serviços externos. Por exemplo, os dados
podem ser processados ​e armazenados fora de um dispositivo móvel. Aplicativos de nuvem
móvel, como Gmail, iCloud e Dropbox, se tornaram predominantes recentemente. A pesquisa da
Juniper prevê que os aplicativos móveis baseados em nuvem aumentarão para
aproximadamente 9,5 bilhões de dólares até 2014. Tais aplicativos melhoram o desempenho da
nuvem móvel e a experiência do usuário. No entanto, as limitações associadas às redes sem fio e
a natureza intrínseca dos dispositivos móveis impuseram restrições computacionais e de
armazenamento de dados.

4. Relação entre computação na nuvem e big data.

Computação em nuvem e big data são conjugados. O Big Data provê aos usuários a capacidade
de usar computação de commodity para processar consultas distribuídas em vários conjuntos de
dados e retornar conjuntos resultantes em tempo hábil. A computação em nuvem fornece o
mecanismo subjacente por meio do uso do Hadoop, uma classe de plataformas distribuídas de
processamento de dados. O uso da computação em nuvem em big data é mostrado na Figura 3.
Grandes fontes de dados da nuvem e da Web são armazenadas em um banco de dados
tolerante a falhas e processadas através de um modelo de programação para grandes conjuntos
de dados com um algoritmo paralelo distribuído em um cluster. O principal objetivo da
visualização de dados, como mostrado na Fig. 3, é ver os resultados analíticos apresentados
visualmente através de diferentes gráficos para tomada de decisão.

O Big Data utiliza tecnologia de armazenamento distribuída baseada em computação em


nuvem, em vez de armazenamento local conectado a um computador ou dispositivo eletrônico.
A avaliação de big data é impulsionada por aplicativos baseados em nuvem de rápido
crescimento desenvolvidos usando tecnologias virtualizadas. Portanto, a computação em nuvem
não apenas fornece recursos para o cálculo e processamento de big data, mas também serve
como um modelo de serviço. A Tabela 3 mostra a comparação de vários provedores de nuvem
de big data.

Talia discutiu a complexidade e variedade de tipos de dados e poder de processamento para


realizar análises em grandes conjuntos de dados. O autor afirmou que a infraestrutura de
computação em nuvem pode servir como uma plataforma eficaz para lidar com o
armazenamento de dados necessário para realizar uma análise de big data. A computação em
nuvem está correlacionada com um novo padrão para o fornecimento de infraestrutura de
computação e método de processamento de big data para todos os tipos de recursos
disponíveis na nuvem por meio da análise de dados. Várias tecnologias baseadas em nuvem
precisam lidar com esse novo ambiente porque lidar com dados grandes para processamento
concorrente se tornou cada vez mais complicado. O MapReduce é um bom exemplo de
processamento de big data em um ambiente de nuvem; Ele permite o processamento de
grandes quantidades de conjuntos de dados armazenados em paralelo no cluster. A computação
em cluster exibe bom desempenho em ambientes de sistemas distribuídos, como energia de
computadores, armazenamento e comunicações de rede. Da mesma forma, enfatizou a
capacidade da computação em cluster de fornecer um contexto hospitaleiro para o crescimento
de dados. No entanto, argumentou que a falta de disponibilidade de dados é dispendiosa
porque os usuários descarregam mais decisões em métodos analíticos; O uso incorreto dos
métodos ou as deficiências inerentes aos métodos podem produzir decisões erradas e
dispendiosas. Os SGBDs são considerados parte da arquitetura atual de computação em nuvem
e desempenham um papel importante para garantir a fácil transição de aplicativos de
infraestruturas corporativas antigas para novas arquiteturas de infraestrutura em nuvem. A
pressão para que as organizações adotem e implementem rapidamente tecnologias, como a
computação em nuvem, para enfrentar o desafio das demandas de armazenamento e
processamento de big data implica riscos e consequências inesperados.

A Tabela 4 apresenta vários estudos relacionados que lidam com big data através do uso da
tecnologia de computação em nuvem. A tabela fornece uma visão geral das tecnologias de big
data e computação em nuvem com base na área de estudo e nos desafios, técnicas e
tecnologias atuais que restringem o big data e a computação em nuvem.

5. Estudos de caso.

Nossa discussão sobre o relacionamento entre big data e computação em nuvem é


complementada por estudos de casos relatados em big data usando a tecnologia de
computação em nuvem. Nossa discussão dos estudos de caso foi dividida em duas partes. A
primeira parte descreve vários estudos de casos relatados fornecidos por diferentes
fornecedores que integram tecnologias de big data em seu ambiente de nuvem. A segunda
parte descreve uma série de estudos de caso que foram publicados por fontes acadêmicas /
acadêmicas.

5.1 Estudo de Caso de Organização de Vendedores

Estudos de casos de clientes de fornecedores, como Google, Amazon e Microsoft, foram


obtidos. Esses estudos de caso mostram o uso de tecnologias de computação em nuvem na
análise de big data e no gerenciamento do volume, variedade e velocidade crescentes das
informações digitais. Selecionamos essa coleção de cinco casos porque eles demonstram a
extensa variedade de comunidades de pesquisa que usam a computação em nuvem. A Tabela 5
resume os estudos de caso de big data implementados usando plataformas de computação em
nuvem existentes.

A. SwiftKey

A SwiftKey é uma tecnologia de linguagem fundada em Londres em 2008. Essa tecnologia de


linguagem ajuda na digitação de telas sensíveis ao toque ao fornecer previsões e correções
personalizadas. A empresa coleta e analisa terabytes de dados para criar modelos de linguagem
para muitos usuários ativos. Assim, a empresa precisa de um sistema modelo altamente
escalonável e de múltiplas camadas que possa acompanhar o aumento constante da demanda e
que tenha um poderoso mecanismo de processamento para a tecnologia de inteligência
artificial usada na geração de previsões. Para atingir seus objetivos, a empresa usa o Apatche
Hadoop em execução no Amazon Simple Storage Service e no Amazon Elastic Compute Cloud
para gerenciar o processamento de vários terabytes de dados. Ao usar essa nova solução, o
SwiftKey é capaz de escalar serviços sob demanda durante o horário de pico.

B. 343 Industries

O Halo é uma franquia de mídia de ficção científica que se tornou um fenômeno global de
entretenimento. Mais de 50 milhões de cópias dos videogames Halo foram vendidos em todo o
mundo. Antes de lançar o Halo 4, os desenvolvedores analisaram dados para obter insights
sobre as preferências dos jogadores e os torneios online. Para concluir essa tarefa, a equipe
usou o Serviço HDInsight do Windows Azure, que é baseado na estrutura de big data do Apache
Hadoop. A equipe conseguiu fornecer estatísticas de jogos aos operadores de torneios, que
usaram os dados para classificar os jogadores com base no jogo, usando o HDInsight Service
para processar e analisar dados brutos do Windows Azure. A equipe também usou o HDInsight
Service para atualizar o Halo 4 toda semana e para oferecer suporte a campanhas de email
diárias destinadas a aumentar a retenção de jogadores. As organizações também podem utilizar
dados para tomar decisões comerciais imediatas.

C. redBus

A agência de viagens on-line redBus introduziu a emissão de bilhetes de ônibus na Internet na


Índia em 2006, unificando dezenas de milhares de horários de ônibus em uma única operação
de reserva. A empresa precisava de uma ferramenta poderosa para analisar dados de estoque e
reservas em seu sistema de centenas de operadores de ônibus que atendem a mais de 10.000
rotas. Eles consideraram o uso de clusters de servidores Hadoop para processar os dados, mas
decidiram que o sistema levaria tempo e recursos consideráveis ​para manter. Além disso, o uso
de clusters de servidores Hadoop não forneceria a análise ultrarrápida necessária para a
empresa. Assim, a redBus implementou o GoogleQuery para analisar grandes conjuntos de
dados usando a infraestrutura de processamento de dados do Google. Os insights obtidos
rapidamente pelo BigQuery tornaram a redBus uma empresa forte. Ao minimizar o tempo
necessário para que os membros da equipe resolvam problemas técnicos, o BigQuery ajuda a
melhorar o atendimento ao cliente e a reduzir as vendas perdidas.

D. Nokia

A Nokia é uma empresa de comunicações móveis cujos produtos são parte integrante das
pessoas que vivem. Muitas pessoas em todo o mundo usam celulares Nokia para se comunicar,
capturar fotos e compartilhar experiências. Assim, a Nokia reúne e analisa grandes quantidades
de dados de telefones celulares. No entanto, para suportar o uso extensivo de big data, a Nokia
conta com um ecossistema de tecnologia que inclui o Teradata Enterprise Data Warehouse,
vários data marts Oracle e MySQL, tecnologias de visualização e Hadoop. A Nokia possui mais de
100 terabytes de dados estruturados em Teradata e petabytes de dados multistructurados no
Hadoop Distributed File System (HDFS). O data warehouse HDFS permite o armazenamento de
todos os dados semi/multiestruturados e oferece processamento de dados na escala de
petabytes.
E.Alacer

Um varejista on-line estava experimentando vazamento de receita devido a notificações em


tempo real não confiáveis ​de problemas de serviço em sua plataforma de comércio eletrônico
baseada na nuvem. A Alacer usou algoritmos de big data para criar um sistema de
monitoramento de nuvem que fornece notificações reativas e proativas. Ao usar a computação
em nuvem com a plataforma de monitoramento da Alacer, o tempo de resposta a incidentes foi
reduzido de uma hora para segundos, melhorando drasticamente a satisfação do cliente e
eliminando as penalidades do contrato de nível de serviço.

Estudo de Caso 1: Computação na Nuvem na Genome Informatics

Reid et al. investigou o crescimento de dados de sequenciamento de próxima geração em


laboratórios e hospitais. Este crescimento deslocou o gargalo da genética clínica, desde a
produção de sequências de DNA até à análise da sequência de DNA. No entanto, devem ser
fornecidos resultados genômicos precisos e reprodutíveis em uma escala que varia de indivíduos
a grandes coortes. Eles desenvolveram um pipeline de análise Mercury e o implantaram na
nuvem de serviços da Amazon através da plataforma DNAnexus. Assim, eles estabeleceram uma
poderosa combinação de um pipeline de software robusto e totalmente validado e um recurso
computacional escalável que foi aplicado a mais de 10.000 amostras completas de genoma e
todo o exoma.

Estudo de caso 2: Mineirando Twitter na nuvem

Noordhuis et al usaram computação em nuvem para analisar grandes quantidades de dados no


Twitter. O autor aplicou o algoritmo de PageRank na base de usuários do Twitter para obter
classificações de usuários. A infraestrutura de nuvem da Amazon foi usada para hospedar todos
os cálculos relacionados. As computações foram conduzidas em um processo de duas fases: na
fase de rastreamento, todos os dados foram recuperados do Twitter. Na fase de processamento,
o algoritmo de PageRank foi aplicado para computar os dados adquiridos. Durante o estágio de
rastreamento, o autor da Web rastreou um gráfico contendo 50 milhões de nós e 1,8 bilhão de
arestas, o que representa aproximadamente dois terços da base de usuários estimada do
Twitter. Assim, uma solução relativamente barata para aquisição e análise de dados é
implementada usando a infraestrutura de nuvem da Amazon.

Estudo de caso 3: Processamento de dados científicos

Zhang et al desenvolveram um aplicativo de computação em nuvem baseado no Hadoop que


processa sequências de imagens microscópicas de células vitais usando o MATLAB. O projeto foi
uma colaboração entre grupos na Genome Quebec / McGill University em Montreal e na
University of Waterloo. O objetivo era estudar as complexas interações moleculares que
regulam os sistemas biológicos. O aplicativo, que foi construído com base no Hadoop, permite
que os usuários enviem tarefas de processamento de dados na nuvem. Os autores usaram um
cluster homogêneo para realizar o desenvolvimento inicial do sistema e testes de prova de
conceito. O cluster compreende 21 servidores Sun Fire X4100 com dois processadores AMD
Opteron 280 dual-core interconectados por Ethernet Gigabit.

Estudo de caso 4: cenário de falha como um serviço (FSaaS) para clusters do Hadoop

Faghri et al criaram uma série de cenários de falha em uma plataforma de computação em


nuvem da Amazon para fornecer aos serviços do Hadoop os meios para testar seus aplicativos
contra o risco de falha maciça. Eles desenvolveram um conjunto de cenários de falha para
clusters do Hadoop com 10 máquinas EC2 de serviço da web da Amazon. Esses tipos de falhas
podem ocorrer nos trabalhos do Hadoop, incluindo uso intensivo de CPU, ou seja, uso intensivo
de E / S e uso intenso de rede. Assim, a execução desse cenário em aplicativos do Hadoop pode
ajudar a identificar vulnerabilidades de falha nesses aplicativos.

6. Sistema de Armazenamento de Big Data

O rápido crescimento de dados restringiu a capacidade das tecnologias de armazenamento


existentes de armazenar e gerenciar dados. Nos últimos anos, os sistemas tradicionais de
armazenamento foram utilizados para armazenar dados por meio de RDBMS estruturado. No
entanto, quase sistemas de armazenamento têm limitações e são inaplicáveis ​ao
armazenamento e gerenciamento de big data. Uma arquitetura de armazenamento que pode
ser acessada de uma maneira altamente eficiente, ao mesmo tempo em que é possível obter
disponibilidade e confiabilidade para armazenar e gerenciar grandes conjuntos de dados. Os
meios de armazenamento atualmente empregados nas empresas são discutidos e comparados
na Tabela 7.

Diversas tecnologias de armazenamento foram desenvolvidas para atender às demandas de


dados massivos. As tecnologias existentes podem ser classificadas como armazenamento
anexado direto (DAS), armazenamento conectado à rede (NAS) e rede de área de
armazenamento (SAN). No DAS, vários discos rígidos (HDDs) são conectados diretamente aos
servidores. Cada HDD recebe uma certa quantidade de recursos de entrada / saída (E / S), que é
gerenciada por aplicativos individuais. Portanto, o DAS é adequado apenas para servidores
interconectados em pequena escala. Dada a baixa escalabilidade anteriormente mencionada, a
capacidade de armazenamento é aumentada, mas a capacidade de expansão e a capacidade de
atualização são significativamente limitadas. NAS é um dispositivo de armazenamento que
suporta uma rede. NAS é conectado diretamente a uma rede através de um switch ou hub via
protocolos TCP / IP. No NAS, os dados são transferidos como arquivos. Como o servidor NAS
pode acessar indiretamente um dispositivo de armazenamento por meio de redes, a sobrecarga
de E / S em um servidor NAS é significativamente mais leve do que em um servidor DAS. O NAS
pode orientar redes, particularmente redes escaláveis ​e intensivas de largura de banda. Essas
redes incluem redes de alta velocidade de conexões de fibra ótica. O sistema SAN de
armazenamento de dados é independente em relação ao armazenamento na rede local (LAN). A
troca de dados por caminhos múltiplos é realizada entre nós internos para maximizar o
gerenciamento e o compartilhamento de dados. Os sistemas organizacionais de armazenamento
de dados (DAS, NAS e SAN) podem ser divididos em três partes: (i) matriz de discos, onde a base
de um sistema de armazenamento fornece a garantia fundamental, (ii) subsistemas de conexão
e rede, que conectam um ou mais arrays e servidores de disco, e (iii) software de gerenciamento
de armazenamento, que supervisiona o compartilhamento de dados, o gerenciamento de
armazenamento e as tarefas de recuperação de desastre para vários servidores.

7. Background do Hadoop
O Hadoop é um projeto de cógigo aberto da Apache Software Foundation escrito em Java que
permite o processamento distribuído de grandes conjuntos de dados entre clusters de
commodity. O Hadoop possui dois componentes principais, a saber, o framework de
programação HDFS e MapReduce. O recurso mais significativo do Hadoop é que o HDFS e o
MapReduce estão intimamente relacionados entre si; cada um é co-implantado de tal forma que
um único cluster é produzido. Portanto, o sistema de armazenamento não é separado
fisicamente do sistema de processamento.

O HDFS é um sistema de arquivos distribuído projetado para ser executado sobre os sistemas de
arquivos locais dos nós do cluster e armazenar arquivos extremamente grandes adequados para
o fluxo de dados. O HDFS é altamente tolerante a falhas e pode ser expandido de um único
servidor para milhares de máquinas, cada uma oferecendo computação e armazenamento
locais. O HDFS consiste em dois tipos de nós, a saber, um namenode chamado “mestre” e vários
datanodes chamados “escravos”. O HDFS também pode incluir namenodes secundários. O
namenode gerencia a hierarquia de sistemas de arquivos e o namespace de diretor (isto é,
metadados). Os sistemas de arquivos são apresentados em uma forma de namenode que
registra atributos, como tempo de acesso, modificação, permissão e cotas de espaço em disco.
O conteúdo do arquivo é dividido em blocos grandes e cada bloco do arquivo é replicado
independentemente nos datanodes para redundância e para enviar periodicamente um
relatório de todos os blocos existentes para o namenode.

O MapReduce é um modelo de programação simplificado para o processamento de grandes


números de conjuntos de dados criados pelo Google para aplicativos com uso intensivo de
dados. O modelo MapReduce foi desenvolvido com base no GFS e é adotado através da
implementação Hadoop de código aberto, que foi popularizada pelo Yahoo. Além do framework
MapReduce, vários outros projetos Apache de código aberto estão relacionados ao ecossistema
Hadoop, incluindo Hive, Hbase, Mahout, Pig, Zookeeper, Spark e Avro. O Twister fornece
suporte para cálculos eficientes e iterativos do MapReduce. Uma visão geral dos atuais projetos
MapReduce e software relacionado é mostrada na Tabela 9. O MapReduce permite que um
programador inexperiente desenvolva programas paralelos e crie um programa capaz de usar
computadores em uma nuvem. Na maioria dos casos, os programadores são obrigados a
especificar apenas duas funções: a função map (mapeador) e a função reduce (redutor)
comumente utilizada na programação funcional. O mapeador considera o par chave/valor como
entrada e gera pares chave/valor intermediários. O redutor mescla todos os pares associados à
mesma chave (intermediária) e gera uma saída. A Tabela 8 resume o processo da função
map/reduce.

A função map é aplicada a cada entrada (chave1, valor1), em que o domínio de entrada é
diferente da lista de pares de saída gerados (chave2, valor2). Os elementos da lista (chave2,
valor2) são agrupados por uma chave. Após o agrupamento, a lista (chave2,valor2) é dividida em
várias listas [chave2, list (valor2)], e a função reduce é aplicada a cada [chave2, list (valor2)] para
gerar uma lista final de resultados (chave3, valor3 ).

7.1 MapReduce na nuvem

O MapReduce acelera o processamento de grandes quantidades de dados em uma nuvem;


assim, MapReduce, é o modelo de computação preferido dos provedores de nuvem. O
MapReduce é uma popular estrutura de computação em nuvem que executa roboticamente
aplicativos distribuídos escaláveis e fornece uma interface que permite a paralelização e a
computação distribuída em um cluster de servidores. Srirama et al. apresentaram uma
abordagem para aplicar problemas de computação científica à estrutura do MapReduce, onde
os cientistas podem utilizar de forma eficiente os recursos existentes na nuvem para resolver
dados científicos computacionalmente em larga escala. Atualmente, muitas soluções
alternativas estão disponíveis para implantar o MapReduce em ambientes de nuvem; Essas
soluções incluem o uso de tempos de execução do Cloud MapReduce que maximizam os
serviços de infraestrutura em nuvem, usam o MapReduce como um serviço ou configuram o
próprio cluster MapReduce em instâncias de nuvem. Várias estratégias foram propostas para
melhorar o desempenho do processamento de big data. Além disso, foi feito um esforço para
desenvolver interfaces SQL na estrutura do MapReduce para auxiliar os programadores que
preferem usar o SQL como uma linguagem de alto nível para expressar sua tarefa, deixando
todos os detalhes de otimização de execução para o mecanismo de back-end. A Tabela 10
mostra um resumo de várias interfaces SQL na estrutura MapReduce disponível na literatura
existente.

8. Desafios de Pesquisa

Embora a computação em nuvem tenha sido amplamente aceita por muitas organizações, a
pesquisa em big data na nuvem permanece em seus estágios iniciais. Vários problemas
existentes não foram totalmente abordados. Além disso, novos desafios continuam surgindo das
aplicações por organização. Nas seções subsequentes, são discutidos alguns dos principais
desafios de pesquisa, como escalabilidade, disponibilidade, integridade de dados, transformação
de dados, qualidade de dados, heterogeneidade de dados, privacidade e questões legais e
governança regulatória.

8.1 Escalabilidade

Escalabilidade é a capacidade do armazenamento de lidar com quantidades crescentes de dados


de maneira apropriada. Sistemas escalonáveis ​de armazenamento distribuído de dados têm sido
uma parte crítica das infraestruturas de computação em nuvem. A falta de recursos de
computação em nuvem para suportar RDBMSs associados a soluções corporativas tornou os
RDBMSs menos atraentes para a implantação de aplicativos de larga escala na nuvem. Essa
desvantagem resultou na popularidade do NoSQL

Um banco de dados NoSQL fornece o mecanismo para armazenar e recuperar grandes volumes
de dados distribuídos. Os recursos dos bancos de dados NoSQL incluem suporte a replicação
fácil e sem esquema, API simples e modos consistentes e flexíveis. Diferentes tipos de bancos de
dados NoSQL, como key-value, orientados a colunas e orientados a documentos, fornecem
suporte para big data. A Tabela 11 mostra uma comparação de várias tecnologias de bancos de
dados NoSQL que fornecem suporte para grandes conjuntos de dados.

As características do armazenamento de dados escalável em um ambiente de nuvem são


mostradas na Tabela 12. Yan et al. tentaram usar a escalabilidade de dados de clustering de
iteração de energia (PIC) implementando clustering paralelo de iteração de energia (p-PIC) . A
implementação considera dois componentes-chave, a saber, o cálculo e a normalização da
matriz de similaridade e a multiplicação iterativa de matriz-vetor. O processo começa com o
processador mestre indicando os índices inicial e final para o bloco de dados remotos. Portanto,
cada processador lê dados do arquivo de entrada e fornece uma submatriz de similaridade
executando o seguinte cálculo.

O processador mestre coleta todas as execuções de linha dos outros processadores e as


concatena em uma soma geral de linhas. Cada processador que interage com o processador
principal atualiza seu vetor executando a multiplicação da matriz-vetor.

Wang et al. propuseram uma nova técnica de análise de cubo de dados escalável chamada
HaCube em clusters de big data para superar os desafios dos dados em larga escala. HaCube é
uma extensão do MapReduce; Ele incorpora alguns dos recursos do MapReduce, como
escalabilidade e DBMS paralelo. Os resultados experimentais fornecidos no estudo indicaram
que o HaCube executa pelo menos 1.6X a 2.8X mais rápido que o Hadoop em termos de
manutenção da visualização. No entanto, algumas melhorias no desempenho, como a
integração de mais técnicas do DBMS (por exemplo, técnicas de indexação), ainda são
necessárias.

8.2 Disponibilidade

Disponibilidade se refere aos recursos do sistema serem acessíveis sob demanda por um
indivíduo autorizado [98]. Em um ambiente em nuvem, um dos principais problemas
relacionado aos provedores de serviço em nuvem é a disponibilidade dos dados armazenados na
nuvem. Por exemplo, uma das demandas urgentes no serviço em nuvem é efetivamente servir
as necessidades do usuário móvel que soliica um ou múltiplos dados em um curto período de
tempo. Assim sendo, serviços devem permanecer operacionais mesmo no caso de uma falha de
segurança [98]. Além disso, com o aumento no número de usuários da nuvem, provedores de
serviços em nuvem devem resolver o problema de fazer os dados solicitados disponíveis para o
usuário para entregar serviços de alta qualidade. Lee et al. [55] apresentou um modelo
multi-nuvem chamado "rain clouds" (nuvens de chuva) para suportar exploração de big data
(grandes dados). "Nuvens de Chuva" envolvem cooperação entre nuvens únicas para prover
recursos acessíveis em uma emergência. Scroerck et al. [99] preveram que a demanda por
acesso em tempo real aos dados pode continuar aumentando à medida que os modelos de
negócios evoluem e as organizações investem em tecnologias necessárias para streaming de
dados e smartphones..

8.3 Integridade de Dados

Um aspecto importante da segurança de big data é a integridade. Integridade significa que os


dados podem ser modificados apenas por pessoas autorizadas ou pelo proprietário dos dados
para evitar o uso indevido. A proliferação de aplicativos baseados em nuvem fornece aos
usuários a oportunidade de armazenar e gerenciar seus dados em data centers em nuvem. Tais
aplicativos devem garantir a integridade dos dados. No entanto, um dos principais desafios que
devem ser enfrentados é garantir a exatidão dos dados do usuário na nuvem. Como os usuários
podem não ter acesso físico aos dados, a nuvem deve fornecer um mecanismo para o usuário
verificar se os dados são mantidos [100].

8.4 Transformação

Transformar dados em uma forma adequada para análise é um obstáculo na adoção de big data
[101]. Devido à variedade de formatos de dados, o big data pode ser transformado em um fluxo
de trabalho de análise de duas maneiras, como mostrado na Fig. 4.

No caso de dados estruturados, os dados são pré-processados ​antes de serem armazenados em


bancos de dados relacionais para atender às restrições do esquema na gravação. Os dados
podem então ser recuperados para análise. No entanto, em dados não estruturados, os dados
devem primeiro ser armazenados em bancos de dados distribuídos, como o HBase, antes de
serem processados ​para análise. Dados não estruturados são recuperados de bancos de dados
distribuídos depois de atender às restrições de esquema em leitura

8.5 Qualidade dos dados

No passado, o processamento de dados era normalmente executado em conjuntos de dados


limpos de fontes conhecidas e limitadas. Portanto, os resultados foram precisos [102]. No
entanto, com o surgimento do big data, os dados se originam de muitas fontes diferentes; nem
todas essas fontes são bem conhecidas ou verificáveis. A baixa qualidade dos dados tornou-se
um problema sério para muitos provedores de serviços em nuvem, pois os dados são coletados
com frequência de diferentes fontes. Por exemplo, grandes quantidades de dados são geradas a
partir de smartphones, onde formatos de dados inconsistentes podem ser produzidos como
resultado de fontes heterogêneas. O problema de qualidade de dados é geralmente definido
como “qualquer dificuldade encontrada ao longo de uma ou mais dimensões de qualidade que
renderizam dados completamente ou inadequados para uso” [103]. Portanto, obter dados de
alta qualidade a partir de vastas coleções de fontes de dados é um desafio. Dados de alta
qualidade na nuvem são caracterizados pela consistência dos dados. Se os dados de novas
fontes são consistentes com dados de outras fontes, então os novos dados são de alta qualidade
[104]

8.6 Heterogeneidade

A variedade, um dos principais aspectos da caracterização de big data, é o resultado do


crescimento de fontes de dados praticamente ilimitadas. Esse crescimento leva à natureza
heterogênea do big data. Dados de múltiplas fontes são geralmente de diferentes tipos e formas
de representação e significativamente interconectados; eles têm formatos incompatíveis e são
representados inconsistentemente [105].

Em um ambiente de nuvem, os usuários podem armazenar dados em formato estruturado,


semiestruturado ou não estruturado. Os formatos de dados estruturados são apropriados para
os sistemas de banco de dados de hoje, enquanto os formatos de dados semiestruturados são
apropriados apenas até certo ponto. Dados não estruturados são inadequados [105] porque eles
têm um formato complexo que é difícil de representar em linhas e colunas. De acordo com
[101], o desafio é como lidar com múltiplas fontes e tipos de dados.

8.7 Privacidade

As preocupações de privacidade continuam a dificultar os usuários que terceirizam seus dados


privados para o armazenamento em nuvem. Essa preocupação tornou-se séria com o
desenvolvimento de big data mining e analytics, que exigem informações pessoais para produzir
resultados relevantes, como serviços personalizados e baseados em localização [105]. As
informações sobre os indivíduos são expostas ao escrutínio, uma condição que dá origem a
preocupações com a criação de perfis, roubo e perda de controle [106].

Atualmente, a criptografia é utilizada pela maioria dos pesquisadores para garantir a privacidade
dos dados na nuvem [107, 108]. Algoritmos de criptografia geralmente são escritos na forma de
transformações, como Y = EZ (X) [109], onde (X) se refere a texto simples, (Y) é um criptograma
e (Z) é a chave secreta. Algoritmos de criptografia tem um caso especial chamado algoritmos de
bloco como proposto por [110], onde EZ é definido como fZ: fZ: X, X = [0, 1 ……… .., 2m -1], e m
= 64.

Xuyun et al. [111] discutiram o problema de preservar a privacidade de conjuntos de dados


intermediários na computação em nuvem; Eles argumentaram que a criptografia de todos os
conjuntos de dados intermediários na nuvem não é computacionalmente eficaz nem econômica,
pois é necessário muito tempo para criptografar ou descriptografar os dados. Os pesquisadores
também realizaram experimentos para reduzir o custo da criptografia, investigando qual parte
dos conjuntos de dados intermediários deve ser criptografada e qual parte não deve.

Dan e Huang propuseram uma variante de criptografia de predicado simétrica no


armazenamento em nuvem para controlar a privacidade e preservar as funcionalidades
baseadas em pesquisa, como a pesquisa delegada descriptografada e revogável. Portanto,
controlar o tempo de vida e os privilégios de pesquisa dos dados da nuvem pode se tornar fácil
para o proprietário do armazenamento em nuvem.

Li et al. propuseram um esquema de consulta flexível de múltiplas palavras chave (MKQE) que
reduz significantemente a sobrecarga de manutenção durante a expansão do dicionário de
palavras chave. MKQE considera os pesos da palavra chave e o histórico de acesso do usuário
para gerar resuldados de consulta. MKQE melhora o desempenho de consultas classificadas com
várias palavras-chave sobre dados criptografados para impedir o vazamento de informações e
resolver o problema de indexação de dados

Squicciarini et al. apresentaram uma arquitetura de proteção de dados de três camadas para
fornecer vários níveis de privacidade aos usuários da nuvem. Bhegat et al. investigaram a
questão das redes sociais, como o Facebook e o Twitter, nas quais os usuários compartilham
informações confidenciais pela Internet. Eles apresentaram um método para lidar com
vazamentos de privacidade das informações de um usuário anônimo. Itani et al. apresentaram a
privacidade como um modelo de serviço que envolve um conjunto de protocolos de segurança
para garantir a confidencialidade dos dados do cliente na nuvem.

Agarwal e Aggarwal propuseram uma medida de privacidade baseada em em entropia


diferencial. A entropia diferencial h(A) de uma variável aleatória A é definida da seguinte forma.

onde ΩA é o domínio de “A”. h (A) = log2a é uma medida de incerteza inerente ao valor de “A”
proposto para randomizar a variável “A” entre 0 e (A). Portanto, a variável aleatória com menos
incerteza do que “A” em [0, 1] apresenta entropia diferencial negativa, enquanto a variável
aleatória com mais incerteza possui entropia diferencial positiva. Uma visão geral da
preservação da privacidade e suas soluções, técnicas e limitações propostas são apresentadas
na Tabela 13.

8.8 Problemas legais/regulatórios

Leis específicas e regulações devem ser estabelecidas para preservar as informações pessoais e
sensíveis dos usuários. Países diferentes possuem leis diferentes e regulações para garantir a
privacidade e proteção dos dados. Em diversos países, monitoramento da comunicação dos
funcionários não é permitida. Entretanto, monitoramento eletrônico é permitido sob
circunstâncias especiais. Portanto, a questão é se tais leis e regulamentos oferecem proteção
adequada aos dados dos indivíduos enquanto aproveitam os muitos benefícios do Big Data na
sociedade como um todo [2].

8.9 Governança

A governança de dados incorpora o exercício de controle e autoridade sobre as regras de direito


relacionadas a dados, a transparência e a responsabilidade das pessoas e dos sistemas de
informação para alcançar os objetivos de negócios [121]. Os principais problemas do Big Data no
gerenciamento da nuvem pertencem a aplicativos que consomem grandes quantidades de
dados transmitidos de fontes externas [122]. Portanto, uma política de dados clara e aceitável
com relação ao tipo de dados que precisam ser armazenados, a rapidez com que um indivíduo
precisa acessar os dados e como acessar os dados deve ser definida [50].

A governança de big data envolve alavancar informações alinhando os objetivos de múltiplas


funções, como as operadoras de telecomunicações com acesso a informações sobre clientes na
forma de registros de detalhes de chamadas e marketing buscando monetizar essas informações
vendendo-as a terceiros [123].

Além disso, o Big Data oferece oportunidades significativas para os provedores de serviços,
tornando as informações mais valiosas. No entanto, as políticas, os princípios e as estruturas
que estabelecem uma estabilidade entre risco e valor, em face do aumento do tamanho dos
dados e da entrega de tecnologia de gerenciamento de dados melhor e mais rápida, podem criar
enormes desafios [124].

A governança da nuvem recomenda o uso de várias políticas junto com diferentes modelos de
restrições que limitam o acesso a recursos subjacentes. Portanto, adotar práticas de governança
que mantenham um equilíbrio entre a exposição ao risco e a criação de valor é um novo
imperativo organizacional para liberar vantagens competitivas e maximizar o valor da aplicação
de big data na nuvem [124].

9. Questões Abertas de Pesquisa

Vários estudos abordaram vários problemas e questões importantes relacionados ao


armazenamento e processamento de big data em nuvens. A quantidade de dados continua a
aumentar a uma taxa exponencial, mas a melhoria nos mecanismos de processamento é
relativamente lenta. Apenas algumas ferramentas estão disponíveis para tratar dos problemas
do processamento de big data em ambientes de nuvem. Técnicas e tecnologias de última
geração em muitos aplicativos de Big Data importantes (por exemplo, MapReduce, Dryad,
Pregel, PigLatin, MangoDB, Hbase, SimpleDB e Cassandra) não podem resolver os problemas
reais de armazenamento e consulta de Big Data. Por exemplo, o Hadoop e o MapReduce não
possuem estratégias de processamento de consulta e possuem infraestruturas de baixo nível no
que diz respeito ao processamento e gerenciamento de dados. Apesar da grande quantidade de
trabalho realizado para resolver o problema de armazenar e processar grandes volumes de
dados em ambientes de computação em nuvem, alguns aspectos importantes do
armazenamento e processamento de grandes volumes de dados na computação em nuvem
ainda precisam ser resolvidos. Algumas dessas questões são discutidas nas subseções
subsequentes.

9.1 Data Staging

The most important open research issue regarding data staging is related to the heterogeneous
nature of data. Data gathered from different sources do not have a structured format. For
instance, mobile cloud-based applications, blogs, and social networking are inadequately
structured similar to pieces of text messages, videos, and images. Transforming and cleaning
such unstructured data before loading them into the warehouse for analysis are challenging
tasks. Efforts have been exerted to simplify the transformation process by adopting
technologies such as Hadoop and MapReduce to support the distributed processing of
unstructured data formats. However, understanding the context of unstructured data is
necessary, particularly when meaningful information is required. MapReduce programming
model is the most common model that operates in clusters of computers; it has been utilized to
process and distribute large amounts of data.

9.2 Sistemas de armazenamento distribuídos

Várias soluções foram propostas para armazenar e recuperar grandes quantidades de dados.
Algumas dessas soluções foram aplicadas em um ambiente de computação em nuvem. No
entanto, vários problemas dificultam a implementação bem-sucedida de tais soluções, incluindo
a capacidade das tecnologias de nuvem atuais de fornecer capacidade e alto desempenho
necessários para lidar com grandes quantidades de dados [68], otimização de sistemas de
arquivos existentes para os volumes exigidos por aplicativos de mineração de dados. e como os
dados podem ser armazenados de maneira que possam ser facilmente recuperados e migrados
entre servidores.

9.3 Análise de dados

A seleção de um modelo apropriado para análise de dados em grande escala é crítica. ATalia
apontou que a obtenção de informações úteis a partir de grandes quantidades de dados requer
algoritmos de análise escalonáveis ​para produzir resultados oportunos. No entanto, os
algoritmos atuais são ineficientes em termos de análise de big data. Portanto, ferramentas e
tecnologias eficientes de análise de dados são necessárias para processar esses dados. O
desempenho de cada algoritmo deixa de aumentar linearmente com o aumento dos recursos
computacionais. À medida que os pesquisadores continuam investigando as questões de big
data na computação em nuvem, novos problemas no processamento de big data surgem das
técnicas de análise de dados de transição. A velocidade de transmissão de dados provenientes
de diferentes fontes de dados deve ser processada e comparada com informações históricas
dentro de um determinado período de tempo. Essas fontes de dados podem conter diferentes
formatos, o que torna a integração de múltiplas fontes para análise uma tarefa complexa [125]

9.4 Segurança de Dados

Embora a computação em nuvem tenha transformado a moderna tecnologia de TIC, existem


várias ameaças de segurança não resolvidas na computação em nuvem. Essas ameaças de
segurança são ampliadas pelo volume, velocidade e variedade de big data. Além disso, várias
ameaças e problemas, como privacidade, confidencialidade, integridade e disponibilidade de
dados, existem em big data usando plataformas de computação em nuvem. Portanto, a
segurança de dados deve ser medida quando os dados são terceirizados para provedores de
serviços em nuvem. A nuvem também deve ser avaliada em intervalos regulares para protegê-la
contra ameaças. Os fornecedores de nuvem devem garantir que todos os contratos de nível de
serviço sejam cumpridos. Recentemente, algumas controvérsias revelaram como algumas
agências de segurança usam dados gerados por indivíduos para seu próprio benefício sem
permissão. Portanto, as políticas que abrangem todas as preocupações com a privacidade do
usuário devem ser desenvolvidas. Tradicionalmente, a técnica mais comum para privacidade e
controle de dados é proteger os sistemas utilizados para gerenciar dados em vez dos dados em
si; entretanto, esses sistemas provaram ser vulneráveis. Utilizar uma criptografia robusta para
encapsular dados confidenciais em um ambiente de computação em nuvem e desenvolver um
algoritmo inovador que permita o gerenciamento de chaves e a troca segura de chaves é
importante para gerenciar o acesso a big data, especialmente na nuvem independente de
qualquer plataforma. Além disso, o problema com a integridade é que esquemas de hashing
desenvolvidos anteriormente não são mais aplicáveis ​a grandes quantidades de dados. A
verificação da integridade também é difícil devido à falta de suporte, dado o acesso remoto a
dados e a falta de informações sobre armazenamento interno

10.Conclusão
O tamanho dos dados no momento é enorme e continua a crescer a cada dia. A variedade dos
dados sendo gerados também está expandindo. A velocidade da geração e crescimento dos
dados está aumentando por causa da ploriferação de dispositivos móveis e outros sensores
conectados a Internet. Esses dados disponibilizam oportunidades que permitem negócios por
todas as indústrias para ganhar visão de negócios em tempo real. O uso de serviços em nuvem
para armazenar, processar a analizar dados tem sido disponibilizado por algum tempo; e tem
mudado o contexto da tecnologia da informação e transformado promessas do modelo de
serviços sob demanda em realidade. Nesse estud, nós apresentamos uma análise no
crescimento do big data na computação na nuvem. Nós propusemos uma classeficação para big
data, uma visão conceitual do big data e o modelo de serviços em nuvem. Esse modelo foi
comparado com diversas plataformas em nuvem big data representativas. Nós discutimos o
background da tecnologia Hadoop e seus componentes principais, sendo estes, MapReduce e
HDFS. Nós apresentamos projetos atuais em MapReduce softwares relacionados. Também
analisamos alguns desafios em processamento big data. A análise cobriu o volume,
escalabilidade, disponibilidade, integridade dos dados, proteção dos dados, transformação dos
dados, qualidade/heterogeneidade dos dados, privacidade e questões legais/regulatórias,
acesso aos dados e governança. Além disso, os problemas chave em big data na nuvem foram
destacados. No futuro, desafios e questões significantes deverão ser abordados pela academia e
indústria. Pesquisadores, profissionais e acadêmicos de ciências sociais devem colaborar para
garantir o sucesso de longo prazo do gerenciamento de dados em um ambiente de computação
em nuvem e para explorar coletivamente novos territórios
Tabela 13

Visão geral da preservação da privacidade em uma nuvem.

Referências
-Solução proposta
-Técnica
-Descrição
-Limitação

[117]
-Algoritmo de reconstrução para mineração de dados com preservação da privacidade
-Algoritmo de maximização de expectativas
-Medição da preservação da privacidade
-Eficiência da randomização

[114]
-​Arquitetura de proteção de dados em três camadas
-Ligação de dados portátil Aborda a questão da privacidade causada pela indexação de dados
-Proteção contra tentativas mal-intencionadas

[118]
-Camada de preservação de privacidade (PPL) sobre um framework MapReduce
-
-Garantir a preservação da privacidade dos dados antes que os dados sejam processados
​posteriormente por tarefas de subseqüência do MapReduce
-Integração com outro processamento de dados

[111]
-Com base na restrição de vazamento de privacidade do limite superior
-Algoritmo heurístico de preservação de privacidade
-Identifique quais conjuntos de dados intermediários precisam ser criptografados
-Eficiência da técnica proposta

----------------------------------------------------------------

Tabela 12
Características do armazenamento de dados escalonável em um ambiente de nuvem.
Referência
-Característica
-Vantagem
-Desvantagem

[96]
-DBMS
-Acesso de dados mais rápido
Processamento mais rápido

-Menos atraente para a implantação de dados em larga escala


Limitado

[20]
-Valor chave
-Escala para um tamanho muito grande
Ilimitado
-
[97]
-Sistema de arquivos do Google (GFS)
-Sistema de arquivos distribuído escalável para grandes aplicativos distribuídos de dados intensivos
Proporciona alto desempenho agregado Os dados do arquivo são armazenados em diferentes servidores
de fragmentos

-Desempenho pode degradar se o número de escritores e escritores aleatórios aumenta


Coleta de lixo pode se tornar um problema

[74]
-Hadoop distribuído sistema de arquivos (HDFS)
-Armazena grandes quantidades de conjuntos de dados
Usa um grande cluster
--------------------------------------------------------------------------

Tabela 11
Comparação de Bancos de Dados NoSQL

-------------------------------------------------------------------------

Tabela 10
Resumo de várias interfaces SQL na estrutura MapReduce em literatura relacionada.

-------------------------------------------------------------------------

Tabela 9

Projetos Map/Reduce atuais e projetos relacionados

--------------------------------------------------------------------------

Tabela 8

Resumo do processo da funcão map/reduce

Mapeador (chave1, valor1) ​→​ Lista[(chave2, valor2)]

Redutor [chave2, lista(valor2)]​→​ Lista(chave3,valor3)

-----------------------------------------------------------------------------

Tabela 7

Comparação de mídia de armazenamento.

Tipo de Armazenamento
-Uso Específico
-Vantagens
-Limitações

-Unidades de disco rígido


-​Para armazenar dados até quatro terabytes
-Densidade, custo por armazenamento de bit e inicialização rápida que pode levar apenas alguns
segundos
-Exigem refrigeração especial e alta latência de leitura; o giro dos pratos pode às vezes resultar
em vibração e produzir mais calor que a memória de estado sólido

-​Memória de estado sólido


-Para armazenar dados de até dois terabytes
-Acesso rápido aos dados, rápido movimento de enormes quantidades de dados, tempo de
inicialização leva apenas vários milissegundos, sem vibração e produz menos calor do que os
discos rígidos
-Dez vezes mais caro que os discos rígidos em termos de capacidade por gigabyte
-​Armazenamento de objetos
-Para armazenar dados como objetos de tamanho variável em vez de blocos de tamanho fixo
-Escalona com facilidade para encontrar informações e possui um identificador exclusivo para
identificar objetos de dados; garante segurança porque as informações sobre a localização física
não podem ser obtidas de unidades de disco; suporta acesso de indexação
-Complexidade no rastreamento de índices.

-​Armazenamento óptico
-Para armazenar dados em diferentes ângulos em todo o meio de armazenamento
-Meio de armazenamento removível menos caro
-Complex; sua capacidade de produzir múltiplos discos ópticos em uma única unidade ainda está
para ser comprovada

-​Armazenamento em nuvem.
-Para servir como um modelo de provisionamento e armazenamento e fornecer acesso sob
demanda a serviços, como armazenamento
-Útil para pequenas organizações que não possuem capacidade de armazenamento suficiente;
armazenamento em nuvem pode armazenar grandes quantidades de dados, mas seus serviços
são faturáveis
-A segurança é o principal desafio por causa da terceirização de dados

-----------------------------------------------------------------------------------

Tabela 6

Resumo dos Estudos de Caso de Fontes Escolares/Acadêmicas

Os estudos de caso a seguir fornecem exemplos recentes de como os pesquisadores usaram a


tecnologia de computação em nuvem para seus projetos de big data. A Tabela 6 detalha os cinco
estudos de relato de caso que exploraram o uso da nuvem para big data.

Caso.
-Situação/Contexto
-Objetivo
-Abordagem
-Resultado

1​.
-O sequenciamento de DNA massivamente paralelo gera quantidades surpreendentes de dados.
- Fornecer resultados genômicos precisos e reproduzíveis em uma escala que varia de indivíduos
a grandes coortes.
- Desenvolva um pipeline de análise Mercury e implemente-o na nuvem de serviços da Web da
Amazon através da plataforma DNAnexus.
- Estabeleceu uma poderosa combinação de um pipeline de software robusto e totalmente
validado e um recurso computacional escalável que foi aplicado a mais de 10.000 amostras
completas de genomas e exomas inteiros.

2.

- Considerando que a realização de análises em grandes redes sociais, como o Twitter, requer
recursos consideráveis ​devido à grande quantidade de dados envolvidos, tais atividades são
geralmente caras.
-Para usar serviços em nuvem como uma possível solução para a análise de grandes quantidades
de dados. Use o algoritmo PageRank na base de usuários do Twitter para obter classificações de
usuários.
- Use a infraestrutura de nuvem da Amazon para hospedar todos os cálculos relacionados.
- Implementei uma solução relativamente barata para aquisição e análise de dados usando a
infraestrutura de nuvem da Amazon.

3​.

-Estudar interações moleculares complexas que regulam o sistema biológico.


-Desenvolver uma aplicação de computação na nuvem baseada em Hadoop que processa
sequencias de imagens microscópicas de células vivas.
-Usar framework de computação na nuvem Hadoop.
-Permite que os usuários enviem trabalhos de processamento de dados na nuvem.

4.
-Aplicações executando em computação na nuvem provavelmente podem falhar.
-Projetar um cenário de falha.
-Criar uma série de cenários de falha em uma plataforma de computação na nuvem da Amazon.
-Ajudar a identificar vulnerabilidades de falha em aplicações Hadoop executando na nuvem.

--------------------------------------------------------------
Tabela 5
Resumo de estudos de casos de organizações de fornecedores.

------------------------------------------------------------------

Tabela 4
Vários estudos relacionados que lidam com big data através do uso da tecnologia de computação em
nuvem
------------------------------------------------------------------

Table 3
Comparison of several big data cloud platforms.

------------------------------------------------------------------
Tabela 2

Várias categorias de big data

Classificação - Descrição

Fontes de dados

Mídia Social ​- A mídia social é a fonte de informação gerada via URL para compartilhar ou trocar
informações e idéias em comunidades e redes virtuais, como projetos colaborativos, blogs e
microblogs, Facebook, e Twitter.

Dados gerados por máquina ​- Dados da máquina são informações geradas automaticamente a
partir de um hardware ou software, como computadores, dispositivos médicos ou outras
máquinas, sem intervenção humana.

Detecção ​- Existem vários dispositivos para medir grandezas físicas e transmormá-las em sinais.

Transações ​- Dados de transações, como dados financeiros e de trabalho, compreendem um


evento que envolve uma dimensão de tempo para descrever os dados.

IdC ​- IdC representa um conjunto de objetos que são unicamente identificáveis como parte da
internet. Estes objetos incluem smartphones, cameras digitais, e tablets. Quando eses
dispositivos se conectam um com o outro pela internet, eles permitem os procesos e serviços
mais inteligentes que suportam as necessidades básicas, economicas, ambientais e de saúde.
Um grande número de dispositivos conectados à internet oferece vários tipos de serviços e
produz uma quantidade enorme de dados e informações.

Formato do Conteúdo

Estruturado ​- Dados estruturados são geralmente gerenciados por SQL, uma linguagem de
programação criada para gerenciar e consultar dados em RDBMS. Dados estruturados são fáceis
de inserir, consultar, armazenar e analisar. Exemplos de dados estruturados incluem números,
palavras e datas.

Semi-Estruturados ​- Dados semi-estruturados são dados que não seguem um sistema de banco
de dados convencional. Dados semiestruturados podem estar na forma de dados estruturados
que não são organizados em modelos de bancos de dados relacionais, como tabelas. A captura
de dados semiestruturados para análise é diferente da captura de um formato de arquivo fixo.
Portanto, a captura de dados semi-estruturados requer o uso de regras complexas que decidem
dinamicamente o próximo processo após a captura dos dados.

Não Estruturados ​- Dados não estruturados, como mensagens de texto, informações de


localização, vídeos e dados de mídia social, são dados que não seguem um formato especificado.
Considerando que o tamanho desse tipo de dado continua a aumentar com o uso de
smartphones, a necessidade de analisar e entender tais dados se tornou um desafio.
Armazenamento de dados

Orientado a Documento ​- Armazenamentos de dados orientados a documentos são projetados


principalmente para armazenar e recuperar coleções de documentos ou informações e oferecer
suporte a formulários de dados complexos em vários formatos padrão, como formulários JSON,
XML e binários (por exemplo, PDF e MS Word). Um armazenamento de dados orientado a
documentos é semelhante a um registro ou linha em um banco de dados relacional, mas é mais
flexível e pode recuperar documentos com base em seu conteúdo (por exemplo, MongoDB,
SimpleDB e CouchDB).

Orientado por Colunas ​- Um banco de dados orientado por colunas armazena seu conteúdo em
colunas além das linhas, com valores de atributos pertencentes à mesma coluna armazenada
contiguamente. O orientado a colunas é diferente dos sistemas clássicos de banco de dados que
armazenam linhas inteiras uma após a outra, como BigTable.

Orientado por Gráficos ​- Um banco de dados gráfico, como o Neo4j, é projetado para
armazenar e representar dados que utilizam um modelo de gráfico com nós, arestas e
propriedades relacionadas entre si por meio de relações.

Valor-Chave ​- O valor-chave é um sistema de banco de dados relacional alternativo que


armazena e acessa dados projetados para escalar para um tamanho muito grande [19]. O
Dynamo [20] é um bom exemplo de um sistema de armazenamento de valores-chave altamente
disponível; Ele é usado pela amazon.com em alguns de seus serviços. Da mesma forma, [21]
propôs um armazenamento escalonável de valores-chave para suportar o acesso multi-chave
transacional usando um único acesso de chave suportado pelo valor-chave para uso em projetos
G-store. [22] apresentou um método de clustering escalável para realizar uma grande tarefa em
conjuntos de dados. Outros exemplos de armazenamentos de valores-chave são o Apache
Hbase [23], o Apache Cassandra [24] e o Voldemort. A Hbase usa o HDFS, uma versão de código
aberto do BigTable do Google, construída sobre o Cassandra. O Hbase armazena dados em
tabelas, linhas e células. As linhas são classificadas por chave de linha e cada célula em uma
tabela é especificada por uma chave de linha, uma chave de coluna e uma versão, com o
conteúdo contido como uma matriz de bytes não interpretada.

Data Staging

Limpeza ​- Limpeza é o processos de identificar dados incompletos e irracionais.

Transformação ​- Transformação é o processos de transformação de dados em formulários


adequado para análise.

Normalização ​- Normalização é o método de estruturação do esquema do banco de dados para


minimizar a redundância
Processamento de Dados
Batch ​- Os sistemas baseados em MapReduce (Redução de Mapa?) foram adotados por muitas
organizações nos últimos anos para trabalhos em lote de longa duração. Esse sistema permite o
dimensionamento de aplicativos em grandes grupos de máquinas, incluindo milhares de nós.

Tempo Real ​- Uma das mais famosas e poderosas ferramentas de big data baseadas em
processos em tempo real é o sistema de streaming escalonável simples (S4) [28]. O S4 é uma
plataforma de computação distribuída que permite que os programadores desenvolvam
convenientemente aplicativos para processar fluxos de dados contínuos e ilimitados. O S4 é uma
plataforma escalonável, parcialmente tolerante a falhas, de uso geral e conectável.

------------------------------------------------------------------

Tabela 1

Lista de abreviações