NoSQL
Soluções alternativas para
bancos de dados
Nicolas Ibanheiz
Desenvolvedor Java
Entusiasta de Node.js e NoSql
Formado pela Etec de Itaquera õ/
github.com/ibanheiz
Papo de hoje
- Bancos de dados relacionais
- Bancos de dados NoSQL
- MongoDb
- Neo4j
- Arquitetura de uma rede social com ...
Relacionamento
Normalização
Integridade
Relacionamnto Interidade
Limitações do modelo relacional
- Wallmart
Trabalha com mais de 1 milhão de transações de clientes por hora,
alimentando b...
Dificuldade com escabailidade
Dificuldade com performance
E agora ???
E agora ???
História do NoSQL
- NoSQL (Not Only SQL) foi utilizado em 1998 para o nome de um banco de
dados relacional de código abert...
Quando e porque usar?
- Escalabilidade sob demanda
- Performance em escrita massiva
- Esquema flexível e tipos de dados fl...
Bancos NoSQL populares
Qual banco devo escolher?
- Alta disponibilidade e escolabilidade
- Gravação de dados muito rápida
- Linguagem de consulta...
Qual banco devo escolher?
- Alta disponibilidade e escolabilidade
- Leitura muito rápida em cache
- Schema de dados simple...
Não comparem bancos SQL e NoSQL
x
x
Comparem bancos de mesma arquitetura
para as mesmas soluções
x
x
- C++
- Schemaless
- JSON/BSON
- Replica
- Harding
- GridFS
Visão geral
DATABASE
TABLE
ROWS
QUERY
Terminologia
DATABASE
COLLECTION
DOCUMENT JSON
QUERY
> var product = {"name": "Cachaça", "description": "Mé brasileiro", "price":
12.00}
> db.products.insert(product);
Operaçõ...
> var product = db.products.find();
>
{
"name": "Cachaça",
"description": "Mé brasileiro",
"price": 12.00
}
Operações - Fi...
Visão Geral
- Java
- Schemaless
- Cypher
- Teoria de grafos
- Transaction
Grafos
Conjunto finito de vértices e arestas
Operações - Create e Show
CREATE (NoSQL: palestra {title: 'NoSQL Soluções alternativas para bancos de
dados'})
CREATE (Nic...
Pensando numa Rede Social
1 - Leitura mais
rápida de dados
Replicação de dados
Replicação de dados
2 - Repositório central...
Mudando seu jeito de pensar
Mudando seu jeito de pensar
Dica - Livro NoSQL Essencial
NoSQL - Soluções alternativas para bancos de dados
Próximos SlideShares
Carregando em…5
×

NoSQL - Soluções alternativas para bancos de dados

476 visualizações

Publicada em

Palestra realizada na Escola Técnica Estadual de Itaquera. Conteúdo aborda os principais pontos sobre bancos de dados NoSQL.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
476
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

NoSQL - Soluções alternativas para bancos de dados

  1. 1. NoSQL Soluções alternativas para bancos de dados
  2. 2. Nicolas Ibanheiz Desenvolvedor Java Entusiasta de Node.js e NoSql Formado pela Etec de Itaquera õ/ github.com/ibanheiz
  3. 3. Papo de hoje - Bancos de dados relacionais - Bancos de dados NoSQL - MongoDb - Neo4j - Arquitetura de uma rede social com NoSQL - Convertendo um banco em SQL para NoSQL
  4. 4. Relacionamento Normalização Integridade
  5. 5. Relacionamnto Interidade
  6. 6. Limitações do modelo relacional - Wallmart Trabalha com mais de 1 milhão de transações de clientes por hora, alimentando bancos de dados estimados em mais de 2,5 petabytes. - Facebook Possui em seu banco cerca de 40 bilhões de fotos; A cada 20 minutos... 1 milhão de links são enviados 2 milhões de pedidos de amizade são solicitados 3 milhões de mensagens são enviadas
  7. 7. Dificuldade com escabailidade
  8. 8. Dificuldade com performance
  9. 9. E agora ???
  10. 10. E agora ???
  11. 11. História do NoSQL - NoSQL (Not Only SQL) foi utilizado em 1998 para o nome de um banco de dados relacional de código aberto que não possuía interface SQL. - Em 2009 foi reintroduzido por Eric Evans (da Rackspace) para os novos bancos que surgiam e não tinham preocupação em dar garantias ACID (Atomicidade, Consistência, Isolamento e Durabilidade). - O nome fazia referência à bancos de dados populares na época, como MySQL, MS SQL e PostgreSQL, então por isso, usaram o NoSQL.
  12. 12. Quando e porque usar? - Escalabilidade sob demanda - Performance em escrita massiva - Esquema flexível e tipos de dados flexíveis - Facilidade de uso para o programador - Sincronização de dados online e offline (CouchDB) - Evitar joins pesados quando o carregamento das querys se tornam muito grandes para os bancos relacionais
  13. 13. Bancos NoSQL populares
  14. 14. Qual banco devo escolher? - Alta disponibilidade e escolabilidade - Gravação de dados muito rápida - Linguagem de consulta semelhante ao SQL - Esquema flexível
  15. 15. Qual banco devo escolher? - Alta disponibilidade e escolabilidade - Leitura muito rápida em cache - Schema de dados simples (key-value) - Fácil integração com qualquer linguagem
  16. 16. Não comparem bancos SQL e NoSQL x x
  17. 17. Comparem bancos de mesma arquitetura para as mesmas soluções x x
  18. 18. - C++ - Schemaless - JSON/BSON - Replica - Harding - GridFS Visão geral
  19. 19. DATABASE TABLE ROWS QUERY Terminologia DATABASE COLLECTION DOCUMENT JSON QUERY
  20. 20. > var product = {"name": "Cachaça", "description": "Mé brasileiro", "price": 12.00} > db.products.insert(product); Operações - Insert
  21. 21. > var product = db.products.find(); > { "name": "Cachaça", "description": "Mé brasileiro", "price": 12.00 } Operações - Find
  22. 22. Visão Geral - Java - Schemaless - Cypher - Teoria de grafos - Transaction
  23. 23. Grafos Conjunto finito de vértices e arestas
  24. 24. Operações - Create e Show CREATE (NoSQL: palestra {title: 'NoSQL Soluções alternativas para bancos de dados'}) CREATE (Nicolas: palestrante {nome: 'Nicolas Ibanheiz', idade: 21}) CREATE (Nicolas)-[:PALESTROU_EM {roles: ['Nico']}]->(NoSQL) WITH Nicolas as a MATCH(a)-[:PALESTROU_EM]->(m) return a,m
  25. 25. Pensando numa Rede Social 1 - Leitura mais rápida de dados Replicação de dados Replicação de dados 2 - Repositório central 3 - Leitura rápida em cache 4 - Conectar e descobrir relacionamentos
  26. 26. Mudando seu jeito de pensar
  27. 27. Mudando seu jeito de pensar
  28. 28. Dica - Livro NoSQL Essencial

×