Com o objetivo de alcançar a finalidade definida para este projeto de dissertação, procurou-se cumprir as três etapas anteriormente definidas: (E1) rever e conhecer os fundamentos da literatura, (E2) identificar, analisar, perceber e escolher a abordagem que melhor se adequa a construção de arquitetura de análise de dados Big Data no modelo de cloud, construção do modelo conceptual e modelo físico, (E3) instanciar a arquitetura definida com tecnologia e efetuar testes que permitam validar a arquitetura.
De forma a poder cumprir a primeira etapa (E1), procedeu-.se a uma revisão e análise de um conjunto de documentos bibliográficos relacionados com a área do Big Data e Cloud Computing, sendo de mencionar que, devido à abrangência de contribuições, foi necessário efetuar uma delimitação da área de estudo. Assim foram definidas quatro áreas de conhecimento com importância relevante para este trabalho (Big Data, arquiteturas de sistemas de análises de dados, arquiteturas de análises de dados no modelo Cloud Computing, e tecnologias de análises de dados Big Data). Depois de realizada a revisão de literatura debruçamo-nos sobre a reflexão acerca dos principais aspetos do estado atual do tema em estudo no caso Big Data e cloud. Por fim procedeu-se à identificação das principais oportunidades e desafios para o processo de adoção de Big Data no modelo de cloud, nas organizações, quer a nível dos consumidores deste tipo de serviços quer a nível dos fornecedores de serviços e recursos de TI.
A realização da primeira etapa (E1) é considerada, e revelou-se com efeito, basilar para a constituição de uma base de conhecimento que permitiu suportar e sustentar a concretização das restantes etapas (E2 e E3). Mesmo com as dificuldades encontradas na realização da revisão da literatura, que foi devida principalmente a alguma confusão causada por diferentes pontos de vista por parte dos diferentes autores, pois são referidos e usados muitos conceitos e termos que são utilizados em Big Data e cloud, a primeira etapa proposta para este trabalho de dissertação foi alcançada.
A segunda etapa (E2), foi realizada de acordo com as sugestões de Agrawal, Das e El Abbadi (2011), que no que se refere a tendências do Big Data e cloud, aferidas com a revisão e análise aos documentos bibliográficos sobre os conceitos anteriormente definidos sugerem um conjunto de referências de como os sistemas devem ser pensados e construídos. A utilização das sugestões de Agrawal, Das e El Abbadi
(2011), ajudou na definição sustentada de uma estratégia de desenho da arquitetura conceptual, com a definição dos vários níveis e conjuntos de atividades associadas, culminando depois da definição da arquitetura física na qual a cada um dos níveis foram associadas ferramentas tecnológicas que conseguissem responder às atividades definidas no modelo conceptual para cada nível. Seguidamente foi efetuada a instanciação da arquitetura física o que permitiu a criação de alguns cenários de teste que comprovam o funcionamento da arquitetura. O estudo e compreensão dos documentos bibliográficos sobre o estado atual do Big Data e adoção da cloud nas organizações, possibilitou o desenvolvimento de
74 uma visão abrangente acerca do estado atual do mercado, no que se refere a soluções que tenham em conta o Big Data e que podem ser entregues como um serviço através da cloud. Todo este estudo ajudou na compreensão das necessidades das organizações em relação ao Big Data, o que se constitui como um aspeto de relevo no sentido de comprovar a crescente necessidade de criar uma solução que fornecesse um serviço de análise de dados Big Data no modelo de cloud. Por fim a revisão e análise de documento bibliográficos sobre as arquiteturas de sistemas de análises de dados e conjunto com os documentos que identificam as ferramentas tecnológicas que estão associadas ao tema Big Data, ajudaram na identificação, análise e escolha da abordagem a seguir para a construção de uma arquitetura de análise de dados Big Data de acordo com o sistema de cloud.
Uma arquitetura moderna de dados deve possuir um sistema de armazenamento de dados diversificado, que permita armazenar dados estruturados, semiestruturados e não estruturados, devendo também possuir mecanismos que permitam uma distribuição dos dados por diferentes sistemas de armazenamento, nomeadamente bases de dados SQL e Not only Structured Query Language (NoSQL). Ao mesmo tempo deve possuir ferramentas que permitam efetuar consultas a dados de forma rápida e eficaz sem a necessidade de esperar muito tempo para obter as respostas às consultas efetuadas. A utilização de um ambiente como o Hortonworks que possuía configuração de todas as ferramentas associadas ao Hadoop foi o fator de relevo para a simplicidade de todo o processo de tratamento e acesso aos dados para posteriores análises.
A disponibilização de dados através da cloud obriga a definir um conjunto de restrições e de políticas de permissões de acesso aos dados por parte dos utilizadores, para que os dados sejam acedidos por quem deles necessita sem que os mesmos percam a sua integridade. Tudo isto pode ser implementado através de mecanismo de gestão de utilizadores que estão implementados nas plataformas de infraestruturas
online, como é o caso do MicrosoftAzure, a qual permite utilizar protocolos de segurança como Secure Sockets Layer (SSL) e Hyper Text Transfer Protocol Secure (HTTPS). A correta implementação de políticas de gestão de acesso leva a que os utilizadores confiem na utilização de soluções em cloud, sobretudo em soluções de análises de dados críticos. Uma das características importantes e que a solução adotada não permite totalmente prende-se com a possibilidade de as bases de dados terem níveis de segurança ao nível da encriptação dos dados, fazendo com que o acesso aos dados seja realizado apenas por quem tenha autorização (chave de desencriptação), e evitando assim que mesmo o Database Administrator
(DBA)ou quem desenvolve a solução possa aceder aos dados.
A utilização de dados Big Data num ambiente Cloud Computing obriga à criação de uma arquitetura moderna de dados com as seguintes características: ter robustez, ser rápida, ter disponibilidade de dados para serem analisados e permitir a recolha e tratamento de dados de diversos tipos e origens como
75 dados estruturados, semiestruturados e não estruturados, procurando sempre salvaguardar os aspetos de segurança e integridade dos dados a analisar.
Considera-se que será necessário efetuar mais casos de teste perspetivando a validação da capacidade da arquitetura. Esses testes devem incluir grandes volumes de dados, nomeadamente um grande volume de dados não estruturados e semiestruturados. Outro aspeto a considerar é relativo à melhoria das análises dos dados não estruturados, por exemplo através de técnicas de Text Mining.
76