• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
NoSQL & SQL
 

NoSQL & SQL

on

  • 1,352 views

Apresentação utilizada no InfoTech2012. ...

Apresentação utilizada no InfoTech2012.

Apresenta um pouco sobre a evolução a persistencia de dados, bancos de dados relacionais e NoSQL, apresentando um pouco os melhores cenários para se utilizar cada um dos modelos e como mesclá-los para tirar o melhor proveito dos recursos.

Statistics

Views

Total Views
1,352
Views on SlideShare
1,344
Embed Views
8

Actions

Likes
1
Downloads
54
Comments
0

1 Embed 8

http://dschool.co 8

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Microsoft Excelência em Engenharia Confidencial da Microsoft
  • Microsoft Excelência em Engenharia Confidencial da Microsoft
  • Microsoft Excelência em Engenharia Confidencial da Microsoft

NoSQL & SQL NoSQL & SQL Presentation Transcript

  • SQL X NOSQL Charles Fortes 16 de Maio de 2012 @CharlesFortes
  • Avaliação da Palestrahttp://tinyurl.com/infotechdia16@CharlesFortes
  • Persistência
  • Logo após superar as dificuldades do cartãoperfurado, o homem teve outro grande desafioa sua frente!Poder desligar o computador após horas deprocessando uma informação sem perderseus preciosos 300 Bytes de informação jáprocessadas.
  • Persistir os dados nada mais é do que guardar a informaçãoem um local não volátil ao qual possa ser recuperadaposteriormente. Por exemplo, gravar os dados em um cartão perfurado, disquete (uma espécie de idade das trevas da persistencia), HD, ou FlashStorage
  • Com o aumento do volume de dados, veio a necessidade de organizar melhor ainformação salva em benefício da velocidade de recuperação.
  • 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.
  • A conclusão desta necessidade foi o aparecimento dos bancos de dados.
  • Banco de dados relacional
  • Hoje quandopensamos em banco de dados, sempre nosvem em mente os bancos de dados relacionais, como oSQLServer, Oracle, MySQL, Postgree, MSAccess (há! #euri)
  • Apesar de não ser o único modelo de banco dedados possível, o modelo relacional é considerado o mais maduro.
  • "Os Bancos de Dados Relacionais foram desenvolvidos para proveracesso facilitado aos dados, possibilitando que os usuáriosutilizassem uma grande variedade de abordagens no tratamento dasinformações"
  • O banco de dados relacional é composto a grosso modo de Relações e Relacionamentos.
  • Relações (banco de dados relacional) dizem respeito as relaçõesentre os domínio dos dados no sentido matemático (cada linha da tabela é um elemento do conjunto relação).
  • Relacionamentos dizem respeito a como um registro está relacionadoa outro registro de outro domínio (Ex.: Um fabricante possui um oumais produtos)
  • Este é modelo que chamamos de Entidade Relacionamento (ou Entidade Relacional dependendo do autor)
  • Para acessar os dados e recuperar as informações da base, em uma das várias abordagens que este modelo nos permitem, usamos comandos em uma linguagem de scripts chamada SQL
  • Com o advento dos bancos de dados relacionais, somados aos discosde armazenamento realmente não voláteis (que exclui os disquetes e os HDs Western Caviar da década de 90), o mundo estava em paz...
  • ...até que um dia uns garotos resolveram que iam catalogartodas as páginas de todos os sites do mundo para que qualquer um pudesse pesquisar e encontrar o que quiser...
  • ...o que não seria um problema não fosse a segunda ideia......retornar o resultado por ordem de relevância para o usuário, mesmo que ele digite errado, e em menos de 1 segundo
  • nos 1.000 primeiras páginas isso foi moleza, mas depois da nº 1.000.000.000 isso começou a complicar um pouco...
  • NoSQL
  • A primeira vez registrada que o termpo NoSQL pode ser observada em 1998 quando Carlos Strozzi produziu umtrabalho falando sobre bancos de dados que não possuiam interface SQL.
  • O modelo surgiu diante do aumento crescente dedados não relacionais (fotos, logs, documentos,capturas de sensores, etc.)
  • O termo NoSQL significa "Not Only SQL". Chamandoatenção justamente para a existencia destes dados que não são facilmente recuperados ou manupulados pelas instruções relacionais.
  • Em 2004 a google começou a trabalhar em um sistema dearmazenamento de dados estruturados que fosse capaz dearmazenar seus petabytes de dados através de milhares de computadores, de forma que pudessem ser facilmente e rapidamente recuperados e escalados.
  • Estes bilhões de dados crescentes são chamados de BigData
  • Em 2006 foi exibido ao mundo o Google BigTable, o primeirogrande sistema de armazenamento baseado em NoSQL colocadoem atividade para armazenagem e recuperação de BigData.
  • Quando usamos NoSQL?
  • Quando manipulamos grandes volumes de dadosQuando precisarmos de desempenho ao gravar grandes volumes dedados Para ter rápido acesso a um dado "Chave/Valor"
  • Quando os dados não tem um esquema definidoFacilidade de Administração, Manutenção e Operação Alta disponibilidade com balanceamento de carga Poder usar o melhor modelo de dados para seu problema
  • Com a evolução do conceito, temos hoje 4 grandesmodelos de bancos de dados NoSQL para atender as mais variadas necessidades Documento Chave/Valor Tabular Gráfos
  • Chave/Valor É o modelo mais simples, baseia-se em uma "tabela hash", onde cada chave é unica. Estemodelo é muito prático para se armazenar log por exemplo.
  • DocumentoSão muito similares ao modelo Chave/Valor, sendo umpróximo nível de complexidade do modelo,armazenando coleções de chave/valor, permitindovalores aninhados associados a cada chave. São muitousados na Web e para a criação de CRUD
  • TabularForam criadas para armazenar e para processar grandesquantidades de dados distribuídos em muitas máquinas. As chaves apontam para múltiplas colunas
  • GráfosUm sistema de armazenamento baseadoem relacionamento entre os nós quepossuem flexibilidade de formato. Idealpara uso em redes sociais e outrosproblemas de grafos.
  • Persistência poliglota
  • Um SGBD convencional tem sua zona de conforto de escalabilidademuito aquem dos bancos de dados NoSQL tipicos, porém os dadosestruturados, a maturidade do modelo e a consistencia da informaçãosão ainda diferenciais
  • Aplicações complexas tendem a ter diversas diferentes caracteristicasde dados. Adaptando o modelo de Fowler, podemos ver que junção dosdiferentes modelos de armazenamento de dados pode ser usado parabenefício da aplicação.
  • Lista de Bancos de dadosNoSQL mais comuns • Documento o RavenDB o CouchDB o MongoDB o MarkLogic Server o BaseX o eXist • Chave/Valor (Key/Value) o Memcachedb o Project Voldemort o Redis o SimpleDB o Hbase • Tabular o Cassandra o Hypertable • Gráfos o Neo4j o DEX
  • Avaliação da Palestrahttp://tinyurl.com/infotechdia16@CharlesFortes
  • PERGUNTAS?
  • @CharlesFortes