FELIPE HENRIQUE ZILIOTTI VISÃO GERAL SOBRE BIG DATA Artigo apresentado à Universidade de Franca, como exigência parcial, para aprovação no curso de Pós-Graduação Lato Sensu. Área de Concentração: Especialização em Desenvolvimento, Integrações e Administração de Banco de Dados. Coordenador do Curso: Tiago Merlino Domenes. FRANCA 2016 2 VISÃO GERAL SOBRE BIG DATA OVER VIEW ABOUT BIG DATA Felipe Henrique Ziliotti1 RESUMO Big Data descreve um conjunto de dados extremamente amplo e que necessita de ferramentas especialmente preparadas para lidar com grandes volumes, possibilitando, que toda e qualquer informação possa ser encontrada, analisada e aproveitada em tempo hábil. Este termo está diretamente relacionado com Business Intelligence (BI) e possui três principais características, conhecidos como três “Vs”, são eles: volume, velocidade e variedade. Os sistemas tradicionais atuais não estão preparados para tratar certas coleções de dados que já algum tempo vêm crescendo. Este artigo tem por objetivo apresentar o conceito de Big Data de forma simples e resumida, mostrando algumas de suas principais características e fundamentos. Ao final do artigo, veremos alguns exemplos de uso deste novo modelo de análise de dados em grande escala. Palavras-chave: Big Data, Business Intelligence, análise de dados. ABSTRACT Big Data describes an extremely wide data set that needs tools specially prepared to deal with great amounts that lead to any piece of information that can be found, analyzed and utilized in a correct pace. This term is directly related to Business Intelligence (BI) and it has three main features, knowns as three “Vs”, that are: volume, velocity and variety. The current traditional systems are not prepared to deal with certain data collections that have been growing. The objective of this article is to present the concept of Big Data in a short and simple way, slowing some of its main characteristics. At the end of this article, we will notice some examples of using this data analysis model in a huge scale. Key words: Big Data, Business Intelligence, data analysis. INTRODUÇÃO No cenário atual, a sociedade tornou-se hiperconectada, enviando e recebendo a todo instante dados através da internet. Dada a importância conquistada pela tecnologia em nossas vidas, como por exemplo o uso de redes sociais, dados de localização Global System Positioning (GPS), mensagens de texto, envio de vídeos, registros de transações financeiras, websites, sensores de dispositivos, entre outros, geram uma grande massa de dados não estruturados. Segundo TAURION (p. 2, 2015), “O volume de informações geradas pela sociedade é assustador. Por exemplo, diariamente são gerados mais de 500 milhões de tuítes. Os medidores inteligentes de energia... geram 350 milhões de medições por ano...”. 1 Aluno do curso de Pós-Graduação Lato Sensu da Universidade de Franca, em Especialização em Desenvolvimento, Integrações e Administração de Banco de Dados, 2016. 3 Até pouco tempo atrás não era explorada este oceano de dados. Além do volume, esses dados são muito variados, originados de diversas fontes, em diversos formatos e em constante modificação. Isso se tornou um desafio para obter a informação que realmente importa e faz diferença para o negócio. Estima-se que em 2006, os dados armazenados no “universo digital” estavam em torno de 0.18 zettabytes, sendo que em 2011 esse número saltou para 1.8 zettabytes, motivo este que resultou neste este projeto de pesquisa. Desta forma, este artigo vem para apresentar o conceito de Big Data, suas principais características, modelo MapReduce, modelo Hadoop, banco de dados NoSQL, desafios e casos de uso. 1 BIG DATA Segundo definição de GARTNER (2015), Big Data é o termo adotado pelo mercado para descrever problemas no gerenciamento e processamento de informações extremas as quais excedem a capacidade das tecnologias de informações tradicionais ao longo de uma ou várias dimensões. Podese afirmar que Big Data é essencialmente uma prática que apresenta novas oportunidades de negócios. Com os avanços computacionais, foi possível armazenar, organizar e analisar os dados muito mais fácil e rapidamente. Diversos dispositivos em nossas casas como: geladeiras, TVs, lavadoras de roupa, iluminação, entre outros, deverão estar conectados à internet, conceito este conhecido como Internet of Things2 (IoT). Outra grande fonte de dados, são as redes sociais como Facebook, Twitter, Instagram e outros, que a cada segundo tem novos dados de usuários. O Big Data se propõe ajudar na análise desse grande volume de dados, auxiliando empresas, governos e outras instituições, na tomada de decisões, melhoria de produtos e serviços, criação de estratégias de marketing mais eficientes, corte de gastos, evitar desperdícios, análise de riscos, detecção de fraudes, sair na frente da concorrência, conhecer melhor o cliente e realizar um acompanhamento do pós-vendas (Customer Relationship Management3 - CRM), e entre outros. Outras ferramentas que também auxiliam a tomada de decisão e que agregam ao Big Data são: Data Mining, Business Intelligence, Data Warehouse e entre outros. A Cloud Computing4, também auxilia na implementação deste conceito, devido a possibilidade de alta disponibilidade, escalabilidade e de custo mais baixo. Portanto, a proposta do Big Data é oferecer uma abordagem ampla no tratamento dos dados, transformando os dados em valores de maneira mais eficiente e precisa. Veremos algumas características que compõem este modelo. 2 Tradução: internet das coisas. Tradução: gestão do relacionamento com o cliente. 4 Tradução: computação em nuvem. 3 4 1.1 Características do Big Data Devido ao alto volume de dados dos mais variados tipos, é necessária a preocupação com a distribuição de processamento e suportar aplicações com volume de dados que crescem substancialmente em pouco tempo. Os bancos de dados tradicionais, como por exemplo: Oracle, MySQL, PostgreSQL, SQL Server são um pouco restritos, pelo fato de seguirem o modelo relacional definido pelas propriedades de transação (Atomicity5, Consistency6, Isolation7, Durability8 - ACID), perdendo a flexibilidade que o Big Data necessita. As cinco principais características do Big Data são: volume, velocidade, variedade, veracidade e valor. Alguns especialistas, descrevem apenas três principais “Vs”, INTEL (2012): Volume: a escala maciça e crescimento de dados não estruturados, superar armazenamento tradicional e soluções analíticas; Variedade: Big Data é coletado a partir de novas fontes que não foram minadas no passado. Processos tradicionais de gestão de dados não podem lidar com a diversidade e variação dos dados do Big Data, que vem em formatos tão diferentes como e-mail, redes sociais, vídeo, imagens, e-mails, blogs, e sensores de dados; Velocidade: os dados são gerados em tempo real, com as exigências de informação útil a ser servida. Outras fontes, incluem a necessidade que o dado seja verdadeiro e confiável (veracidade) e que contenha algum valor, pois já é esperado que os dados sejam consistentes. Surge desta grande necessidade, novas ferramentas capazes de suportar as soluções voltadas ao Big Data, são elas: MapReduce, Pig, Hive, Hadoop e banco de dados NoSQL. A seguir, na Figura 1, ilustra-se os três “Vs” do Big Data. 5 Tradução: atomicidade. Significa que toda transação só pode ser considerada efetivada se executada totalmente. Tradução: consistente. Significa que todas as regras aplicadas ao banco de dados devem ser seguidas. 7 Tradução: isolamento. Significa que nenhuma transação pode interferir em outra. 8 Tradução: durabilidade. Significa que após a transação ser concluída, os dados consequentes não podem ser perdidos. 6 5 Figura 1 - Os três “Vs” do Big Data. Fonte: DELTA, 2016, p. 2. A seguir, serão apresentadas as principais ferramentas utilizadas nas soluções de Big Data. 1.2 MapReduce MapReduce é um modelo de programação para processamento e geração de grandes conjuntos de dados. Sua principal função é o escalonamento de processos, responsável em dividir as entradas de dados em várias partes independentes que são processadas de forma paralela. Um grande exemplo de utilização desta funcionalidade é o Google. A seguir encontra-se um trecho da publicação do GOOGLE (2011, p. 1): Our implementation of MapReduce runs on a large cluster of commodity machines and is highly scalable: a typical MapReduce computation processes many terabytes of data on thousands of machines. Programmers find the system easy to use: hundreds of MapReduce programs have been implemented and upwards of one thousand MapReduce jobs are executed on Google's clusters every day.9 Este paradigma é composto por dois componentes: job tracker e task tracker, abaixo apresentam as definições de cada um pela APACHE HADOOP (2016): Job tracker: é responsável por obter os dados localizados no namenode, dividir estes dados em tarefas e submeter aos nós, chamados de task trackers. Em caso de falha neste componente, todas as tarefas são interrompidas. 9 Tradução: nossa implementação de MapReduce é executado em um grande aglomerado de máquinas e é altamente escalável: a computação MapReduce típica, processa muitos terabytes de dados em milhares de máquinas. Programadores encontraram o sistema fácil de usar: centenas de programas de MapReduce foram implementados e mais de mil jobs MapReduce são executados em clusters do Google todos os dias. 6 Task tracker: são tarefas do job tracker, que cria um processo JVM (Java Virtual Machine10) separado para cada tarefa, certificando de que se ocorrer uma falha, essa falha não resulte em outra falha de task tracker. Notifica o job tracker em caso de falhas ou sucesso, reportando em intervalos regulares informando o processo e sua disponibilidade, caso contrário esse nó é removido. A seguir, na Figura 2, é ilustrado um exemplo do funcionamento do modelo MapReduce. Figura 2 - Funcionamento do MapReduce. Fonte: Adaptada de SQLAUTHORITY, 2016, p. 2. 1.3 Hadoop Segundo definição do site oficial da APACHE HADOOP (2016, p. 1), Hadoop trata-se de um projeto de open source11 escalonável e de computação distribuída. Sua estrutura permite o processamento distribuído de grandes conjuntos de dados em clusters12 de computadores, utilizando modelos de programação simples. Utiliza o Hadoop Distributed File System (HDFS) e Hadoop MapReduce (HMR) como base deste projeto. Essa biblioteca detecta e trata falhas na camada de aplicação, de modo a oferecer um serviço altamente disponível, projetado para rodar em dispositivos de baixo custo, sem necessidade de servidores poderosos e caros, que são interligados para oferecer melhor poder de processamento. O projeto teve início em meados de 2003, após criação da solução Google File System13 (GFS), conforme ALECRIM (2015, p. 1) relata: “quando o Google criou um modelo de programação 10 Tradução: máquina virtual Java. Tradução: código aberto. 12 Tradução: aglomerado. 13 Tradução: Google sistema de arquivo. 11 7 que distribui o processamento a ser realizado entre vários computadores para ajudar o seu mecanismo de busca a ficar mais rápido e livre das necessidades de servidores poderosos (e caros) ”. O sistema HDFS é composto por três componentes: namenode, datanode e namenodes secundários, conforme site oficial da APACHE HADOOP (2016): Namenode: administra o namespace do sistema de arquivos, gerenciando todos os arquivos e diretórios. Possuem o mapeamento entre arquivos e os blocos nos quais estes estão armazenados. É o principal ponto crucial de falha do sistema, sem o qual os dados não podem ser acessados. Datanode: armazena os dados em forma de blocos e reportam aos namenodes sobre os arquivos que possuem armazenados, para que esteja ciente dos dados que possam ser processados. Namenodes secundários: esse node é responsável por checar a informação do namenode. No caso de falha, podemos usar esse nó para reiniciar o sistema. O Hadoop tem sido utilizado para processamento de imagens, gráficos e textos do Google, mas também por outras empresas como: Yahoo!, Facebook, IBM. 1.4 NoSQL O termo NoSQL (Not Only SQL14), foi usado pela primeira vez em 1998 por Carlos Strozzi, mas ganhou repercussão em 2009, após um evento sobre a discussão de bancos de dados open sources distribuídos. Diferentemente da propriedade ACID, o NoSQL adotou o paradigma BASE (Basically Available15, Soft State16, Eventual Consistency17). Suas principais características e que diferenciam dos bancos de dados relacionais são: registros de schema-free18, tolerância à falha, replicação, escalabilidade horizontal, clusterização, MapReduce e sharding19. Segundo HURST (2010, p. 2), o NoSQL, segue um teorema conhecido como CAP, são eles: Consistancy20: significa que todos os clientes conseguem visualizar os dados atuais, independentemente de atualizações ou exclusões. Availability21: significa que o sistema deve continuar funcionando, mesmo apresentando falhas. 14 Tradução: não somente SQL. Tradução: fundamentalmente disponível. 16 Tradução: estado flexível. 17 Tradução: eventualmente consistente. 18 Tradução: esquema flexível. 19 Tradução: caco; fragmento. Sharding é método que fragmenta o banco de dados, divide e armazena essas partições (shard) em uma instância do servidor, e possibilita a distribuição de carga horizontalmente. 20 Tradução: consistência. 21 Tradução: disponibilidade. 15 8 Partition Tolerance22: significa que o sistema deve funcionar bem em várias partições de rede física, mesmo com falhas. HURST (2010, p. 2) também afirma que as três características acima citadas, funcionam em pares (CA, CP ou AP), ou seja, até o momento não existe um banco de dados não-relacional ideal com as três características do CAP. O NoSQL é estruturado em quatro tipos de modelos de dados, são eles: Key-value23: é composto por uma table hash24 com um conjunto de chaves associadas a um único valor. Permite que os dados sejam acessados rapidamente pela chave, utiliza métodos gets e sets, e não é aconselhável para consultas mais complexas. Column-oriented25: ainda utiliza chaves, mas estes apontam para múltiplas colunas. Agrupa as colunas com o mesmo tipo de dados, permite pesquisas rápidas, oferece maior consistência nos dados e não garante alta disponibilidade. Document-oriented26: armazena coleções de documentos no formato JSON ou XML, cada documento possui um código único, é tolerante a dados incompletos e possibilita que um documento possua outros documentos aninhados. Graph-oriented27: composto por nós, relacionamentos e atributos. É necessário percorrer todo o grafo para obter uma resposta completa, cada nó tem conhecimento dos seus nós adjacentes e é útil quando os dados são altamente conectados. A seguir, na Figura 3, é ilustrado o teorema CAP, os modelos de dados e alguns exemplos de bancos de dados não relacionais. 22 Tradução: tolerância a partições. Tradução: armazenamento chave-valor. 24 Tradução: tabela de dispersão. 25 Tradução: orientado a colunas. 26 Tradução: orientado a documentos. 27 Tradução: orientado a grafos. 23 9 Figura 3 – Guia visual para sistemas NoSQL. Fonte: HURST, 2010, p. 1. Os principais utilizadores dos bancos de dados NoSQL são: Google (BigTable), Amazon (Dynamo), Yahoo (Hadoop), Facebook (Cassandra), Twitter (Cassandra), IBM (Cassandra), Netflix (Cassandra), LinkedIn (Voldemort), entre outros. A seguir, na Figura 4, são ilustrados os principais bancos de dados NoSQL utilizados. 10 Figura 4 - Bancos de dados NoSQL mais utilizados. Fonte: O autor. 1.5 Desafios do Big Data O uso do Big Data gera uma vantagem competitiva no mercado, surgindo novas perguntas, respostas inesperadas e produtos surpreendentes. Alguns dos desafios para os profissionais de Information Technology28 (IT) são a partir de agora devem trabalhar mais em conjunto com os responsáveis pelo negócio para explicar o valor do uso de Big Data. A resistência a mudanças é inevitável devido a implantação de uma nova tecnologia, nova arquitetura de hardwares, novas soluções e muitos dados. O mal conhecimento deste conceito pode ocasionar algumas falsas expectativas, por isso é necessário sempre dialogar abertamente com os apoiadores do projeto e definir os resultados esperados. Conforme dados da INTEL (2016, p.106), “60% dos líderes de TI desconfiam da qualidade de seus dados”, assim, é necessário rever todo o mapeamento da obtenção de informações que a empresa tem. Outro ponto, é necessário definir políticas de governança padronizadas utilizando as melhores práticas do mercado, gerenciar os riscos e o cumprimento de normas, proteger a propriedade intelectual da empresa e sempre agregar valor ao negócio. 28 Tradução: tecnologia da informação. Sigla em português: TI. 11 Os desafios operacionais mais ocorridos são: infraestrutura, cloud computing, documentação, passar conhecimento para a equipe de desenvolvimento sobre o todo, definir como os dados serão apresentados ao usuário final. O tema privacidade com o Big Data, é um dos pontos mais importantes e discutidos até o momento, conforme cita MAYER-SCHONBERGUER; CUKIER (2013, p. 120), “Durante décadas, um princípio essencial das leis de privacidade em todo o mundo foi colocar as pessoas no controle, deixando que elas decidissem se, como e por quem suas informações pessoais podiam ser processadas”, e completa, “Na era do big data, quando boa parte do valor dos dados está no uso secundário, desconsiderado no momento da coleta de dados, esses mecanismos para garantir a privacidade já não se aplicam”, desta forma, é de grande importância antes de coletar as informações verificar as leis de privacidade regentes, para que não haja nenhum transtorno na exposição dos dados a quem seja. Existem alguns “mitos” sobre o Big Data, conforme afirma MAYER-SCHONBERGUER; CUKIER (2013, p. 23-34), “Big Data trabalha com dados novos”, “O software de Big Data vem preparado para a empresa”, “As plataformas de Big Data vão substituir os armazéns de dados”, “Só um cientista de dados pode implementar uma solução de Big Data para a empresa” e “A relação entre os dados não estruturados e os estruturados é de 80/20 e os não estruturados contém 80% da informação valiosa”, todos os trechos citados são falsos. 1.6 Casos de uso Serão apresentados cinco exemplos de empresas multinacionais americanas que utilizaram e utilizam Big Data para melhoria de seus negócios. Todas as informações a seguir apresentadas, foram retiradas da INTEL (2015). 1.6.1 UPS United Parcel Service (UPS) considerada uma das maiores no setor de distribuição do mundo. Utilizou essa metodologia implementando sensores e GPS instalados em 46 mil veículos. Foi possível a monitoração da localização, velocidade, direção, reorganização dos percursos em tempo real. O resultado direto destes planos de ações foram: 136 milhões de quilômetros percorridos a menos e 32 milhões de combustíveis economizados por ano. Os benefícios para o negócio foram: melhoria na prestação de serviço pela redução do tempo de coleta e entrega, e principalmente, diminuição do custo operacional. 12 1.6.2 Boeing / General Electric Boeing é uma empresa de desenvolvimento aeroespacial e de defesa, General Electric (GE) empresa especializada em serviços e tecnologia. Este caso, foi aplicado pela parceria dessas duas empresas na instalação de sensores nos motores aeronáuticos desenvolvidos pela GE. Foi possível a compilação de 640 terabytes de dados em apenas um voo transatlântico e permitiu-se analisar, otimizar componentes, rendimento e manutenção. Os impactos diretos foram o aumento do lucro devido a maior eficiência, diminuição significativa dos custos operacionais, maior competividade e melhoria nos produtos e serviços. 1.6.3 Intel Intel é uma empresa responsável pela fabricação de circuitos integrados como microprocessadores e chipsets. Implementou no seu processo de fabricação, o início do processo de análise preditiva, gerando mais de 5 terabytes por hora de dados. Utilizou-se a plataforma Hadoop e foram obtidos os seguintes resultados: economia de 3 milhões de dólares por linha de produção em 2012 e redução de 25% do tempo na etapa de provas. Os benefícios para o negócio foram: melhores custos operacionais e melhoria no “time to market”29. 1.6.4 Walmart Wal-Mart Stores Inc. (Walmart), empresa do ramo varejista de lojas-departamentos. Implementou a indexação de 60 bilhões de dados nas redes sociais, monitoramento e cruzamento com dados das sucursais e padrões dos internautas. Proporcionou o correto provisionamento de produtos nas sucursais, segundo sua localização geográfica, gerando um maior grau de satisfação do cliente, aumento considerável nas vendas e menores custos operativos. 1.6.5 United Healthcare United Healthcare Group, é considerada uma das maiores empresas no segmento de saúde. Implementou a conversão dos arquivos de ligações em textos, utilizou softwares de processamento de linguagem natural através do Hadoop e NoSQL, e identificou padrões relacionados com insatisfação dos clientes. Obteve uma rápida identificação de problemas nos serviços oferecidos, reorganizando sua estrutura e melhorando a resolução de problemas e relacionamento com o afiliado. Os maiores benefícios foram: alta taxa de renovação dos clientes (cerca de 90%), aumento do índice de satisfação e melhoria nos serviços prestados. 29 Tradução: tempo de mercado. Significa o tempo de lançamento de um produto, considerando o tempo necessário para o desenvolvimento de novos produtos como fator estratégico, gerando uma vantagem competitiva. 13 CONCLUSÃO Com base no estudo realizado, é evidente a importância do Big Data para o universo dos negócios e para o dia a dia, pois vem crescendo a cada momento, tanto o volume dos dados quanto a análise dos dados. O grande volume de dados gerados através da popularização da internet, dos dispositivos móveis e da tecnologia em geral, possibilitou ao Big Data oferecer um grande potencial analítico destes dados gerados, transformando dados em valores para uma determinada necessidade. Este artigo apresentou as principais características e conceitos relacionados ao Big Data, buscando trazer um pouco mais de detalhes para um tema relativamente novo. Este conceito apesar de estar em constante evolução já oferece vários recursos e funcionalidades para os negócios e o dia a dia, e num futuro mais próximo seu potencial será ainda maior. O assunto abordado pode ser aprofundado posteriormente, testando as ferramentas e conceitos apresentados em uma empresa real ou algum problema do nosso cotidiano, aplicando a análise dos dados e propondo soluções ou identificando diferenciais de mercado. REFERÊNCIAS ALECRIM, Emerson. Big Data. São Paulo, 2015. Disponível em: <http://www.infowester.com/bigdata.php>. Acesso em: 28 fev. 2016. APACHE HADOOP. Welcome to Apache™ <http://hadoop.apache.org/>. Acesso em: 01 mar. 2016. Hadoop®!. Disponível em: DELTA. Como o design de centro de dados e UPS se adaptam aos desafios da era do “Big Data”. 2014. Disponível em: <http://www.deltapowersolutions.com/pt-br/mcis/noticias-2014-como-odesign-de-centro-de-dados-e-ups-se-adaptam-aos-desafios-da-era-do-big-data.php>. Acesso em 05 mar. 2016. GARTNER, Group. Answering Big Data's 10 Biggest Vision and Strategy Questions. 2015. Disponível em: <https://www.gartner.com/doc/2822220/answering-big-datas--biggest>. Acesso em: 28 fev. 2016. GOOGLE. MapReduce. 2011. Disponível <http://research.google.com/archive/mapreduce.html>. Acesso em: 06 mar. 2016. em: HURST, Nathan. Visual Guide to NoSQL Systems. 2010. Disponível <http://blog.nahurst.com/visual-guide-to-nosql-systems>. Acesso em: 19 mar. 2016. em: INTEL. Big Data. 2015, 141 p. Disponível em: <http://dialogoti.intel.com/pt-br/curso/big-data>. Acesso em: 27 jan. 2016. INTEL. Big Data 101: Unstructured Data Analytics A Crash Course on the IT Landscape for Big Data and Emerging Technologies. 2012. Disponível em: 14 <http://www.intel.com/content/www/us/en/big-data/unstructured-data-analytics-paper.html>. Acesso em 29 fev. 2016. MOURA, Aristóteles Lamartine Teles. Big Data: o impacto e sua funcionalidade na sociedade tecnológica. 2014. Disponível em: <http://revistaopara.facape.br/article/download/121/72>. Acesso em 29 fev. 2016. MAYER-SCHONBERGUER, Viktor. CUKIER, Kenneth. Big Data: Como extrair volume, variedade, velocidade e valor da avalanche de informação cotidiana. 1. ed. Rio de Janeiro: Elsevier, 2013. 163 p. SQL AUTHORITY. Big Data – Buzz Words: What is MapReduce – Day 7 of 21. 2013. Disponível em: <http://blog.sqlauthority.com/2013/10/09/big-data-buzz-words-what-is-mapreduce-day-7-of21/>. Acesso em: 06 mar. 2016. TAURION, Cezar. Big Data. 1. ed. Rio de Janeiro: Brasport, 2015. 169 p. ENDEREÇO PARA CORRESPONDÊNCIA Nome: Felipe Henrique Ziliotti Endereço: Rua Irênio Grecco, 4087 – Parque São Jorge – Franca/SP CEP: 14.405-191 Telefone: (16) 9.9389-2161 E-mail: [email protected]