Fisl banco de dados no sql de código aberto

2.391 visualizações

Publicada em

0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no 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/

×