Bancos de dados nosql (not only sql)
-
Upload
rodrigo-valerio -
Category
Technology
-
view
42 -
download
0
Transcript of Bancos de dados nosql (not only sql)
Bancos de dados NOSQL (Not Only SQL)
Rodrigo Valé[email protected]@rsvalerio
Qual banco de dados utilizado por Facebook e Twitter????
E pelo google?
Quando você digita pindamonhangaba no google, e ele traz: "Aproximadamente
20.500.000 resultados (0,15 segundos)", ANTES DE VOCÊ TERMINAR DE DIGITAR, você acha que ele está fazendo um SQL
like em um índice???
Alguma vez o google encontrou uma coisa que a busca do site que você estava não encontrou?
Essa apresentação é sobre o google?????
Apresentando o termo: NoSQL
Wikipedia: "NoSQL (entenda-se "Not only SQL") é um um termo genérico para uma classe definida de banco de dados não-relacionais que rompe uma longa história de banco de dados relacionais com propriedades ACID. Outros termos equivalentes para esta categoria de bancos é NF², N1NF (non first normal form), nested relational, dimensional, multivalue, free-form, schemaless, document database e MRNN (Modelo Relacional Não Normalizado)..."
Não quer substituir os bancos de
dados relacionais!
Um pouco de história
1. Escalabilidade2. Performance3. Consistência Eventual ou Relaxada
1. Dr. Werner Vogels um dos maiores especialistas no mundo em sistemas ultra-escaláveis, trabalha a amazon.com, Artigo sobre o termo: http://queue.acm.org/detail.cfm?id=1466448
2. http://en.wikipedia.org/wiki/Eventual_consistency
4. Agilidade5. Complexidade
Cinco NECESSIDADES do mercado, NÃO SÃO ATENDIDAS a contento pelos produtos de banco de dados e fornecedores disponíveis no mercado, são eles:
Artigo: A necessidade é a mãe do NoSQL
Um pouco de história
O divisor de águas no movimento NoSQL, foi a publicação de 2 artigos:
1.BigTable: A Distributed Storage System for Structured Data1.Publicado pelo Google2.Em Novembro de 20063.No 17 simpósio em design e implementação de
sistemas operacionais2.Dynamo: Amazon’s Highly Available Key-Value
Store1.Publicado pela Amazon2.Em Outrubro de 20073.No 12 simpósio em princípios de sistemas
operacionais
Principais tipos disponíveis
Orientado a Documentos
● Linhagem: Inspirado pelo Lotus Notes
●Modelo de dados: Coleção de documentos, que contém coleções de chave-valor.
●Exemplo: CouchDB, MongoDB ●Bom para: Modelagem de dados natural. Amigo do
programador. Desenvolvimento Rápido. Amigo da web, CRUD.
http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Armazenamento por chave-valor
● Linhagem: Inspirado pelos artigos: Amazon's Dynamo paper e Distributed HashTables
●Modelo de dados: Coleção global de pares de chave-valor
●Exemplo: Membase e Riak ●Bom para: Gerencia bem o tamanho. Processa
uma quantidade constante de pequenas leituras e escritas. É rápido. Amigo do programador
Principais tipos disponíveis
http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Clones de BigTable (google)
● Linhagem: Artigo do Google BigTable●Modelo de dados: Família de colunas, um modelo
tabular, onde cada linha pode ter suas próprias colunas.
●Exemplo: HBase, Hypertable, Cassandra ●Bom para: Gerencia bem o tamanho. Processa uma
grande quantidade de carga via fluxos. Alta disponibilidade. Multiplos data-centers. MapReduce.
Principais tipos Disponíveis
http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Orientado a Grafos
● Linhagem: Euler e a teoria dos grafos
●Modelo de dados: Nós e relacionamentos, ambos manipulam pares de chave-valor
●Exemplo: AllegroGraph, InfoGrid e Neo4j●Bom para: Problemas complicados com
gravos. É rápido
Principais tipos Disponíveis
http://highscalability.com/blog/2011/6/20/35-use-cases-for-choosing-your-next-nosql-database.html
Principais produtos:● Couchdb
○ http://couchdb.apache.org/○ Escrito em: Erlang○ Principal característica: Consistência do banco de dados. Facilidade de uso○ Licença: Apache ○ Protocolo: HTTP/REST
● Mongodb○ http://www.mongodb.org/○ Escrito em: c++○ Principal característica: ○ Licença:○ Protocolo:
● Cassandra○ http://cassandra.apache.org/○ Escrito em: java○ Principal característica: ○ Licença:○ Protocolo:
● Redis○ http://redis.io/○ Escrito em: c++○ Principal característica: ○ Licença:○ Protocolo:
http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
Relatório de abril de 2011 entitulado:
Publicado pela "Empresa independente de análise da indústria de tecnologia focada no negócio de inovação tecnológica", o grupo 451Fonte: http://www.the451group.com/caos/caos_detail.php?icid=1651
O relatório completo custa $3.750,00 dólares no site: https://store.the451group.com/product_info.php?products_id=162&osCsid=mqnruh3dnnb5ob1uv25ssosk27
Referências:
http://nosql-database.org/http://mynosql.org/35+ Use Cases for Choosing Your Next NoSQL Databasehttp://couchdb.apache.org/http://www.mongodb.org/http://redis.io/http://cassandra.apache.org/