NoSQL & SQL

  • View
    1.614

  • Download
    2

Embed Size (px)

DESCRIPTION

Apresentao utilizada no InfoTech2012. Apresenta um pouco sobre a evoluo a persistencia de dados, bancos de dados relacionais e NoSQL, apresentando um pouco os melhores cenrios para se utilizar cada um dos modelos e como mescl-los para tirar o melhor proveito dos recursos.

Transcript

  • 1. SQL X NOSQLCharles Fortes16 de Maio de 2012@CharlesFortes

2. Avaliao da Palestrahttp://tinyurl.com/infotechdia16@CharlesFortes 3. Persistncia 4. Logo aps superar as dificuldades do cartoperfurado, o homem teve outro grande desafioa sua frente!Poder desligar o computador aps horas deprocessando uma informao sem perderseus preciosos 300 Bytes de informao jprocessadas. 5. Persistir os dados nada mais do que guardar a informaoem um local no voltil ao qual possa ser recuperadaposteriormente. Por exemplo, gravar os dados em um carto perfurado, disquete (uma espcie de idade das trevasda persistencia), HD, ou FlashStorage 6. Com o aumento do volume de dados,veio a necessidade de organizar melhor ainformao salva em benefcio da velocidadede recuperao. 7. Imagine se o Facebook guardasse os dados em um TXT e todo vez quevoc entrasse para pentelhar a vida dos outros, ele tivesse de percorrer o arquivo - com alguns pentabytes de tamanho - para encontrar todos os dados que devem lhe ser exibidos. 8. A concluso desta necessidade foi o aparecimento dos bancos de dados. 9. Banco de dados relacional 10. Hoje quandopensamos em banco de dados, sempre nosvem em mente os bancos de dados relacionais, como oSQLServer, Oracle, MySQL, Postgree, MSAccess (h! #euri) 11. Apesar de no ser o nico modelo de banco dedados possvel, o modelo relacional considerado omais maduro. 12. "Os Bancos de Dados Relacionais foram desenvolvidos para proveracesso facilitado aos dados, possibilitando que os usuriosutilizassem uma grande variedade de abordagens no tratamento dasinformaes" 13. O banco de dados relacional composto a grossomodo de Relaes e Relacionamentos. 14. Relaes (banco de dados relacional) dizem respeito as relaesentre os domnio dos dados no sentido matemtico (cada linha databela um elemento do conjunto relao). 15. Relacionamentos dizem respeito a como um registro est relacionadoa outro registro de outro domnio (Ex.: Um fabricante possui um oumais produtos) 16. Este modelo que chamamos de Entidade Relacionamento (ou Entidade Relacional dependendo do autor) 17. Para acessar os dados e recuperar as informaes da base, em umadas vrias abordagens que este modelo nos permitem, usamos comandos em uma linguagem de scripts chamada SQL 18. Com o advento dos bancos de dados relacionais, somados aos discosde armazenamento realmente no volteis (que exclui os disquetes e os HDs Western Caviar da dcada de 90), o mundo estava em paz... 19. ...at que um dia uns garotos resolveram que iam catalogartodas as pginas de todos os sites do mundo para que qualquerum pudesse pesquisar e encontrar o que quiser... 20. ...o que no seria um problema no fosse a segunda ideia......retornar o resultado por ordem de relevncia para o usurio,mesmo que ele digite errado, e em menos de 1 segundo 21. nos 1.000 primeiras pginas isso foi moleza, mas depois da n1.000.000.000 isso comeou a complicar um pouco... 22. NoSQL 23. A primeira vez registrada que o termpo NoSQL pode ser observada em 1998 quando Carlos Strozzi produziu umtrabalho falando sobre bancos de dados que no possuiam interface SQL. 24. O modelo surgiu diante do aumento crescente dedados no relacionais (fotos, logs, documentos,capturas de sensores, etc.) 25. O termo NoSQL significa "Not Only SQL". Chamandoateno justamente para a existencia destes dados que noso facilmente recuperados ou manupulados pelas instrues relacionais. 26. Em 2004 a google comeou a trabalhar em um sistema dearmazenamento de dados estruturados que fosse capaz dearmazenar seus petabytes de dados atravs de milhares de computadores, de forma que pudessem ser facilmente erapidamente recuperados e escalados. 27. Estes bilhes de dados crescentes so chamados de BigData 28. Em 2006 foi exibido ao mundo o Google BigTable, o primeirogrande sistema de armazenamento baseado em NoSQL colocadoem atividade para armazenagem e recuperao de BigData. 29. Quando usamos NoSQL? 30. Quando manipulamos grandes volumes de dadosQuando precisarmos de desempenho ao gravar grandes volumes dedados Para ter rpido acesso a um dado "Chave/Valor" 31. Quando os dados no tem um esquema definidoFacilidade de Administrao, Manuteno e OperaoAlta disponibilidade com balanceamento de cargaPoder usar o melhor modelo de dados para seu problema 32. Com a evoluo do conceito, temos hoje 4 grandesmodelos de bancos de dados NoSQL para atender as mais variadas necessidades Documento Chave/Valor TabularGrfos 33. Chave/Valor o modelo mais simples, baseia-se em uma"tabela hash", onde cada chave unica. Estemodelo muito prtico para se armazenar log por exemplo. 34. DocumentoSo muito similares ao modelo Chave/Valor, sendo umprximo nvel de complexidade do modelo,armazenando colees de chave/valor, permitindovalores aninhados associados a cada chave. So muitousados na Web e para a criao de CRUD 35. TabularForam criadas para armazenar e para processar grandesquantidades de dados distribudos em muitas mquinas. As chaves apontam para mltiplas colunas 36. GrfosUm sistema de armazenamento baseadoem relacionamento entre os ns quepossuem flexibilidade de formato. Idealpara uso em redes sociais e outrosproblemas de grafos. 37. Persistncia poliglota 38. Um SGBD convencional tem sua zona de conforto de escalabilidademuito aquem dos bancos de dados NoSQL tipicos, porm os dadosestruturados, a maturidade do modelo e a consistencia da informaoso ainda diferenciais 39. Aplicaes complexas tendem a ter diversas diferentes caracteristicasde dados. Adaptando o modelo de Fowler, podemos ver que juno dosdiferentes modelos de armazenamento de dados pode ser usado parabenefcio da aplicao. 40. Lista de Bancos de dadosNoSQL mais comuns DocumentooRavenDBoCouchDBoMongoDBoMarkLogic ServeroBaseXoeXist Chave/Valor (Key/Value)oMemcachedboProject VoldemortoRedisoSimpleDBoHbase TabularoCassandraoHypertable GrfosoNeo4joDEX 41. Avaliao da Palestrahttp://tinyurl.com/infotechdia16@CharlesFortes 42. PERGUNTAS? 43. @CharlesFortes