Documents

A Tecnologia NoSQL Aplicada - Henrique Fernandes

Description
Pag.1/10 A TECNOLOGIA NoSQL APLICADA Henrique Fernandes Pereira, Helio Rubens Soares Centro Universitário do Triângulo (UNITRI) Caixa Postal 309 – 38.411-106 – Uberlândia – MG – Brasil henrique@uberlandia.com, hrubens@unitri.edu.br Resumo. Escalabilidade é um tema bastante complexo, armazenamento e processamento de grandes volumes de dados são focos de pesquisas que estão bem aquecidas hoje em dia. Um dos mais ativos movimentos nesta linha foi batizado pelo nome de NoSQL. Esse estudo busca mos
Categories
Published
of 10
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  Pag.1/10 A TECNOLOGIA NoSQL APLICADA Henrique Fernandes Pereira, Helio Rubens Soares  Centro Universitário do Triângulo (UNITRI)Caixa Postal 309 – 38.411-106 – Uberlândia – MG – Brasil henrique@uberlandia.com,hrubens@unitri.edu.br    Resumo .    Escalabilidade é um tema bastante complexo, armazenamento e processamento de grandes volumes de dados são focos de pesquisas que estãobem aquecidas hoje em dia. Um dos mais ativos movimentos nesta linha foibatizado pelo nome de NoSQL. Esse estudo busca mostrar através de testes e pesquisas o é comportamento do NoSQL Cassandra e do SGDB Firebird,traçando um paralelo de semelhanças e diferenças entre as duas tecnologias.   1. Introdução   Este artigo visa abordar as principais características sobre o NoSQL, que consisteem um banco de dados que utiliza a escalabilidade como seu ponto forte,aumentando assim sua capacidade de armazenamento de dados e velocidade.Consiste em um banco de dados não relacional que atualmente está em grandeutilização e desenvolvimento, grandes empresas mundiais já utilizam estatecnologia, tais como Google, Twitter, Facebook.No artigo pretende-se demonstrar como é o comportamento de um bancode dados que usa a tecnologia NoSQL, sua aplicabilidade, seus pontos fortes,semelhanças e diferenças com um banco relacional. Ambas as tecnologiaspossuem objetivos diferentes e que não se pode afirmar que o NoSQL “rompe oimpério dos bancos de dados relacionais” [Brito 2010]. Esse será, portanto, oenfoque do artigo, apresentar as duas tecnologias, sua utilização, abrangência,ficando a cargo de o leitor definir qual das mesmas irá utilizar. 2. A Tecnologia SGDB O termo base de dados está intimamente associado à noção de uma coleção deinformação” [Wikipédia 2011]. De um ponto de vista mais teórico pode-seafirmar que uma base de dados “é um conjunto estruturado de informação, ouseja, é uma coleção de dados formalmente definida, informatizada, partilhável esujeita a um controle central” [Wikipédia 2011], sendo também definida comouma coleção de dados inter-relacionados com múltiplas utilizações.Se sua função fosse simplesmente a de armazenar dados, a sua organizaçãoseria relativamente simples. A complexidade estrutural resulta do fato de que abase de dados deve também mostrar as relações e associações que existem entreas tabelas, sendo este o ponto forte dos sistemas relacionais [Macoratti 2011].Uma vantagem importante da tabela resulta do fato de que a mesma podeter mais do que uma finalidade e dos seus dados poderem ser vistos comdiferentes formas e formatos, ao contrário de um ficheiro.  Pag.2/10Os sistemas de gestão de bases de dados relacionais (SGBDR) sãoaplicações informáticas complexas, mas essenciais em muitas áreas científicas,onde grandes quantidades de informação necessitam de ser combinadas ouexploradas, de diversas formas nem todas fáceis de prever [Oliveira 2009] . “Um banco de dados relacional consiste de três componentes principais:uma coleção de estruturas de dados, nomeadamente relações, ou informalmentetabelas; uma coleção dos operadores, a álgebra e o cálculo relacionais; e umacoleção de restrições da integridade, definindo o conjunto consistente de estadosde base de dados e de alterações de estados. As restrições de integridade podemser de quatro tipos: domínio (também conhecidas como type), atributo, variávelrelacional e restrições” [Wikipédia 2011].O modelo relacional é uma teoria matemática desenvolvida por EdgardFrank Codd, matemático e pesquisador da IBM, para descrever como as bases dedados devem funcionar. Embora esta teoria seja o ponto de partida para osSGDBR, poucos sistemas de gestão seguem o modelo de forma restrita ou a pé daletra, desta forma variando a complexidade e o poder. A discussão se esses bancosde dados merecem ser chamados de relacional ficou esgotada com o tempo e coma evolução dos bancos existentes. 3. A Tecnologia NoSQL Com o mundo cada vez mais informatizado e o crescente fluxo de informações, asnovas aplicações tiveram que buscar novas formas de soluções, surgindo assim obanco de dados não relacional, conhecido como NoSQL.NoSQL é um sistema de armazenamento diferente que surgiu danecessidades em suprir as demandas onde os bancos de dados tradicionais(relacionais) são ineficazes. Muitas dessas bases apresentam características muitointeressantes como alto desempenho, escalabilidade, replicação, suporte à dadosestruturados e sub colunas [Souza, Rocha 2010].Os bancos de dados atuais relacionais são muito restritos a isso, sendonecessária a distribuição vertical de servidores, ou seja, quanto mais dados, maismemória e mais disco um servidor precisa [Brito 2010]. Portanto, o NoSQL temuma maior facilidade na distribuição horizontal, ou seja, mais dados, maisservidores, não necessariamente de alta performance. Um grande utilizador desseconceito é o Google, que usa computadores de pequeno e médio porte para adistribuição dos dados; essa forma de utilização é muito mais eficiente eeconômica. Além disso, os bancos de dados NoSQL são muito tolerantes a erros[Brito 2010]O NoSQL está sendo tratado como o futuro do grande armazenamento deinformações, geradas todos os dias. A importância é tanta, que as maioresempresas atualmente em tecnologia, já recorrem a este recurso para o tratamentode suas informações, desenvolvendo a cada dia, novas soluções para auxiliar eincrementar o NoSQL [Souza, Rocha 2010].O Google, por exemplo, investe desde 2004, no BigTable, um banco dedados proprietário, desenvolvido para suprir as necessidades de armazenamentoda empresa, baseando-se na filosofia de alto desempenho, escalabilidade edisponibilidade.  Pag.3/10Já existem vários Banco de Dados NoSQL no mercado e ocupando uma posiçãode destaque encontra-se o Cassandra, projetado para ser um sistema de altadisponibilidade e escalabilidade, foi desenvolvido pelo site de relacionamentoFacebook, para lidar com seu grande fluxo de informações. Em 2010, o Cassandrase consolidou de vez, sendo utilizado como alternativa pelo Twitter, ante oMySQL utilizado anteriormente [Brito 2010].Devido ao grande processo de informatização dessas empresas o grau deimportância dos dados gerados pelos sistemas e a responsabilidade que o mesmotem de apresentá-los de forma correta, precisa e rápida, exigiram que os SGDBssejam altamente eficientes.A tecnologia NoSQL, portanto, surge da necessidade encontrada de gerire processar dados, nesse aspecto pode-se pensar que a maioria das organizaçõesestá em um crescente aumento no volume de dados, relatórios, folhas de cálculo, eoutras fontes de dados. Essa informação, muitas vezes, fica armazenada emarquivos manuais ou de papel, em sistemas operacionais, em CDs ou dispersos emmúltiplos repositórios.Perante a ausência de uma visão única e confiável, cliente, produto einformação de contas, as empresas procuram e recriam a mesma informação,surgindo assim múltiplas versões da realidade em relação ao negócio associada aerros e falta de exatidão. Os custos com a informação aumentam e a eficáciadiminui, tornando-se cada vez mais difícil responder às pressões do negócio,como: Melhorar o atendimento ao cliente; Aumentar a agilidade e acompetitividade; Aperfeiçoar as operações.O que pode ser visto é que a informática tornou-se algo comum dentro dasorganizações, e tendo como principal objetivo o de agilizar e controlar osprocessos dentro da empresa. Desta maneira, as empresas acharam necessária aimplementação de sistemas que automatizam alguns destes processos que, poralgumas vezes, também substituem o trabalho manual de um empregado,mantendo assim a confiabilidade, integridade e capacidade de informação.A tecnologia NoSQL visa dar otimização às empresas facilitando ogerenciamento e o acesso ao banco de dados contidos na web, esse tipo deproduto integra uma nova onda de tecnologia altamente especializada – tanto parasoftware quanto para hardware – criada para salvar grandes sites como oFacebook e o Google a fim de ajudá-los a reduzir dados em pedacinhosminúsculos de bits. Assim, pode-se carregar tais páginas da forma mais rápida ebarata possível, mesmo quando os servidores são obrigados a lidar com umvolume cada vez maior de informações. 4. Trabalhos Relacionados Ao escrever sobre as tecnologias abordadas no artigo, encontra-se váriasbibliografias referentes ao tema, mesmo sendo no caso da tecnologia NoSQl, umatecnologia recente.Nesta comparação foi utilizada a conclusão de dois trabalhos, o primeirode autoria de Ricardo W. Brito, intitulado “Bancos de Dados NoSQL x SGBDsRelacionais:Análise Comparativa” [Brito 2010] em que o autor compara as duastecnologias, concluindo que para optar sobre uma tecnologia em detrimento àoutra deve-se levar em consideração as necessidades do problema, é importanteque se analise questões como escalabilidade, consistência dos dados e  Pag.4/10disponibilidade do sistema. As duas tecnologias possuem importanteaplicabilidade sendo que a escolha de uma depende exclusivamente de como sequer armazenar dados e do custo que tais tecnologias oferecem à empresaconsiderando rapidez no processamento desses dados, a quantidade dos mesmos ea forma como se deseja apresentar esses dados.Outro artigo foi o de autoria de Maurício de Diana e Marco AurélioGerosa, intitulado: “NoSQL na Web 2.0: Um Estudo Comparativo de BancosNão-Relacionais para Armazenamento de Dados na Web 2.0” [UFMG 2010]neste artigo também existe a comparação entre NoSQL e SGBDs onde os autoresdefendem que essas tecnologias são muito recentes, existem poucasrecomendações que indicam em que contexto usar determinado paradigma. Emespecial, apesar de haver casos em que bancos de dados NoSQL ajudaramorganizações a escalar seus sistemas, existem poucos estudos comparativos queindiquem os cenários em que se aplicam e quais são seus limites de desempenho eescalabilidade.   5. Estudo de Caso O desenvolvimento dos testes foram feitos em um Computador Intel Core I5 com4GB de memória, divididos em dois Ambientes, no primeiro rodando o SGDBFirebird e no segundo rodando o NoSQL Cassandra, houve uma certa dificuldadeem relação ao segundo Ambiente devido a pouca disponibilidade de materialsobre como instalar e configurar o NoSQL Cassandra.Passada a fase de instalação e configuração, inicio-se a parte pratica decomo inserir, alterar, recuperar e apagar dados em cada um dos Ambientes, éperceptível as diferenças nos comandos para cada uma das operaçõesmencionadas, não deixando também de mencionar que no NoSQL Cassandra nãose aplica o conceito de junção de dados entre tabelas muito usado nos SGDBs, oscomandos INNER JOIN, OUTER JOIN, LEFT JOIN e RIGHT JOIN não estãodisponiveis causando assim um pouco mais de complexidade na hora de recuperardados em mais de uma tabela. 5.1. Preparação do Ambiente de Teste O enfoque desse artigo foi estabelecer um paralelo entre duas tecnologias dearmazenamento de dados o SGDB Firebird e o NoSQL Cassandra, seguindoexperimentos desde como instalar, configurar e utilizar; foram usados as seguintesconfigurações: SGDB Firebird Versão: Firebird-2.5.0.26074_1_Win32.exeAmbiente: Microsoft Windows XP NoSQL Cassandra Versão utilizada: apache-cassandra-0.8.4-binAmbiente: Microsoft Windows XPRequisitos: Java JDK-1.6 ou superior
Search
Tags
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks