Fisl banco de dados no sql de código aberto

2,293 views
2,116 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,293
On SlideShare
0
From Embeds
0
Number of Embeds
182
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Fisl banco de dados no sql de código aberto

  1. 1. Banco de Dados NoSQL de código abertoJean Carlo Nascimento aka SUISSA NodewareLíder Técnico http://www.nodeware.com.brEmail: suissa@nodeware.com.br Twitter:@nodewareTwitter: @osuissahttp://about.me/suissa
  2. 2. Sobre o autor● Desenvolvedor web há 8 anos● Formado pela UTF-PR em SI● Especialista em Desenvolvimento Web● Criador do Sampa.js e FrontinSampa● Evangelista Node.js e NoSQL● nosqlbr.com.br● javascriptbrasil.com● jquerybrasil.org
  3. 3. Tipos de Armazenamento● Coluna● Documento● Chave/Valor● Grafo● Object● XML● Mutimodel
  4. 4. BigTablehttp://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/pt-BR//archive/bigtable-osdi06.pdf
  5. 5. { Cassandra name: "homeAddress", value: { street: { name: "street", value: "1234 x street", timestamp: 123456789}, city: { name: "city", value: "san francisco", timestamp: 123456789}, zip: { name: "zip", value: "94107", timestamp: 123456789}, }}
  6. 6. Cassandra● O melhor do BigTable e Dynamo● Java● Licença Apache● Protocol personalizado, Thrifthttp://cassandra.apache.org/
  7. 7. Cassandra● Consulta por faixa de coluna e chaves● BigTable-como características: colunas, famílias de coluna● Tem índices secundários● As gravações são muito mais rápido do que lê (!)● Map / Reduce possível com Apache Hadoophttp://cassandra.apache.org/
  8. 8. CassandraMelhor usado: Quando você escreve mais do que você lê(logging). Se todos os componentes do sistema deve ser emJava.Por exemplo: Bancos, setor financeiro (Embora nãonecessariamente para transações financeiras, mas estasindústrias são muito maiores do que isso). Ótimo paraaplicações em tempo real e análise de dados.http://cassandra.apache.org/
  9. 9. Redis ●Super rápido● C/C++● Licença: BSD● Telnet-likehttp://redis.io/
  10. 10. Redis● Replicação master-slave● Possui transações● Valores podem expirar (como em um cache)● Pub/Sub permite implementação de aplicação de mensagenshttp://redis.io/
  11. 11. RedisMelhor uso: Para mudança rápida de dados com umbanco de dados de tamanho previsível (deve caberprincipalmente na memória).Exemplos: Os preços das ações. Analytics. Coleção dedados em tempo real. Comunicação em tempo real.http://redis.io/
  12. 12. MongoDB ● Written in: C++ ● Mantém algumas propriedades favoráveis ​de SQL. (Query, index) ● Licença: AGPL ● Protocolo personalizado, RESThttp://www.mongodb.org/
  13. 13. MongoDB ● Master / slave de replicação (failover automático com conjuntos de réplicas) ● Sharding embutido ● As consultas são expressões javascript ● Executa funções javascript do lado do servidorhttp://www.mongodb.org/
  14. 14. MongoDB ● Usa arquivos de memória mapeada para armazenamento de dados ● Em sistemas de 32 bits, limitado a ~ 2.5Gb ● GridFS para armazenar grande de dados de metadados ● Tem indexação geoespacialhttp://www.mongodb.org/
  15. 15. MongoDB Melhor usado: Se você precisar de consultas dinâmicas. Se você precisa de bom desempenho em um banco de dados grande. Sistemas de logging. Por exemplo: Para a maioria das coisas que você faria com MySQL ou PostgreSQL, mas ter colunas predefinidas realmenteseguram você.http://www.mongodb.org/
  16. 16. Neo4J ● Java ● Grafos - dados conectados ● Licença: GPL, AGPL/commercial ● Protocolo HTTP/REST (ou incorporado no Java)http://neo4j.org/
  17. 17. Neo4J ● Standalone, ou embutido em aplicações Java ● ACID completo (incluindo dados duráveis​​) ● Ambos os nós e os relacionamentos podem ter metadados ● Linguagem de consulta integrada ("Cypher") ● Linguagem "Gremlin" pode ser usada ● Indexação de nós e relacionamentoshttp://neo4j.org/
  18. 18. Neo4J ● Administrador web agradável auto-suficiente ● Vários algoritmos de busca de caminho ● Indexação de chaves e relacionamentos ● Optimizado para lerhttp://neo4j.org/
  19. 19. Neo4J Melhor usado: Para gráfico de estilo, ricos ou complexos, os dados interligados. Neo4j é bastante diferente dos outros neste sentido. Por exemplo: relações sociais, transportes públicos, mapas rodoviários, topologias de rede.http://neo4j.org/

×