SlideShare une entreprise Scribd logo
1  sur  4
O termo NoSQL foi usado pela primeira vez em 1998 como o nome de um banco
de dados relacional de código aberto que não possuía um interface SQL. Seu autor,
Carlo Strozzi, alega que o movimento NoSQL "é completamente distinto do modelo
relacional e portanto deveria ser mais apropriadamente chamado "NoREL" ou algo
que produzisse o mesmo efeito". Porém o termo só voltou a ser assunto em 2009
por um funcionário do Rackspace, Eric Evans, quando Johan Oskarsson da Last.fm
queria organizar um evento para discutir bancos de dados open source distribuídos.

   NoSQL são diferentes sistemas de armazenamento que vieram para suprir
necessidades que os bancos de dados tradicionais(Relacionais) são ineficazes. Muitas
dessas bases apresentam características muito interessantes como alta performance,
escalabilidade, replicação, suporte à dados estruturados e sub colunas.

   O NoSQL surgiu da necessidade de uma performance superior e de uma alta
escalabilidade. Os atuais bancos de dados relacionais são muito restritos a isso,
sendo necessário a distribuição vertical de servidores, ou seja, quanto mais dados,
mais memória e mais disco um servidor precisa. O NoSQL tem uma grande facilidade
na distribuição horizontal, ou seja, mais dados, mais servidores, não
necessariamente de alta performance. Um grande utilizador desse conceito é o
google, que usa computadores de pequeno e médio porte, para a distribuição dos
dados, essa forma de utilização e muito mais eficiente e econômica. Alem disso, os
bancos de dados NoSQL são muito tolerantes a erros.

  No caso dos bancos NoSQL toda a a informação necessária estará agrupada no
mesmo registro, ou seja, em vez de você ter o relacionamento entre várias tabelas
para formar uma informação ela estará em sua totalidade no mesmo registro.

  Os bancos NoSQL são subdivididos pelo seu núcleo, ou seja, como ele trabalha
com os dados. Que são: Wide Column Store/Column Families, Document Store, Key
Value/Tuple Store, Eventually Consistent Key Value Store, Graph Databases, Object
Databases, Grid Database Solutions, XML Databases. Lista retirada de http://nosql-
database.org/

Key/Value Store
Esse é o tipo de banco de dados NoSQL mais simples o conceito dele é uma chave e
um valor para essa chave, mas ele é o que aguenta mais carga de dados. Esses tipos
de bancos de dados, são o que tem a maior escalabilidade.

   •   Berkeley DB
   •   Tokyo Cabinet
   •   Project Voldermort
   •   MemcacheDB
   •   SimpleBD


Wide Columns Store
Fortemente inspirados pelo BigTable do google eles suportam várias linhas e colunas,
alem disso ele permite subcolunas. Alem do BigTable do google outros que usam
essa tecnologia são:

   •   HBase(Apache)
   •   HiperTable
•   Cassandra(Apache)


Document Store
Baseado em documentos XML ou JSON, podem ser localizados pelo seu id unico ou
por qualquer registro que tenha no documento.

   •   CouchDB(Apache)
   •   MongoDB
   •   Riak
   •   RavenDB


Graph Store
Com uma complexibilidade maior esses bancos de dados guardam objetos e não
registros como os outros tipos de NoSQL. A busca destes itens são feitas pela
navegação destes objetos.

   •   Neo4J
   •   InfoGrid
   •   HyperGraphDB
   •   BigData


Column Oriented Store
Esses são bancos de dados relacionais, porem eles tem caracteristicas do NoSQL a
principal diferença deles é que os dados são armazenados em colunas, ajudando na
escalabilidade.

   •   Vertica
   •   MonetDB
   •   LucidDB
   •   Infobright
   •   Ingres/Vectorwise


Como apresentado no gráfico, os key-value aguentam maior quantidade de registros,
enquanto os grafos são mais complexos. Pensar numa conclusão.
Em um projeto, não necessariamente você precisa usar só um banco de dados
nosql, você pode usar ele com qualquer outro banco de dados. Os bancos nosql são
indicados para grandes cargas de dados, exigência de velocidade na consulta e
escrita em grandes volumes de dados. Ainda segundo o gráfico 90% dos sites
atualmente podem usar sem problemas algum os bancos de dados tradicionais, pois
o ganho de performance não seria tão siguinificativo, para os 10% restantes é
aconselhavel o uso do NoSQL.

  A idéia que o conceito NOSQL nos passa é que ele não pode ser generalizado
como a resposta de todos seus problemas, mas sim para problemas específicos.

Banco de dados Relacionais

O que é: Baseia-se em que todos os dados estão guardados em tabelas, pelo
conceito de entidade e relacionamento. Os dados são separados de forma única
tentando diminuir ao máximo a redundância. Pois a informação é criada pelo
conjunto dos dados, onde são as relações entre as tabelas que fazem esse serviço.

Características: tabelas, schema definido, hierarquia, redundância mínima,
entidade e relacionamento, formas normais, transações ACID(Atomicidade,
Consistência, Isolamento, Durabilidade).

Necessidades: Sistemas locais, sistemas financeiros, sistemas
corporativos, segurança da informação, consistência dos dados.

Marcas: DB2, Firebird, InterBase, Microsoft SQL Server, MySQL, Oracle, PostgreSQL

Cases: SAP, OpenERP, Previdência Social, Caixa, Itaú, Salesforce, Vale.




Banco de Dados NOSQL
O que é: Uma solução alternativa para os bancos de dados relacionais, possuem
uma alta escalabilidade e desempenho

Características: registros, schema-free, tolerância a falha, escalabilidade,
clusterização, mapreduce, sharding.

Necessidades: Sistemas em nuvem, análises sociais, alta escalabilidade,
performance na consulta/escrita, replicação.

Cases: Twitter, Facebook, Digg, Amazon, LinkedIN, Google, Yahoo, The New York
Times, Bit.ly.

Contenu connexe

Tendances

NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoAugusto Giles
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Ambiente Livre
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisCarlo Pires
 
SQL Saturday 570 - São Paulo - 2016
SQL Saturday 570 - São Paulo - 2016SQL Saturday 570 - São Paulo - 2016
SQL Saturday 570 - São Paulo - 2016Rodrigo Dornel
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosJoão Helis Bernardo
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBPaulo Bischof
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBRodrigo Hjort
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
Bancos de Dados Geográficos
Bancos de Dados GeográficosBancos de Dados Geográficos
Bancos de Dados GeográficosSuzana Viana Mota
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemJoão Gabriel Lima
 

Tendances (20)

O NoSQL e o Relacional: Uma Análise
O NoSQL e o Relacional: Uma AnáliseO NoSQL e o Relacional: Uma Análise
O NoSQL e o Relacional: Uma Análise
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas Apresentação
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplos
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
 
Banco de Dados - NoSQL
Banco de Dados - NoSQLBanco de Dados - NoSQL
Banco de Dados - NoSQL
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
SQL Saturday 570 - São Paulo - 2016
SQL Saturday 570 - São Paulo - 2016SQL Saturday 570 - São Paulo - 2016
SQL Saturday 570 - São Paulo - 2016
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
 
NoSQL
NoSQLNoSQL
NoSQL
 
Big Data
Big DataBig Data
Big Data
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
Bancos de Dados Geográficos
Bancos de Dados GeográficosBancos de Dados Geográficos
Bancos de Dados Geográficos
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagem
 

En vedette

Be mean
Be meanBe mean
Be meanSuissa
 
Be MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - SuissaBe MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - SuissaSuissa
 
Atomic design
Atomic designAtomic design
Atomic designSuissa
 
Be MEAN
Be MEANBe MEAN
Be MEANSuissa
 
Atomic design
Atomic design Atomic design
Atomic design Suissa
 
Mongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.jsMongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.jsSuissa
 
TypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slidesTypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slidesSuissa
 
Palestra node.js
Palestra   node.js Palestra   node.js
Palestra node.js Suissa
 
ES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaSuissa
 

En vedette (9)

Be mean
Be meanBe mean
Be mean
 
Be MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - SuissaBe MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - Suissa
 
Atomic design
Atomic designAtomic design
Atomic design
 
Be MEAN
Be MEANBe MEAN
Be MEAN
 
Atomic design
Atomic design Atomic design
Atomic design
 
Mongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.jsMongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.js
 
TypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slidesTypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slides
 
Palestra node.js
Palestra   node.js Palestra   node.js
Palestra node.js
 
ES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaES6 funcional TDC - Suissa
ES6 funcional TDC - Suissa
 

Similaire à Introdução aos principais tipos de bancos de dados NoSQL

Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2Otávio Santana
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNicolas Ibanheiz
 
No sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasNo sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasJoão Gabriel Lima
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dadoscris.finholdt
 
Desenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQL
Desenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQLDesenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQL
Desenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQLOtávio Santana
 

Similaire à Introdução aos principais tipos de bancos de dados NoSQL (20)

Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 
Artigo couchdb
Artigo couchdbArtigo couchdb
Artigo couchdb
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Introdução ao NoSQL
Introdução ao NoSQLIntrodução ao NoSQL
Introdução ao NoSQL
 
Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2Cassandra com NOSQL parte 2
Cassandra com NOSQL parte 2
 
Mongo db
Mongo dbMongo db
Mongo db
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dados
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
No sql std
No sql stdNo sql std
No sql std
 
No Sql
No SqlNo Sql
No Sql
 
No sql - MongoDB
No sql - MongoDBNo sql - MongoDB
No sql - MongoDB
 
No sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasNo sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativas
 
Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)
 
Pesquisa sobre no sql
Pesquisa sobre no sqlPesquisa sobre no sql
Pesquisa sobre no sql
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dados
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Desenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQL
Desenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQLDesenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQL
Desenvolvendo com NOSQL ­ Cassandra em Java: Parte 1 ­ Conceito NOSQL
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 

Plus de Suissa

Devcast node.js e mongo db o casamento perfeito
Devcast   node.js e mongo db o casamento perfeitoDevcast   node.js e mongo db o casamento perfeito
Devcast node.js e mongo db o casamento perfeitoSuissa
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código abertoSuissa
 
Flisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeitoFlisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeitoSuissa
 
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafosPh pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafosSuissa
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript modernoSuissa
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsSuissa
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesSuissa
 
7 masters wordpress - advanced queries
7 masters   wordpress - advanced queries7 masters   wordpress - advanced queries
7 masters wordpress - advanced queriesSuissa
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript modernoSuissa
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slidesSuissa
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com phpSuissa
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage apiSuissa
 
Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio Suissa
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classeSuissa
 
J query aula_02
J query aula_02J query aula_02
J query aula_02Suissa
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dadosSuissa
 
J query aula01
J query aula01J query aula01
J query aula01Suissa
 
Tabelas
TabelasTabelas
TabelasSuissa
 
Listas em html
Listas em htmlListas em html
Listas em htmlSuissa
 

Plus de Suissa (20)

Devcast node.js e mongo db o casamento perfeito
Devcast   node.js e mongo db o casamento perfeitoDevcast   node.js e mongo db o casamento perfeito
Devcast node.js e mongo db o casamento perfeito
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
 
Flisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeitoFlisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeito
 
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafosPh pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript moderno
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webapps
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slides
 
7 masters wordpress - advanced queries
7 masters   wordpress - advanced queries7 masters   wordpress - advanced queries
7 masters wordpress - advanced queries
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript moderno
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slides
 
Curso mongo db com php
Curso mongo db com phpCurso mongo db com php
Curso mongo db com php
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage api
 
Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
 
J query aula_02
J query aula_02J query aula_02
J query aula_02
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dados
 
J query aula01
J query aula01J query aula01
J query aula01
 
Tabelas
TabelasTabelas
Tabelas
 
Listas em html
Listas em htmlListas em html
Listas em html
 

Introdução aos principais tipos de bancos de dados NoSQL

  • 1. O termo NoSQL foi usado pela primeira vez em 1998 como o nome de um banco de dados relacional de código aberto que não possuía um interface SQL. Seu autor, Carlo Strozzi, alega que o movimento NoSQL "é completamente distinto do modelo relacional e portanto deveria ser mais apropriadamente chamado "NoREL" ou algo que produzisse o mesmo efeito". Porém o termo só voltou a ser assunto em 2009 por um funcionário do Rackspace, Eric Evans, quando Johan Oskarsson da Last.fm queria organizar um evento para discutir bancos de dados open source distribuídos. NoSQL são diferentes sistemas de armazenamento que vieram para suprir necessidades que os bancos de dados tradicionais(Relacionais) são ineficazes. Muitas dessas bases apresentam características muito interessantes como alta performance, escalabilidade, replicação, suporte à dados estruturados e sub colunas. O NoSQL surgiu da necessidade de uma performance superior e de uma alta escalabilidade. Os atuais bancos de dados relacionais são muito restritos a isso, sendo necessário a distribuição vertical de servidores, ou seja, quanto mais dados, mais memória e mais disco um servidor precisa. O NoSQL tem uma grande facilidade na distribuição horizontal, ou seja, mais dados, mais servidores, não necessariamente de alta performance. Um grande utilizador desse conceito é o google, que usa computadores de pequeno e médio porte, para a distribuição dos dados, essa forma de utilização e muito mais eficiente e econômica. Alem disso, os bancos de dados NoSQL são muito tolerantes a erros. No caso dos bancos NoSQL toda a a informação necessária estará agrupada no mesmo registro, ou seja, em vez de você ter o relacionamento entre várias tabelas para formar uma informação ela estará em sua totalidade no mesmo registro. Os bancos NoSQL são subdivididos pelo seu núcleo, ou seja, como ele trabalha com os dados. Que são: Wide Column Store/Column Families, Document Store, Key Value/Tuple Store, Eventually Consistent Key Value Store, Graph Databases, Object Databases, Grid Database Solutions, XML Databases. Lista retirada de http://nosql- database.org/ Key/Value Store Esse é o tipo de banco de dados NoSQL mais simples o conceito dele é uma chave e um valor para essa chave, mas ele é o que aguenta mais carga de dados. Esses tipos de bancos de dados, são o que tem a maior escalabilidade. • Berkeley DB • Tokyo Cabinet • Project Voldermort • MemcacheDB • SimpleBD Wide Columns Store Fortemente inspirados pelo BigTable do google eles suportam várias linhas e colunas, alem disso ele permite subcolunas. Alem do BigTable do google outros que usam essa tecnologia são: • HBase(Apache) • HiperTable
  • 2. Cassandra(Apache) Document Store Baseado em documentos XML ou JSON, podem ser localizados pelo seu id unico ou por qualquer registro que tenha no documento. • CouchDB(Apache) • MongoDB • Riak • RavenDB Graph Store Com uma complexibilidade maior esses bancos de dados guardam objetos e não registros como os outros tipos de NoSQL. A busca destes itens são feitas pela navegação destes objetos. • Neo4J • InfoGrid • HyperGraphDB • BigData Column Oriented Store Esses são bancos de dados relacionais, porem eles tem caracteristicas do NoSQL a principal diferença deles é que os dados são armazenados em colunas, ajudando na escalabilidade. • Vertica • MonetDB • LucidDB • Infobright • Ingres/Vectorwise Como apresentado no gráfico, os key-value aguentam maior quantidade de registros, enquanto os grafos são mais complexos. Pensar numa conclusão.
  • 3. Em um projeto, não necessariamente você precisa usar só um banco de dados nosql, você pode usar ele com qualquer outro banco de dados. Os bancos nosql são indicados para grandes cargas de dados, exigência de velocidade na consulta e escrita em grandes volumes de dados. Ainda segundo o gráfico 90% dos sites atualmente podem usar sem problemas algum os bancos de dados tradicionais, pois o ganho de performance não seria tão siguinificativo, para os 10% restantes é aconselhavel o uso do NoSQL. A idéia que o conceito NOSQL nos passa é que ele não pode ser generalizado como a resposta de todos seus problemas, mas sim para problemas específicos. Banco de dados Relacionais O que é: Baseia-se em que todos os dados estão guardados em tabelas, pelo conceito de entidade e relacionamento. Os dados são separados de forma única tentando diminuir ao máximo a redundância. Pois a informação é criada pelo conjunto dos dados, onde são as relações entre as tabelas que fazem esse serviço. Características: tabelas, schema definido, hierarquia, redundância mínima, entidade e relacionamento, formas normais, transações ACID(Atomicidade, Consistência, Isolamento, Durabilidade). Necessidades: Sistemas locais, sistemas financeiros, sistemas corporativos, segurança da informação, consistência dos dados. Marcas: DB2, Firebird, InterBase, Microsoft SQL Server, MySQL, Oracle, PostgreSQL Cases: SAP, OpenERP, Previdência Social, Caixa, Itaú, Salesforce, Vale. Banco de Dados NOSQL O que é: Uma solução alternativa para os bancos de dados relacionais, possuem
  • 4. uma alta escalabilidade e desempenho Características: registros, schema-free, tolerância a falha, escalabilidade, clusterização, mapreduce, sharding. Necessidades: Sistemas em nuvem, análises sociais, alta escalabilidade, performance na consulta/escrita, replicação. Cases: Twitter, Facebook, Digg, Amazon, LinkedIN, Google, Yahoo, The New York Times, Bit.ly.