SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
NoSQL	

Onde vivem e	

Como se alimentam?
AlvaroViebrantz
"A DBA walks into a NoSQL bar,
but turns and leaves because he could't find a Table."
Webtonull
Alvaro Viebrantz
Analista de TI - Sefaz-MT
!
Blog = ?
!
alvarowolfx@gmail.com
!
@alvinhuuu
Afinal o que é NoSQL ?	

Pensamentos iniciais.
NoSQL - OndeVivem e
Como se Alimentam
“Finalmente estou livre (de schema) !!!”

Desenvolvedor que não curte ficar modelando tabelas.
“É melhor que qualquer banco relacional !!! ”

Desenvolvedor utilizando pela primeira vez MongoDB.
Afinal o que é NoSQL ?	

Pensamentos iniciais.
NoSQL - OndeVivem e
Como se Alimentam
“Mas que diabos é isso que está querendo acabar
com meu emprego ?”
DBA em sua zona de conforto.
“NoSQL resolvem todos os problemas do mundo.”
Eu, quando comecei a estudar NoSQL.
O que é NoSQL então ?
• Surgiu por conta da nova leva de aplicações que surgiram com
a Web 2.0.
• Modelos de dados diferenciado.
• Grande quantidade de dados.
• Distribuição de dados.
• Escalabilidade.
NoSQL - OndeVivem e
Como se Alimentam
Not Only SQL
Trade offs
• NoSQL
• BASE
• Consistencia Eventual
• Modelo flexível ( Schemaless )
• Escalabilidade Horizontal
• Disponibilidade
NoSQL - OndeVivem e
Como se Alimentam
• SQL
• ACID = Transações
• Consistência Forte
• Modelo rigido (Schema)
• Escalabilidade Vertical
X
Primeiras Especies Encontradas
NoSQL - OndeVivem e
Como se Alimentam
!
‣ Onde foi encontrado ?
‣ Amazon
‣ Familia
‣ Orientado a Chave-Valor
‣ Aplicações
‣ Session
‣ Carrinho de compras
‣ Catalogo de Produtos
‣ Descendente
‣ Riak
DynamoDB
Primeiras Especies Encontradas
NoSQL - OndeVivem e
Como se Alimentam
BigTable
‣ Onde foi encontrado ?
‣ Google
‣ Familia
‣ Orientado a Colunas
‣ Aplicações
‣ Analytics
‣ Email
‣ Maps
‣ Descendente
‣ HBase
BigTable
Familias principais de NoSQL
NoSQL - OndeVivem e
Como se Alimentam
http://www.nosql-database.org/
Familias principais de NoSQL
NoSQL - OndeVivem e
Como se Alimentam
BigTable GraphKeyValue Store Document
http://www.nosql-database.org/
RelacionamentosModelos Agregados
Familias principais de NoSQL
NoSQL - OndeVivem e
Como se Alimentam
BigTable GraphKeyValue Store Document
http://www.nosql-database.org/
Familia Key-Value Store
• Basicamente armazena qualquer coisa a partir de uma chave.
• Completamente sem Schema (Schemaless)
• Operações básicas
• Get, Set, Delete
• Outras operações especificas por implementação
NoSQL - OndeVivem e
Como se Alimentam
Familia Key-Value Store
• Basicamente armazena qualquer coisa a partir de uma chave.
• Completamente sem Schema (Schemaless)
• Operações básicas
• Get, Set, Delete
• Outras operações especificas por implementação
NoSQL - OndeVivem e
Como se Alimentam
ValueKey
eventos.meta.
yolab.s03e01
Redis	

Especie rara de Key-Value
• Servidor de Estruturas de Dados
• Listas, Filas, Conjuntos, etc…
• Chaves podem ter tempo de expiração.
• Chaves podem ser consultadas com wildcard.
NoSQL - OndeVivem e
Como se Alimentam
Redis	

Especie rara de Key-Value
• Servidor de Estruturas de Dados
• Listas, Filas, Conjuntos, etc…
• Chaves podem ter tempo de expiração.
• Chaves podem ser consultadas com wildcard.
NoSQL - OndeVivem e
Como se Alimentam
Aplicações
Empresas
Controle de Sessão Instagram
Cache StackOverflow, Twitter e Instagram
Filas de Processamento Github e Várias libs
Contagem de Notificações Tumblr e Instagram
Não tenha medo de usar
• Empresa brasileira
• Boo-Box
• Empresa de publicidade em mídias sociais
NoSQL - OndeVivem e
Como se Alimentam
http://www.slideshare.net/f_mafra/usando-redis-para-otimizar-o-
sistema-boobox
Aplicações
Armazenamento de sessões de usuários
Cache de produtos de terceiros
Busca em catálogos de produtos de terceiros
Validação de visualizações e clicks de produtos
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou horas.
• E-Commerce, Leilões, Compras Coletivas, etc.
NoSQL - OndeVivem e
Como se Alimentam
Ebay
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou horas.
• E-Commerce, Leilões, Compras Coletivas, etc.
NoSQL - OndeVivem e
Como se Alimentam
Ebay
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou horas.
• E-Commerce, Leilões, Compras Coletivas, etc.
NoSQL - OndeVivem e
Como se Alimentam
Ebay
pages:{pageURLHash}:{userSession}
1h
Redis	

Exemplo de aplicação
• Mostrar em tempo-real usuários online vendo um
produto/página nos últimos X minutos ou horas.
• E-Commerce, Leilões, Compras Coletivas, etc.
NoSQL - OndeVivem e
Como se Alimentam
Ebay
pages:{pageURLHash}:{userSession}
1h
pages:{pageURLHash}:*
Quantidade de
usuários na ultima
hora.
• Key-Value com um pouco mais de estrutura
• Valor armazenado utiliza formatos como XML, JSON, BSON
• Estrutura de documentos flexíveis.
• Consultas por campos dos documentos.
• Inserção de documentos e atualização de campos
Familia Document Store
NoSQL - OndeVivem e
Como se Alimentam
• Key-Value com um pouco mais de estrutura
• Valor armazenado utiliza formatos como XML, JSON, BSON
• Estrutura de documentos flexíveis.
• Consultas por campos dos documentos.
• Inserção de documentos e atualização de campos
Familia Document Store
NoSQL - OndeVivem e
Como se Alimentam
Familia Document Store
NoSQL - OndeVivem e
Como se Alimentam
Aplicações
• Agregados de dados, Desnormalização e Compatibilidade de
Modelos
NoSQL - OndeVivem e
Como se Alimentam
Produto
id
titulo
valor
Usuario
id
nome
Endereco
id
descricao
cidade_id
usuario_id
n1
Pedido
id
endereco_id
usuario_id
Item
id
produto_id
pedido_id
qtde
valor
n
1
n
1
n 1
n
1
Aplicações
• Agregados de dados, Desnormalização e Compatibilidade de
Modelos
NoSQL - OndeVivem e
Como se Alimentam
Produto
id
titulo
valor
Usuario
id
nome
Endereco
id
descricao
cidade_id
usuario_id
n1
Case Brasileiro - globo.com
• Utilizando MongoDB ao invés de MySQL em alguns projetos.
• Porque ?
• Performance
• Administração simples e transparente
• Principalmente modelo de dados
NoSQL - OndeVivem e
Como se Alimentam
http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/
Case Brasileiro - globo.com
• Utilizando MongoDB ao invés de MySQL em alguns projetos.
• Porque ?
• Performance
• Administração simples e transparente
• Principalmente modelo de dados
NoSQL - OndeVivem e
Como se Alimentam
Catalogo de videos
Receitas (Duh!)
http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/
Mural
Outras Aplicações
• Logs de vários tipos
• Real-time Analytics
• Log de dados temporais
• Visitas, Crash, Busca, etc
NoSQL - OndeVivem e
Como se Alimentam
Outras Aplicações
• Logs de vários tipos
• Real-time Analytics
• Log de dados temporais
• Visitas, Crash, Busca, etc
NoSQL - OndeVivem e
Como se Alimentam
Real-time Analytics
para Apps moveis
Logs de buscas
Metadados
Logs de atividades 

(Login, pagamentos,etc)
Alimentam o sistema de

detecção de fraudes
Familia Column Store	

Clones do BigTable
• Bilhões de linhas x Milhões de colunas
• Orientado a coluna x Orientado a linhas
• Dados esparsos
• Quantidade massiva de dados
NoSQL - OndeVivem e
Como se Alimentam
Facebook Pai	

Twitter 	

 Contar coisas (Botão de Tweet)	

Netflix 	

 Distribuição por Região e Disponibilidade
Facebook 	

	

 Messages	

Twitter 	

 	

 Analytics	

Netflix 	

 	

 Consistencia e Distribuição
Familia Graph Store	

Foco em relacionamentos
• Mas os banco relacionais não são feitos de relacionamentos ?
• Custoso
• Inserções comprometidas
• Buscas Complexas
• “Poucos dados” mas muitas ligações
NoSQL - OndeVivem e
Como se Alimentam
Familia Graph Store	

Foco em relacionamentos
• Mas os banco relacionais não são feitos de relacionamentos ?
• Custoso
• Inserções comprometidas
• Buscas Complexas
• “Poucos dados” mas muitas ligações
NoSQL - OndeVivem e
Como se Alimentam
Familia Graph Store	

Funcionamento
• Armazenamento de nós e seus arestas.
• Teoria dos Grafos
• Nós e arestas podem possuir atributos
NoSQL - OndeVivem e
Como se Alimentam
Qual o Menor Caminho entre Cuiabá e Brasilia ?
Familia Graph Store	

Aplicação
• Recomendações em geral
• Amigos em rede sociais
NoSQL - OndeVivem e
Como se Alimentam
Familia Graph Store	

Aplicação
• Recomendações em geral
• Amigos em rede sociais
NoSQL - OndeVivem e
Como se Alimentam
Paulo
João
Familia Graph Store	

Aplicação
• Recomendações em geral
• Amigos em rede sociais
NoSQL - OndeVivem e
Como se Alimentam
João e Paulo são amigos ?
Familia Graph Store	

Aplicação (continuação)
• Recomendações em geral
• Produtos baseados em compras passadas
NoSQL - OndeVivem e
Como se Alimentam
Alvaro
Familia Graph Store	

Aplicação (continuação)
• Recomendações em geral
• Produtos baseados em compras passadas
NoSQL - OndeVivem e
Como se Alimentam
Alvaro gostaria de um produto
que seus amigos também compraram ?
Big Players
NoSQL - OndeVivem e
Como se Alimentam
Analise de Impacto
Logistica
Detecção de Fraude
Gerenciamento de Data Center
Recomendação de Seguidores
FlockDB
Ecossistema Poliglota
• Escolher a melhor ferramenta para o trabalho.
• Nenhuma ferramenta deve resolver todos os problemas.
NoSQL - OndeVivem e
Como se Alimentam
Ecossistema Poliglota
• Escolher a melhor ferramenta para o trabalho.
• Nenhuma ferramenta deve resolver todos os problemas.
NoSQL - OndeVivem e
Como se Alimentam
X
SQL NoSQL
Persistencia Poliglota
• Resolve problemas específicos
• Torna possível novas formas de obtenção de dados e de valor
no que o usuário produz.
NoSQL - OndeVivem e
Como se Alimentam
Redis
User
Session
MongoDB
Catalogo
Produtos
RDBMS
Financeiro
Neo4J
Recomen
dações
Dynamo
Carrinho
RDBMS
Relatórios
RDBMS
Financeiro
Cassandra
Log

Atividades
NoSQL - OndeVivem e
Como se Alimentam
Perguntas e Respostas
That`s all folks
NoSQL - OndeVivem e
Como se Alimentam
Perguntas e Respostas

Weitere ähnliche Inhalte

Andere mochten auch

La mujer y su familia
La mujer y su familiaLa mujer y su familia
La mujer y su familia
elmemoss
 
02 arangio s
02 arangio s02 arangio s
02 arangio s
Franco Bontempi
 
EBJ-10 | Christmas Trees
EBJ-10 | Christmas TreesEBJ-10 | Christmas Trees
EBJ-10 | Christmas Trees
AEC-Inglês
 
Els beneficis de la millora de la qualitat de l'aire en la salut - Jordi Sunyer
Els beneficis de la millora de la qualitat de l'aire en la salut - Jordi SunyerEls beneficis de la millora de la qualitat de l'aire en la salut - Jordi Sunyer
Els beneficis de la millora de la qualitat de l'aire en la salut - Jordi Sunyer
Medi Ambient. Generalitat de Catalunya
 

Andere mochten auch (20)

React native first impression
React native first impressionReact native first impression
React native first impression
 
Developing Apps With React Native
Developing Apps With React NativeDeveloping Apps With React Native
Developing Apps With React Native
 
Guia do desenvolvedor mobile das galáxias
Guia do desenvolvedor mobile das galáxiasGuia do desenvolvedor mobile das galáxias
Guia do desenvolvedor mobile das galáxias
 
16
 16 16
16
 
Listado de precio mayo 14 2014
Listado de precio  mayo 14   2014 Listado de precio  mayo 14   2014
Listado de precio mayo 14 2014
 
Sensores
SensoresSensores
Sensores
 
La mujer y su familia
La mujer y su familiaLa mujer y su familia
La mujer y su familia
 
55
 55 55
55
 
Alimara
AlimaraAlimara
Alimara
 
Key
KeyKey
Key
 
Levelised Cost of Energy in Solar PV for Chilean Mining
Levelised Cost of Energy in Solar PV for Chilean MiningLevelised Cost of Energy in Solar PV for Chilean Mining
Levelised Cost of Energy in Solar PV for Chilean Mining
 
02 arangio s
02 arangio s02 arangio s
02 arangio s
 
EBJ-10 | Christmas Trees
EBJ-10 | Christmas TreesEBJ-10 | Christmas Trees
EBJ-10 | Christmas Trees
 
Cad Cam Cae
Cad Cam CaeCad Cam Cae
Cad Cam Cae
 
Evolucion Web 1.0 - 7.0
Evolucion Web 1.0 - 7.0Evolucion Web 1.0 - 7.0
Evolucion Web 1.0 - 7.0
 
1 001
1 0011 001
1 001
 
Els beneficis de la millora de la qualitat de l'aire en la salut - Jordi Sunyer
Els beneficis de la millora de la qualitat de l'aire en la salut - Jordi SunyerEls beneficis de la millora de la qualitat de l'aire en la salut - Jordi Sunyer
Els beneficis de la millora de la qualitat de l'aire en la salut - Jordi Sunyer
 
Evaluación pares hugo
Evaluación pares hugoEvaluación pares hugo
Evaluación pares hugo
 
23
2323
23
 
Mapa soleisy
Mapa soleisyMapa soleisy
Mapa soleisy
 

Ähnlich wie NoSQL Onde Vivem e Como se Alimentam ?

Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
Paulo Bischof
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQL
Otávio Calaça Xavier
 

Ähnlich wie NoSQL Onde Vivem e Como se Alimentam ? (20)

Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
 
Introdução a nosql - II SACIC
Introdução a nosql - II SACICIntrodução a nosql - II SACIC
Introdução a nosql - II SACIC
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
 
NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?
 
Pepe Legal Python e Babalu MongoDB, uma dupla dinâmica
Pepe Legal Python e Babalu MongoDB, uma dupla dinâmicaPepe Legal Python e Babalu MongoDB, uma dupla dinâmica
Pepe Legal Python e Babalu MongoDB, uma dupla dinâmica
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dados
 
Introdução ao NoSQL
Introdução ao NoSQLIntrodução ao NoSQL
Introdução ao NoSQL
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagem
 
Arquitetura de banco de dados
Arquitetura de banco de dadosArquitetura de banco de dados
Arquitetura de banco de dados
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
Big Query - Escalabilidade Infinita para os seus Dados
Big Query  - Escalabilidade Infinita para os seus DadosBig Query  - Escalabilidade Infinita para os seus Dados
Big Query - Escalabilidade Infinita para os seus Dados
 
Introdução ao NoSql
Introdução ao NoSqlIntrodução ao NoSql
Introdução ao NoSql
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQL
 
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLEstudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
 
Palestra Fatec
Palestra FatecPalestra Fatec
Palestra Fatec
 
Rails
RailsRails
Rails
 

Mehr von Alvaro Viebrantz

Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google Cloud
Alvaro Viebrantz
 

Mehr von Alvaro Viebrantz (20)

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdf
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Prototipação em hackathons
Prototipação em hackathonsPrototipação em hackathons
Prototipação em hackathons
 
Building REST APIs using gRPC and Go
Building REST APIs using gRPC and GoBuilding REST APIs using gRPC and Go
Building REST APIs using gRPC and Go
 
TinyML - IoT e Machine Learning
TinyML -  IoT e Machine LearningTinyML -  IoT e Machine Learning
TinyML - IoT e Machine Learning
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google Cloud
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google Cloud
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google Cloud
 
Edge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudEdge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google Cloud
 
Iniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudIniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google Cloud
 
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloConstruindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google Cloud
 
Construindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTConstruindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoT
 
Explorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoExplorando Go em Ambiente Embarcado
Explorando Go em Ambiente Embarcado
 
Soluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudSoluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google Cloud
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e Firebase
 
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
 

NoSQL Onde Vivem e Como se Alimentam ?

  • 1. NoSQL Onde vivem e Como se alimentam? AlvaroViebrantz "A DBA walks into a NoSQL bar, but turns and leaves because he could't find a Table." Webtonull
  • 2. Alvaro Viebrantz Analista de TI - Sefaz-MT ! Blog = ? ! alvarowolfx@gmail.com ! @alvinhuuu
  • 3. Afinal o que é NoSQL ? Pensamentos iniciais. NoSQL - OndeVivem e Como se Alimentam “Finalmente estou livre (de schema) !!!”
 Desenvolvedor que não curte ficar modelando tabelas. “É melhor que qualquer banco relacional !!! ”
 Desenvolvedor utilizando pela primeira vez MongoDB.
  • 4. Afinal o que é NoSQL ? Pensamentos iniciais. NoSQL - OndeVivem e Como se Alimentam “Mas que diabos é isso que está querendo acabar com meu emprego ?” DBA em sua zona de conforto. “NoSQL resolvem todos os problemas do mundo.” Eu, quando comecei a estudar NoSQL.
  • 5. O que é NoSQL então ? • Surgiu por conta da nova leva de aplicações que surgiram com a Web 2.0. • Modelos de dados diferenciado. • Grande quantidade de dados. • Distribuição de dados. • Escalabilidade. NoSQL - OndeVivem e Como se Alimentam Not Only SQL
  • 6. Trade offs • NoSQL • BASE • Consistencia Eventual • Modelo flexível ( Schemaless ) • Escalabilidade Horizontal • Disponibilidade NoSQL - OndeVivem e Como se Alimentam • SQL • ACID = Transações • Consistência Forte • Modelo rigido (Schema) • Escalabilidade Vertical X
  • 7. Primeiras Especies Encontradas NoSQL - OndeVivem e Como se Alimentam
  • 8. ! ‣ Onde foi encontrado ? ‣ Amazon ‣ Familia ‣ Orientado a Chave-Valor ‣ Aplicações ‣ Session ‣ Carrinho de compras ‣ Catalogo de Produtos ‣ Descendente ‣ Riak DynamoDB Primeiras Especies Encontradas NoSQL - OndeVivem e Como se Alimentam BigTable ‣ Onde foi encontrado ? ‣ Google ‣ Familia ‣ Orientado a Colunas ‣ Aplicações ‣ Analytics ‣ Email ‣ Maps ‣ Descendente ‣ HBase BigTable
  • 9. Familias principais de NoSQL NoSQL - OndeVivem e Como se Alimentam http://www.nosql-database.org/
  • 10. Familias principais de NoSQL NoSQL - OndeVivem e Como se Alimentam BigTable GraphKeyValue Store Document http://www.nosql-database.org/
  • 11. RelacionamentosModelos Agregados Familias principais de NoSQL NoSQL - OndeVivem e Como se Alimentam BigTable GraphKeyValue Store Document http://www.nosql-database.org/
  • 12. Familia Key-Value Store • Basicamente armazena qualquer coisa a partir de uma chave. • Completamente sem Schema (Schemaless) • Operações básicas • Get, Set, Delete • Outras operações especificas por implementação NoSQL - OndeVivem e Como se Alimentam
  • 13. Familia Key-Value Store • Basicamente armazena qualquer coisa a partir de uma chave. • Completamente sem Schema (Schemaless) • Operações básicas • Get, Set, Delete • Outras operações especificas por implementação NoSQL - OndeVivem e Como se Alimentam ValueKey eventos.meta. yolab.s03e01
  • 14. Redis Especie rara de Key-Value • Servidor de Estruturas de Dados • Listas, Filas, Conjuntos, etc… • Chaves podem ter tempo de expiração. • Chaves podem ser consultadas com wildcard. NoSQL - OndeVivem e Como se Alimentam
  • 15. Redis Especie rara de Key-Value • Servidor de Estruturas de Dados • Listas, Filas, Conjuntos, etc… • Chaves podem ter tempo de expiração. • Chaves podem ser consultadas com wildcard. NoSQL - OndeVivem e Como se Alimentam Aplicações Empresas Controle de Sessão Instagram Cache StackOverflow, Twitter e Instagram Filas de Processamento Github e Várias libs Contagem de Notificações Tumblr e Instagram
  • 16. Não tenha medo de usar • Empresa brasileira • Boo-Box • Empresa de publicidade em mídias sociais NoSQL - OndeVivem e Como se Alimentam http://www.slideshare.net/f_mafra/usando-redis-para-otimizar-o- sistema-boobox Aplicações Armazenamento de sessões de usuários Cache de produtos de terceiros Busca em catálogos de produtos de terceiros Validação de visualizações e clicks de produtos
  • 17. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay
  • 18. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay
  • 19. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay pages:{pageURLHash}:{userSession} 1h
  • 20. Redis Exemplo de aplicação • Mostrar em tempo-real usuários online vendo um produto/página nos últimos X minutos ou horas. • E-Commerce, Leilões, Compras Coletivas, etc. NoSQL - OndeVivem e Como se Alimentam Ebay pages:{pageURLHash}:{userSession} 1h pages:{pageURLHash}:* Quantidade de usuários na ultima hora.
  • 21. • Key-Value com um pouco mais de estrutura • Valor armazenado utiliza formatos como XML, JSON, BSON • Estrutura de documentos flexíveis. • Consultas por campos dos documentos. • Inserção de documentos e atualização de campos Familia Document Store NoSQL - OndeVivem e Como se Alimentam
  • 22. • Key-Value com um pouco mais de estrutura • Valor armazenado utiliza formatos como XML, JSON, BSON • Estrutura de documentos flexíveis. • Consultas por campos dos documentos. • Inserção de documentos e atualização de campos Familia Document Store NoSQL - OndeVivem e Como se Alimentam
  • 23. Familia Document Store NoSQL - OndeVivem e Como se Alimentam
  • 24. Aplicações • Agregados de dados, Desnormalização e Compatibilidade de Modelos NoSQL - OndeVivem e Como se Alimentam Produto id titulo valor Usuario id nome Endereco id descricao cidade_id usuario_id n1 Pedido id endereco_id usuario_id Item id produto_id pedido_id qtde valor n 1 n 1 n 1 n 1
  • 25. Aplicações • Agregados de dados, Desnormalização e Compatibilidade de Modelos NoSQL - OndeVivem e Como se Alimentam Produto id titulo valor Usuario id nome Endereco id descricao cidade_id usuario_id n1
  • 26. Case Brasileiro - globo.com • Utilizando MongoDB ao invés de MySQL em alguns projetos. • Porque ? • Performance • Administração simples e transparente • Principalmente modelo de dados NoSQL - OndeVivem e Como se Alimentam http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/
  • 27. Case Brasileiro - globo.com • Utilizando MongoDB ao invés de MySQL em alguns projetos. • Porque ? • Performance • Administração simples e transparente • Principalmente modelo de dados NoSQL - OndeVivem e Como se Alimentam Catalogo de videos Receitas (Duh!) http://www.gonow.com.br/blog/2011/07/29/o-mongodb-aplicado-ao-cartolafc-da-globo-com/ Mural
  • 28. Outras Aplicações • Logs de vários tipos • Real-time Analytics • Log de dados temporais • Visitas, Crash, Busca, etc NoSQL - OndeVivem e Como se Alimentam
  • 29. Outras Aplicações • Logs de vários tipos • Real-time Analytics • Log de dados temporais • Visitas, Crash, Busca, etc NoSQL - OndeVivem e Como se Alimentam Real-time Analytics para Apps moveis Logs de buscas Metadados Logs de atividades 
 (Login, pagamentos,etc) Alimentam o sistema de
 detecção de fraudes
  • 30. Familia Column Store Clones do BigTable • Bilhões de linhas x Milhões de colunas • Orientado a coluna x Orientado a linhas • Dados esparsos • Quantidade massiva de dados NoSQL - OndeVivem e Como se Alimentam Facebook Pai Twitter Contar coisas (Botão de Tweet) Netflix Distribuição por Região e Disponibilidade Facebook Messages Twitter Analytics Netflix Consistencia e Distribuição
  • 31. Familia Graph Store Foco em relacionamentos • Mas os banco relacionais não são feitos de relacionamentos ? • Custoso • Inserções comprometidas • Buscas Complexas • “Poucos dados” mas muitas ligações NoSQL - OndeVivem e Como se Alimentam
  • 32. Familia Graph Store Foco em relacionamentos • Mas os banco relacionais não são feitos de relacionamentos ? • Custoso • Inserções comprometidas • Buscas Complexas • “Poucos dados” mas muitas ligações NoSQL - OndeVivem e Como se Alimentam
  • 33. Familia Graph Store Funcionamento • Armazenamento de nós e seus arestas. • Teoria dos Grafos • Nós e arestas podem possuir atributos NoSQL - OndeVivem e Como se Alimentam Qual o Menor Caminho entre Cuiabá e Brasilia ?
  • 34. Familia Graph Store Aplicação • Recomendações em geral • Amigos em rede sociais NoSQL - OndeVivem e Como se Alimentam
  • 35. Familia Graph Store Aplicação • Recomendações em geral • Amigos em rede sociais NoSQL - OndeVivem e Como se Alimentam
  • 36. Paulo João Familia Graph Store Aplicação • Recomendações em geral • Amigos em rede sociais NoSQL - OndeVivem e Como se Alimentam João e Paulo são amigos ?
  • 37. Familia Graph Store Aplicação (continuação) • Recomendações em geral • Produtos baseados em compras passadas NoSQL - OndeVivem e Como se Alimentam
  • 38. Alvaro Familia Graph Store Aplicação (continuação) • Recomendações em geral • Produtos baseados em compras passadas NoSQL - OndeVivem e Como se Alimentam Alvaro gostaria de um produto que seus amigos também compraram ?
  • 39. Big Players NoSQL - OndeVivem e Como se Alimentam Analise de Impacto Logistica Detecção de Fraude Gerenciamento de Data Center Recomendação de Seguidores FlockDB
  • 40. Ecossistema Poliglota • Escolher a melhor ferramenta para o trabalho. • Nenhuma ferramenta deve resolver todos os problemas. NoSQL - OndeVivem e Como se Alimentam
  • 41. Ecossistema Poliglota • Escolher a melhor ferramenta para o trabalho. • Nenhuma ferramenta deve resolver todos os problemas. NoSQL - OndeVivem e Como se Alimentam X SQL NoSQL
  • 42. Persistencia Poliglota • Resolve problemas específicos • Torna possível novas formas de obtenção de dados e de valor no que o usuário produz. NoSQL - OndeVivem e Como se Alimentam Redis User Session MongoDB Catalogo Produtos RDBMS Financeiro Neo4J Recomen dações Dynamo Carrinho RDBMS Relatórios RDBMS Financeiro Cassandra Log
 Atividades
  • 43. NoSQL - OndeVivem e Como se Alimentam Perguntas e Respostas
  • 44. That`s all folks NoSQL - OndeVivem e Como se Alimentam Perguntas e Respostas