Por que eu devo ler este artigo:Com a popularização das mídias sociais e desenvolvimento das tecnologias, o número de dados gerados está sendo muito alto e a grande maioria desses são dados semiestruturados ou não estruturados. Diante disso vem se falando muito em Big Data.

Seu conceito pode ser definido como ferramentas e práticas que gerenciam e analisam grandes volumes de dados de diferentes fontes, em velocidade considerável, buscando agregar as organizações, valor de negócios e maior confiabilidade em relação às decisões a serem tomadas. Este artigo visa esclarecer a concepção e conceito de Big Data, sua utilização nas organizações, apresentar as tecnologias envolvidas, para que desta maneira as empresas possam utilizar desses recursos, contando com os benefícios de que dispõe para um maior gerenciamento e apoio na tomada de decisões.

Com a popularização da internet e o surgimento de mídias sociais, o número de dados digitais gerados aumentou de forma significativa. Esses dados podem ser classificados em estruturados e não estruturados, com base no seu gerenciamento e armazenamento.

Os dados estruturados são organizados em linhas e colunas, geralmente são encontrados em banco de dados relacionais, são eficientes quanto à recuperação e processamento. Já os dados não estruturados referem-se a dados que não podem ser organizados em linhas e colunas, como vídeos, comentários em redes sociais e e-mails, entre outros. Geralmente são dados de difícil acesso e recuperação e muitas vezes não dispõem de componentes necessários para identificação de tipo de processamento e interpretação, tornando o seu uso um desafio principalmente em aplicativos empresariais.

Grande parte dos dados digitais gerados atualmente, principalmente através de mídias sociais, os quais vêm despertando o interesse das organizações para serem usados como estratégias de negócio, são do tipo não estruturados. Esse tipo de dados requer dispositivos de armazenamento e processamento que suportem seu formato e garantam melhor eficiência em suas análises. Diante desta necessidade crescente de armazenar, manipular e analisar de forma rápida e inteligente, grandes volumes de dados não estruturados foi criado o conceito de Big Data.

Na década de 1940 já se falava em "explosão de dados" e "grandes volumes de dados", porém, foi na década de 1990 que na divulgação de um artigo, a IEEE mencionou o termo “Big Data" pela primeira vez. Em 2001, o termo passou a ser definido pelos 3Vs, de: Volume, Velocidade e variedade. O conceito de Big Data pode ser definido como ferramentas e práticas que gerenciam e analisam grandes volumes de dados, de diferentes fontes, em velocidade considerável, buscando agregar às organizações valor de negócios e maior confiabilidade em relação às decisões a serem tomadas.

Para as organizações aderirem com sucesso a esse novo conceito de análise e gerenciamento de grandes volumes de dados, é recomendado o cumprimento de algumas fases, são elas: 1) aquisição e gravação; 2) limpeza, formatação e validação; 3) integração, agregação e representação; 4) análise e modelagem; e 5) interpretação dos dados. O cumprimento das fases acima garante maior confiabilidade quanto à utilização do conceito Big Data.

O conceito de Big Data dispõe de inúmeras vantagens para as organizações, mas a principal vantagem é a identificação das necessidades dos clientes, sendo possível desenvolver estratégias de mercado e apoio a tomada de decisões mais precisas. Contudo, surgem também alguns desafios, como trabalhar com a segurança e confiabilidade dos dados.

Para auxiliar as organizações nos processos relacionados ao Big Data existem ferramentas analíticas como o Hadoop e MapReduce, também banco de dados NoSQL, que estão preparados para armazenar, gerenciar e analisar grandes volumes de dados de diferentes formatos.

O objetivo deste artigo é apresentar o conceito de Big Data de forma a facilitar o seu entendimento e utilização nas organizações, bem como: a) descrever as vantagens e desafio sem sua utilização, b) identificar a aplicação em ambientes corporativos; e c) enumerar as principais tecnologias que o sustentam.

Big Data

O número de dados gerados por meios eletrônicos tem aumentado significativamente com o desenvolvimento da tecnologia. Atualmente são gerados mais dados do que a civilização gerou desde o seu início até o ano de 2003. Com todo este volume de dados surgem possibilidades de análise e gerenciamento, de maneira a gerar informações úteis na tomada de decisão das empresas. Esta nova maneira de armazenar, gerenciar e analisar grandes volumes de dados de diversas fontes, a uma velocidade considerável denomina-se Big Data.

Contudo, a maioria das empresas ainda não tem uma visão clara do conceito Big Data, do seu potencial e de como alavancar esta potencialidade. Bem como, de que a ideia de que Big Data só faz sentido se o valor da análise dos dados compensar o custo de sua coleta, armazenamento e processamento e as questões legais envolvidas.

Dados podem ser caracterizados como uma descrição primária de objetos, eventos, atividades e transações que são gravados, classificados e armazenados, mas não chegam a ser organizados de forma a transmitir algum significado específico. Quando esse conjunto de registros sobre um determinado evento, fato, número, texto ou qualquer mídia que possa ser processada pelo computador, é agrupada, caracterizado e padronizado, transforma-se em informação.

Antes de serem transformados em informação, os dados podem ser divididos em dois grupos, segundo o armazenamento e gerenciamento. No primeiro grupo encontram-se os dados estruturados e no segundo os dados não estruturados. Os dados estruturados são organizados em linhas e colunas em um formato definido de forma rígida, de modo que os aplicativos possam recuperá-los e processá-los com eficiência. Já os dados não estruturados são os que não podem, ou são difíceis de serem armazenados em linhas e colunas. Geralmente são de difícil acesso e recuperação e requerem maior espaço e velocidade para armazenamento e gerenciamento. São muitas vezes dados que não dispõem de componentes necessários para identificação de tipo de processamento e interpretação, tornando o seu uso um desafio, principalmente em aplicativos empresariais.

O formato de dados não estruturados corresponde a 80% dos dados corporativos, podendo ser encontrados na forma de e-mails, comentários em redes sociais, vídeos, entre outros.

Conceitos de Big Data

Em meio à inovação tecnológica, as organizações encontram-se diante de uma possibilidade de analisar um volume muito grande de dados, que cresce de forma significativa. Estes dados vêm de várias fontes como, por exemplo, e-mails, vídeos, web sites, tuítes, comentários em Facebook, sensores, câmeras e smartphones, entre outros.

O Facebook divulgou ao blog TechCrunchque em 2012, que processa 2,5 bilhões de conteúdo e mais de quinhentos terabytes de dados por dia. São muitos dados se comparados há alguns anos. Em 2000 25% dos dados estavam em formato digital e em 2007 já eram 94%, ou seja, um crescimento de 69% em sete anos.

Apesar do crescimento de dados digitais ter aumentado significativamente, a maioria ainda não é tratada e analisada de forma a influenciar na tomada de decisões das empresas. Diante disso, tem-se ouvido falar muito a respeito de Big Data, que por sua vez tem chamado atenção, pois se trata de um conceito não com apenas uma definição exata, mas com várias definições se analisado sobre diversas óticas, como por exemplo, negócios e tecnologia.

Big Data são tecnologias e práticas emergentes que possibilitam a seleção, processamento, armazenamento e geração de insights de grandes volumes de dados estruturados e não estruturados de maneira rápida, efetiva e a um custo acessível. Big Data pode ser considerado como um conjunto de dados que cresce exponencialmente e necessita de habilidades além das quais as ferramentas típicas de gerenciamento e processamento de informações dispõem.

Taurion descreve ainda que se trata de "Um conjunto de tecnologias, processos e práticas que permitem às empresas analisarem dados a que antes não tinham acesso e tomar decisões ou mesmo gerenciar atividades de forma muito mais eficiente”. Segundo o autor citado acima "não é teoria ou futurologia, é algo que se encontra agora”.

Big Data pode ser definido também, como um grande data warehouse ou um BI em cima de um data set de terabytes de dados ou também como um volume de dados muito significativo, porém não se trata apenas de volume, mas também de uma variedade imensa de dados não estruturados que precisam ser avaliados e tratados em velocidade adequada para terem valor ao negócio.

De maneira mais simples, resume-se em "Big Data = volume + variedade + velocidade + veracidade, gerando valor". Volume refere-se à quantidade de dados gerados a cada segundo, variedade, porque os dados vêm de diversas fontes (estruturados e não estruturados), velocidade, pois se trata muitas vezes de informações em tempo real, veracidade, porque é necessário que os dados sejam autênticos e façam sentido e, por fim, valor, pois é o que as organizações buscam, ou seja, o retorno dos investimentos.

Com a expansão dos conceitos de Big Data, diversas empresas já estão tomando iniciativas para aderir ao mesmo, porém, sem uma estratégia bem definida, afinal, "Big Data não é apenas comprar pacotes de tecnologia, mas uma nova maneira de explorar esse imenso volume de dados que circula dentro e fora das empresas". Para aderir ao Big Data , as empresas devem estar cientes de que serão embutidas transformações em processos de negócio, fonte de dados, infraestrutura de tecnologia, capacitação e mudanças organizacionais na empresa e em TI.

Fases do processo de análise sugerido pelo Big Data

Para que ocorra sucesso com o uso desse novo conceito, é necessário que as organizações sigam algumas fases do processo de Big Data.

A coleta de dados ou aquisição e agravação é a primeira fase do processo de Big Data. Nesse momento devem ser analisados o volume e a variedade dos dados que serão coletados. É necessário que se faça uma limpeza, formatação e validação dos dados coletados, para que sejam eliminados erros, dados incompletos e incoerentes, evitando assim contaminar análises futuras.

Depois disso vem a fase de integração, agregação e representação dos dados obtidos, pois diferentes tipos e formatos de dados devem receber tratamentos específicos. Nesta fase é importante definir categorias de dados e critérios de validação e aceitação, também critérios de segurança variam de acordo com as fontes de dados.

Em seguida encontra-se a fase de análise e modelagem dos dados. Como se trata de dados de diversas fontes para serem analisados, requer conhecimento elevado por parte dos usuários. Aqui entra o "datascientist", um profissional com habilidades em ciência da computação, matemática, estatística e conhecimento de negócio. Esta fase também requer investimentos em pesquisas de novas formas de visualização, que ajudam na melhor interpretação dos dados, que se trata da última fase do pipeline. A Figura 1 representa as fases do processo de Big Data.

O pipeline de análise de big data
Figura 1. The Big Data Analysis Pipeline

Vantagens

Algumas das possíveis vantagens de seu uso são:

  • Saber exatamente o que os clientes querem, estudando seus hábitos de consumo. O conhecimento das necessidades do cliente faz com que possa ser oferecido ao mesmo exatamente o que deseja, ganhando assim a confiança;
  • Encontrar potenciais compradores a partir da mensuração em tempo real das redes sociais. O desenvolvimento da tecnologia permite que pessoas de diversas localidades geográficas conheçam o produto e ofertas em tempo real, com isso pode ocorrer expansão nas vendas;
  • Prevenir possíveis riscos para o negócio graças a análises em tempo real de distintas variáveis do mercado. Pode ser analisado em tempo real tudo o que está ocorrendo no mercado, sendo assim, existe possibilidade de tomar medidas preventivas e antecipatórias em relação a dificuldades e oportunidades;
  • Observar o que a concorrência está fazendo para desenhar ofertas especiais. Conhecer o concorrente e pensar alternativas para aumentar lucros.

Todas as observações citadas pela SAP dispõem às organizações um diferencial de mercado e vantagem competitiva em relação a seus concorrentes.

As vantagens do Big Data estão relacionadas a dois fatores:

  1. O efeito dos grandes números, que garante a validade das análises;
  2. A capacidade de adicionar uma multiplicidade de novos vetores de preferência, complementando e enriquecendo a qualidade das análises devido à observação de comportamentos específicos em indivíduos com características similares.

Estes fatores podem ser melhor explicados nos seguintes itens:

  • Transformação de dados não estruturados em informação útil para análise sistemática, através de técnicas de Big Data que possibilitam a atribuição de indicadores de “sentimento”. Neste sentido, existem já diversos softwares que classificam os comentários produzidos nas redes sociais de acordo com o teor das mensagens e a sua intensidade;
  • Utilização dos dados de forma experimental, correlacionando grandes volumes de dados quantitativos históricos com informação recente, depois de passar pelo processo de estruturação (por exemplo, comentários realizados em blusões) e antecipando assim as expectativas do mercado;
  • Segmentação exaustiva dos diversos perfis de consumo, permitindo identificar clusters de clientes e adaptar as abordagens de forma micro segmentadas, sempre que possível em real time (por exemplo, utilização de promoções por georreferencia);
  • Aceleração do processo de inovação das empresas, com reflexo na rapidez do desenvolvimento de ideias para novos produtos e serviços e na sua performance esperada, permitindo endereçar não só o desafio de criar ofertas inovadoras como também de gerir de forma proativa todo o customer life cycle – desde a captação à retenção, incluindo mecanismos de aumento de valor e da satisfação dos clientes nas interações realizadas ao longo dos diversos pontos de contato.

O Big Data traz às empresas a grande oportunidade de obtenção da excelência no conhecimento mais adequado e imediato do cliente e do mercado. Essa eficiência está ligada a qualidade das informações integrada aos diversos sistemas corporativos e que os ganhos serão obtidos por aqueles que perceberem o sentido de ampliar a gama das fontes de dados e garantir veracidade e velocidade, bem como a proximidade no relacionamento com seus clientes.

O caminho da obtenção de vantagens competitivas trazidas pelo Big Data é o conhecimento profundo do negócio para perceber e chegar à combinação ideal de dados e informações sobre o cliente e o mercado, que possam favorecer a estratégia, eficácia, aceitação da proposta de valor, prever tendências de consumo e, por fim, alcançar avanços na realização dos objetivos estratégicos da empresa.

Desafios

Para alcançar a efetividade do Big Data é necessário que os benefícios estejam claros e os incentivos alinhados, criando condições de aprofundar técnicas e utilizá-las nas organizações. Alguns dos principais desafios do Big Data são:

  • Políticas de privacidade, acesso, tratamento e utilização da informação: se por um lado é imprescindível garantir a proteção da privacidade dos clientes, por outro lado só será possível melhorar a qualidade dos dados analisados se estiver garantida o recolhimento sistemático de informação. Mas como garantir que os clientes disponibilizem, por exemplo, informação da sua localização atual? Como conseguir relacionar um determinado cliente com o seu perfil nas redes sociais? O envolvimento dos clientes é crítico porque só dessa forma o ciclo de Big Data ficará completo;
  • Avanço tecnológico e multidisciplinaridade: à medida que o volume de dados aumenta, maiores são os desafios que se colocam à capacidade de armazenamento e análise. Os principais provedores de tecnologia têm apostado fortemente em novas técnicas de storage, data mining e business intelligence. No entanto, uma maior colaboração com as áreas de negócio e os principais influenciadores em cada indústria será crítica para conseguir adaptar a tecnologia às necessidades imediatas das empresas, sem ter de passar por processos morosos e custosos de implementação;
  • Orientação para o cliente: apenas percebendo o fim para o qual se destinam os dados é útil aprofundar as metodologias de Big Data. Exceder as expectativas do cliente deverá ser a principal finalidade. Para isso, a organização deverá desenvolver estratégias globais que permitam integrar os modelos de dados com os modelos de relação nos diversos pontos de contato de forma holística e dinâmica, adaptando-se à expectativa de cada cliente a cada momento.

Outro desafio visível em relação ao Big Data é a falta de profissionais qualificados. A EMC Brasil realizou uma pesquisa onde 73% das empresas entrevistadas apontaram a cultura como sendo a maior barreira de lidar com o Big Data. O levantamento destaca que 88% das companhias acreditam que será um desafio capacitar seus trabalhadores para a nova TI.

De acordo com Carlos Cunha, diretor geral da EMC Brasil "Não está fácil encontrar profissionais de TI. E a dificuldade para Big Data é tamanha porque o conceito vai além dos dados armazenados na TI tradicional”.

Utilização nas organizações

A utilização do Big Data pelas organizações ainda é um desafio na realidade atual. A SAS e Source Media realizaram uma pesquisa a qual apontou que a maioria das organizações ainda não se preparou para implementar estratégias. A necessidade de informações específicas e clareza dos benefícios, assim como o pouco apoio da liderança são as barreiras mais comuns para a falta de uso da tecnologia, destacou a pesquisa.

Uma pesquisa realizada pela IBM em parceria com Said Business Schoolatthe OxfordUniversity, feita com 1.144 profissionais de negócios e de TI, em 95 países apontou 2/3 das empresas sentem que Big Data oferece um potencial muito grande para a criação de vantagens competitivas. 28% das empresas estão desenvolvendo projetos piloto ou tem algum projeto já em andamento, 47% ainda estão estudando o assunto e 24% nem começaram.

No Brasil, segundo a IBM, 25% das empresas ainda não deram início a nenhuma atividade relacionada à Big Data e 24% afirmam estar em processo de implantação de seu primeiro projeto de análise de dados.

Existe hoje certa insegurança entre as organizações em relação ao Big Data, devido a que muitas associam essa inovação com projetos realizados pela Google e Facebook, por exemplo, os quais envolvem investimentos considerados altos e uma quantidade considerável de profissionais qualificados, a qual foge da sua realidade.

Contudo, essa visão está ficando de lado com o amadurecimento das soluções de Big Data que estão sendo preparadas para suportar orçamentos mais modestos.

Diversas organizações buscam o Big Data devido a fatores como, maior velocidade a baixo custo, que se dá unindo computação e armazenamento em um hardware acessível. Economia com aprimoramentos de desempenho que pode ser conseguida com a tecnologia Hadoop, por exemplo.

Para Cynthia Bianco, existe uma grande procura por soluções Big Data no Brasil, porém ainda são poucas as empresas que realmente aplicam a solução, devido à dificuldade na implementação, por se tratar de vários processos que envolvem coleta de dados e criação de lógica.

Mas este cenário tende a mudar, um estudo da ABI Research afirma que as organizações vão investir 31 bilhões de dólares neste ano de 2013, com um crescimento de 30%, chegando a 114 bilhões de dólares em 2018. O estudo destaca ainda que os maiores investimentos em Big Data serão feitos por empresas de tecnologia da informação, seguidas das áreas de transportes, serviços financeiros, comércio, serviços públicos, manufatura e mineração, petróleo e gás.

Mcafeee conduziu estudos que levaram à conclusão de que as empresas que efetivamente utilizam Big Data são 5% mais produtivas e 6% mais lucrativas que seus competidores, empresas centenárias já estão adotando-o como forma de promover competitividade no mercado.

A empresa alemã Bosch que atua no mercado há 127 anos lançou iniciativas em diversas áreas da companhia. De acordo com Olhar Digital, a ideia da empresa é usar a análise de dados para oferecer serviços mais inteligentes aos clientes. Eles incluíram a inteligência na frota de veículos de carga, na gestão de energia e na segurança. Para desenvolver a tendência dentro da empresa, a Bosch ainda criou um grupo de inovação de software focado em análises de grandes volumes de dados e 'internet das coisas'.

A empresa GE destacou-se também pela iniciativa tomada, onde instalou sensores de fluxo de dados em turbinas, locomotivas e motores para determinar de forma mais eficaz e eficiente os intervalos de manutenção das máquinas. Tudo isso usando a análise dos dados coletados. A organização investiu mais de US$ 2 bilhões em novos softwares de análises, além de vender tecnologias para empresas industriais que querem usar Big Data.

Na área de tecnologia da informação empresas como a IBM e SAS têm se destacado quanto à criação de ferramentas Big Data.

Tecnologias que sustentam Big Data

Para tratar dados na escala de volume, variedade e velocidade do Big Data se fez necessária a criação de novos modelos para avaliar e armazenar dados. Neste contexto surgiram as tecnologias de infraestrutura, que armazenam e processam os petabytes de dados e tecnologias analytics. Para trabalhar processamento de muitos dados em tempo real, tem se usado bancos NoSQL, que permitem alto desempenho e recuperação baseada em índice. Já para processamento em lote, tem sido usada a técnica MapReduce, que se trata de um modelo computacional distribuído.

NoSQL

A ascensão do Big Data trouxe novos desafios na forma de manipulação, armazenamento e processamento de consultas, em especial na área de bases de dados, mineração e recuperação de informações. Nesse aspecto, identificou-se que os bancos de dados relacionais não seriam mais adequados como, por exemplo, na execução de consultas com baixa latência, tratamento de grandes volumes de dados, escalabilidade elástica horizontal, suporte a modelos flexíveis de armazenamento de dados, e suporte simples a replicação e distribuição dos dados.

Diante disso surge uma tendência para solucionar os diversos problemas e desafios gerados pelo contexto Big Data é o movimento denominado NoSQL (Not Only SQL).

A criação do conceito NoSQL teve como base fatores como alta taxa de geração de dados, suporte a tipos de dados complexos, semiestruturados e não estruturados e a dificuldade de modelagem de tais tipos de dados.

Trata-se de diferentes sistemas de armazenamento que vieram para suprir necessidades em demandas onde os bancos de dados tradicionais são ineficazes. Muitas dessas bases apresentam características muito interessantes, como alta performance, escalabilidade, replicação, suporte a dados estruturados e subcolunas. Os bancos NoSQL estão subdivididos pelo seu núcleo:

  • Key/Value Store – banco de dados simples que aguenta a maior carga de dados. O seu conceito é uma chave e um valor para esta chave. Possui maior escalabilidade. Exemplos: Berkeley DB, TokyoCabinet, Project Voldermort, MemcacheDB, SimpleBD.
  • Wide Columns Store - suportam várias linhas e colunas e também subcolunas. Exemplos: BigTable, HBase (Apache), HiperTable, Cassandra (Apache).
  • Document Store - Baseado em documentos XML ou JSON, podem ser localizados pelo seu id único ou por qualquer registro que tenha no documento. Exemplos: CouchDB (Apache), MongoDB, Riak, RavenDB.
  • GraphStore - guardam objetos, e não registros como os outros tipos de NoSQL. A busca desses itens é feita pela navegação desses objetos. Exemplos: Neo4J, InfoGrid, HyperGraphDB, BigData.
  • Column Oriented Store - Esses são bancos de dados relacionais, porém apresentam características do NoSQL. A principal diferença deles é que os dados são armazenados em colunas, ajudando na escalabilidade. Exemplos: Vertica, MonetDB, LucidDB, Infobright, Ingres/Vectorwise.

Os bancos NoSQL são indicados para grandes cargas de dados, exigência de velocidade na consulta e escrita em grandes volumes de dados. Devido a esses fatores se tornam uma boa escolha na utilização de Big Data.

Diferença entre bancos de dados relacionais e NoSQL

Bancos de dados NoSQL são uma solução alternativa para os bancos de dados relacionais, possuem uma alta escalabilidade e desempenho. Bancos de dados relacionais baseiam-se no fato de que todos os dados estão guardados em tabelas, pelo conceito de entidade e relacionamento. Os dados são separados de forma única, tentando diminuir ao máximo a redundância, pois a informação é criada pelo conjunto dos dados, onde são as relações entre as tabelas que fazem esse serviço.

As características do NoSQL são registros, schema-free, tolerância à falha, escalabilidade, clusterização, mapreduce, sharding. Enquanto isso, as principais características dos bancos relacionais são tabelas, schema definido, hierarquia, redundância mínima, entidade e relacionamento, formas normais, transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade).

Em relação às necessidades o NoSQL: sistemas em nuvem, análises sociais, alta escalabilidade, performance na consulta/escrita, replicação. Já os relacionais: sistemas locais, financeiros, corporativos; segurança da informação; consistência dos dados.

Como casos de sucesso do NoSQL podem ser citados Twitter, Facebook, Digg, Amazon, LinkedIN, Google, Yahoo, The New York Times, Bit. ly. No modelo relacional SAP, OpenERP, Previdência, Social, Caixa, Itaú, Salesforce, Vale.

A Tabela 1 apresenta uma análise comparativa do modelo de dados relacional e o modelo NoSQL.

Relacional NoSQL
Escalonamento Possível, mas complexo. Devido à natureza estruturada do modelo, a adição de forma dinâmica e transparente de novos nós no grid não é realizada de modo natural. Uma das principais vantagens desse modelo. Por não possuir nenhum tipo de esquema pré-definido, o modelo possui maior flexibilidade o que favorece a inclusão transparente de outros elementos.
Consistência Ponto mais forte do modelo relacional. As regras de consistência presentes propiciam um maior grau de rigor quanto à consistência das informações. Realizada de modo eventual no modelo: só garante que, se nenhuma atualização for realizada sobre o item de dados, todos os acessos a esse item devolverão o último valor atualizado.
Disponibilidade Dada a dificuldade de se conseguir trabalhar de forma eficiente com a distribuição dos dados, esse modelo pode não suportar a demanda muito grande de informações do banco. Outro fator fundamental do sucesso desse modelo. O alto grau de distribuição dos dados propicia que um maior número de solicitações aos dados seja atendida por parte do sistema e que o sistema fique menos tempo não disponível.
Tabela 1. Análise Comparativa Modelo Relacional x NoSQL

Com a necessidade de uso do NoSQL, empresas começaram a investir em desenvolvimento de seus próprios SGBDs:

  • Apache Cassandra: Desenvolvido inicialmente pelo Facebook, é um projeto de sistema de banco de dados distribuído, altamente escalável, que foi desenvolvido na plataforma Java. Reúne a arquitetura do Dynamo da Amazon e o modelo de dados do BigTable da Google. Exerce com excelência a função de repositório de dados. Teve seu código-fonte aberto à comunidade em 2008. Atualmente é mantido por desenvolvedores da fundação Apache e colaboradores de outras empresas;
  • Apache CouchDB: É um banco de dados orientado a documentos de código fonte aberto escrito em linguagem Erlang. Foi desenvolvido e mantido pela fundação Apache e busca replicação e escalabilidade horizontal;
  • BigTable: Foi desenvolvido pela Google para distribuir dados por centenas de servidores e escalar por conjuntos de dados de até 1 petabyte. Uma grande variedade de aplicativos da empresa usa o BigTable, entre eles índices da web, Google Earth, Maps, YouTube entre outros. É proprietário, porém o modelo de dados existe em implementações de código aberto. Pode ser usado como input ou output para o Mapreduce, que ativa o processo de distribuição de arquivos ou banco de dados usando funções de mapeamento e redução;
  • Dynamo: Desenvolvido pela Amazon em 2007, foi criado para oferecer armazenamento de valores-chaves de dados de alta disponibilidade, permitindo atualizações para sobreviver a falhar de servidor e rede;
  • MongoDB: Combina as melhores funcionalidades de orientação a documentos, Assis e RDBMSs. É um banco de dados orientado a documentos, escalável, livre de esquema, de alto desempenho e código aberto escrito em C++.

MapReduce

O modelo de programação MapReduce é projetado para computar grandes volumes de dados de um modo paralelo e serve para dividir a carga de trabalho entre diversos nós do cluster. Suas etapas transformam listas de elementos de entrada em listas de elementos de saída e foram inspiradas nas linguagens funcionais. Esse modelo segue a arquitetura de comunicação mestre-escravo, em que um nó, chamado de mestre, controla vários outros nós, chamados de escravos. O processamento do MapReduce é dividido em três partes:

  1. Na fase map, o nó mestre tem a função de quebrar os dados de entrada em pedaços menores e distribuí-los entre os nós escravos do cluster, a partir daí o processamento é feito paralelamente. Quando todos os nós escravos terminam a função map, as respostas são estruturas de dados de chave-valor e são enviadas como entrada para a próxima fase;
  2. Na fase shuffle e sort, a lista de entrada de todos os nós é agregada e ordenada com coordenação do nó mestre, criando uma nova lista com elementos do tipo chave-valor. Seu resultado é enviado para a entrada da fase de reduce;
  3. Na fase do reduce, o nó mestre novamente divide a lista de entrada entre todos os nós escravos. Ela é iterada e a função reduce realiza algum processamento sobre os valores de cada chave.

Na Figura 2 pode ser observada a entrada de dados (input data), em seguida o MapReduce se encarrega de dividir os dados de entrada em pedaços de mais ou menos igual tamanho (input data part 1, input data part N), gerando um número de instâncias de processamento para a fase de mapa repartir os dados para cada um dos cartógrafos (map instance #1, map instance #N), que acompanha o status de cada mapeador. Em seguida, é feito o encaminhamento dos resultados no mapa para a fase de reduzir (reduce instance) e, finalmente, fecha-se os cartógrafos e os redutores (output data).

Processo MapReduce
Figura 2. Processo MapReduce

O modelo de programação MapReduce tem algumas implementações, porém, a mais utilizada é a do Hadoop.

Hadoop

O Hadoop foi a primeira implementação gratuita para o MapReduce, em um projeto criado pela Fundação Apache. O Hadoop foi criado pelo Yahoo em 2005 e pode ser considerado um dos maiores inventos de data management desde o modelo relacional. Hoje o mesmo é um dos projetos da comunidade Apache e vem sendo adotado por empresas que precisam tratar volumes massivos de dados não estruturados.

Na prática Hadoop são uma combinação de dois projetos separados, que são o Hadoop MapReduce (HMR) e o Hadoop Distributed File System (HDFS). O HMR é um framework para processamento paralelo e um spinoff do MapReduce, software que o Google usa para acelerar as pesquisas endereçadas ao seu buscador. O HDFS é um sistema de arquivos distribuídos, otimizado para atuar em dados não estruturados, e é também baseado na tecnologia do Google, neste caso o Google File System. Existe também o Hadoop Common, conjunto de bibliotecas e utilitários que suportam os projetos Hadoop. Na prática, para que o HMR processe os dados, eles devem estar armazenados no HDFS.

A IBM usa intensamente o Hadoop em diversos projetos. A empresa integra-o a outros de seus softwares como o Cognos, criando soluções para tratamento analítico de dados massivos e não estruturados, como o Info Sphere Big Insights, que agrega um conjunto de tecnologias open source como o próprio Hadoop, Nutch e Pig, com as tecnologias próprias da IBM, como InfoSphere e ManyEyes.

Haddop é um projeto de software de código aberto que permite o processamento distribuído de grandes conjuntos de dados em clusters de servidores de commodities. O mesmo foi concebido para escalar a partir de um único servidor de milhares de máquinas, com um elevado grau de tolerância a falhas. Possui capacidade para detectar e lidar com falhas na camada de aplicação.

Existem várias definições de Hadoop, cada uma visando um público diferente dentro da empresa:

  • Para os executivos: Hadoop é um projeto de software livre da Apache que tem como objetivo obter valor do volume/velocidade/variedade incrível de dados sobre sua organização. Use os dados em vez de jogar a maioria fora;
  • Para os gerentes técnicos: um conjunto de softwares livres que mina o BigData estruturado e não estruturado de sua empresa. Ele integra com seu ecossistema existente de Business Intelligence;
  • Jurídico: um conjunto de software livre empacotado e suportado por diversos fornecedores;
  • Engenharia: um ambiente de execução Mapear/Reduzir massivamente paralelo, sem compartilhamento e baseado em Java. Imagine de centenas a milhares de computadores trabalhando no mesmo problema, com resiliência integrada contra falhas. Projetos no ecossistema Hadoop fornecem carregamento de dados, linguagens de nível superior, implementação automatizada na nuvem e outros recursos.
  • Segurança: um suíte de software protegido por Kerberos.

O Hadoop muda a economia e a dinâmica da computação em larga escala. Seu impacto pode ser resumido a quatro características marcantes:

  • Scalable- Novos nós podem ser adicionados sem necessidade de alterar os formatos de dados, como os dados são carregados, como os trabalhos são escritos, ou as aplicações que acessam os dados;
  • Custo-benefício- Hadoop traz computação massivamente paralela aos servidores das commodities. O resultado é uma diminuição considerável no custo por terabyte de armazenamento, o que o torna acessível para modelar todos os seus dados.
  • Flexível- Hadoop é schema-less, e pode absorver qualquer tipo de dados, estruturados ou não, de qualquer número de fontes. Dados de várias fontes podem ser unidos e agregados de forma arbitrária, permitindo análises mais profundas do que qualquer sistema pode proporcionar;
  • Tolerante a falhas- Quando você perde um nó, o sistema redireciona para outro local de trabalho dos dados e o processamento continua.

O projeto Hadoop inclui os seguintes módulos:

  • Hadoop Common: Os utilitários comuns que suportam os outros módulos do Hadoop;
  • Hadoop Distributed File System (HDFS ™): Um sistema de arquivos distribuído que fornece acesso high-throughput de dados do aplicativo;
  • Hadoop FIO: Um framework para programação de trabalho e gestão de recursos de cluster;
  • Hadoop MapReduce: Um sistema baseado em FIO para processamento paralelo de grandes conjuntos de dados.

Especialistas informam que as tecnologias Hadoop estão se tornando fundamentais para ajudar empresas a gerirem grandes volumes de dados. Entre as principais organizações que abraçaram a ferramenta estão NASA, Twitter e Netflix.

Este artigo buscou apresentar e esclarecer o conceito Big Data de forma a facilitar o entendimento e sua utilização nas organizações. O conceito de Big Data traz várias definições se analisado sob diversas óticas, mas ainda assim pode ser resumido como conceitos e tecnologias de se trabalhar com grandes volumes de dados, de diferentes tipos, a uma velocidade considerável. Com isso, visa auxiliar as organizações para que tenham diferencial de mercado.

As vantagens de se trabalhar como o Big Data são inúmeras, mas o grande diferencial é que o Big Data auxilia as organizações no conhecimento profundo dos seus negócios e as faz perceber e chegar à combinação ideal de dados e informações sobre o cliente e o mercado, dados estes que favorecem a estratégia, eficácia, aceitação da proposta de valor e as faz alcançar avanços na realização dos objetivos estratégicos da empresa.

Em contrapartida, existem alguns desafios a como trabalhar com a privacidade dos dados e a falta de mão de obra qualificada na área.

O número de empresas que tem aderido ao conceito de Big Data tem aumentado desde a formalização do seu conceito, mas ainda existe uma certa cautela devido a custos elevados e o pouco conhecimento que se tem a respeito do assunto. Contudo, existem casos de sucesso como a empresa Bosch, que tem adotado os conceitos de Big Data e tirado proveito de suas vantagens.

Para sustentar o Big Data, existem tecnologias de infraestrutura, que armazenam e processam os petabytes de dados e tecnologias analytics. Para trabalhar processamento de muitos dados em tempo real, tem se usado bancos NoSQL, que permitem alto desempenho e recuperação baseada em índice. Já para processamento em lote, tem sido usada a técnica MapReduce, que se trata de um modelo computacional distribuído.

Diante de vários conceitos, confirmações e dúvidas que estão em torno ao Big Data, alguns autores apontam que essa tecnologia está crescendo e que é a tendência dos próximos anos.


Saiu na DevMedia!

  • Que JavaScript é esse?:
    Apresentamos aqui o JavaScript na sua versão mais moderna. Ao acompanhar os cursos dessa série você se sentirá à vontade para programar em Angular, React ou Vue.

Saiba mais sobre Big Data ;)

  • Engenharia de Software:
    Encontre aqui os Guias de estudo sobre os principais temas da Engenharia de Software. De metodologias ágeis a testes, de requisitos a gestão de projetos!
Referências: