Banco de Dados NoSQL de
código aberto
Jean Carlo Nascimento aka SUISSA
CTO - Atrion
Web Developer - Tagon8
http://about.me/suissa
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
● frontendbrasil.com.br
Tipos de Armazenamento
● Coluna
● Documento
● Chave/Valor
● Grafo
● Object
● XML
● Mutimodel
BigTable
"Bigtable is used by more than sixty Google products and
projects, including Google Analytics, Google Finance,
Orkut, Personalized Search, Writely, and Google Earth."
http://static.googleusercontent.
com/external_content/untrusted_dlcp/research.google.
com/pt-BR//archive/bigtable-osdi06.pdf
Cassandra
● O melhor do BigTable e Dynamo
● Java
● Licença Apache
● Protocol personalizado, Thrift
http://cassandra.apache.org/
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 Hadoop
http://cassandra.apache.org/
Cassandra
Melhor usado: Quando você escreve mais do que você lê
(logging). Se todos os componentes do sistema deve ser em
Java.
Por exemplo: Bancos, setor financeiro (Embora não
necessariamente para transações financeiras, mas estas
indústrias são muito maiores do que isso). Ótimo para
aplicações em tempo real e análise de dados.
http://cassandra.apache.org/
Redis
● Super rápido
● C/C++
● Licença: BSD
● Telnet-like
http://redis.io/
Redis
● Replicação master-slave
● Possui transações
● Valores podem expirar (como em um cache)
● Pub/Sub permite implementação de aplicação de
mensagens
http://redis.io/
Redis
Melhor uso: Para mudança rápida de dados com um
banco de dados de tamanho previsível (deve caber
principalmente na memória).
Exemplos: Os preços das ações. Analytics. Coleção de
dados em tempo real. Comunicação em tempo real.
http://redis.io/
MongoDB
● C++
● Mantém algumas propriedades favoráveis ​​de SQL.
(Query, index)
● Licença: AGPL
● Protocolo personalizado, REST
http://www.mongodb.org/
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 servidor
http://www.mongodb.org/
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 geoespacial
http://www.mongodb.org/
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/
Neo4J
● Java
● Grafos - dados conectados
● Licença: GPL, AGPL/commercial
● Protocolo HTTP/REST (ou incorporado no Java)
http://neo4j.org/
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 relacionamentos
http://neo4j.org/
Neo4J
● Administrador web agradável auto-suficiente
● Vários algoritmos de busca de caminho
● Indexação de chaves e relacionamentos
● Optimizado para leitura
http://neo4j.org/
Neo4J
Melhor usado: Para grafos ricos ou complexos, e para
relacionamento entre entidades. Neo4j é bastante diferente
dos outros neste sentido.
Por exemplo: relações sociais, transportes públicos,
mapas rodoviários, topologias de rede.
http://neo4j.org/
Secot   banco de dados no sql de código aberto

Secot banco de dados no sql de código aberto

  • 1.
    Banco de DadosNoSQL de código aberto Jean Carlo Nascimento aka SUISSA CTO - Atrion Web Developer - Tagon8 http://about.me/suissa
  • 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 ● frontendbrasil.com.br
  • 7.
    Tipos de Armazenamento ●Coluna ● Documento ● Chave/Valor ● Grafo ● Object ● XML ● Mutimodel
  • 9.
    BigTable "Bigtable is usedby more than sixty Google products and projects, including Google Analytics, Google Finance, Orkut, Personalized Search, Writely, and Google Earth." http://static.googleusercontent. com/external_content/untrusted_dlcp/research.google. com/pt-BR//archive/bigtable-osdi06.pdf
  • 12.
    Cassandra ● O melhordo BigTable e Dynamo ● Java ● Licença Apache ● Protocol personalizado, Thrift http://cassandra.apache.org/
  • 13.
    Cassandra ● Consulta porfaixa 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 Hadoop http://cassandra.apache.org/
  • 14.
    Cassandra Melhor usado: Quandovocê escreve mais do que você lê (logging). Se todos os componentes do sistema deve ser em Java. Por exemplo: Bancos, setor financeiro (Embora não necessariamente para transações financeiras, mas estas indústrias são muito maiores do que isso). Ótimo para aplicações em tempo real e análise de dados. http://cassandra.apache.org/
  • 21.
    Redis ● Super rápido ●C/C++ ● Licença: BSD ● Telnet-like http://redis.io/
  • 22.
    Redis ● Replicação master-slave ●Possui transações ● Valores podem expirar (como em um cache) ● Pub/Sub permite implementação de aplicação de mensagens http://redis.io/
  • 23.
    Redis Melhor uso: Paramudança rápida de dados com um banco de dados de tamanho previsível (deve caber principalmente na memória). Exemplos: Os preços das ações. Analytics. Coleção de dados em tempo real. Comunicação em tempo real. http://redis.io/
  • 26.
    MongoDB ● C++ ● Mantémalgumas propriedades favoráveis ​​de SQL. (Query, index) ● Licença: AGPL ● Protocolo personalizado, REST http://www.mongodb.org/
  • 27.
    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 servidor http://www.mongodb.org/
  • 28.
    MongoDB ● Usa arquivosde 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 geoespacial http://www.mongodb.org/
  • 29.
    MongoDB Melhor usado: Sevocê 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/
  • 32.
    Neo4J ● Java ● Grafos- dados conectados ● Licença: GPL, AGPL/commercial ● Protocolo HTTP/REST (ou incorporado no Java) http://neo4j.org/
  • 33.
    Neo4J ● Standalone, ouembutido 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 relacionamentos http://neo4j.org/
  • 34.
    Neo4J ● Administrador webagradável auto-suficiente ● Vários algoritmos de busca de caminho ● Indexação de chaves e relacionamentos ● Optimizado para leitura http://neo4j.org/
  • 35.
    Neo4J Melhor usado: Paragrafos ricos ou complexos, e para relacionamento entre entidades. Neo4j é bastante diferente dos outros neste sentido. Por exemplo: relações sociais, transportes públicos, mapas rodoviários, topologias de rede. http://neo4j.org/