SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
#NOSQL com Java
Otávio Santana
@otaviojava
http://www.java.net/blogs/otaviojava/
http://otaviosantana.blogspot.com.br/
Data Science
● Terra
● Ouro
● Petróleo
● Informação
● Big Data
● Empirical
● Theoretical
● Computational
● eScience
Data Science
Flu trends
Redes Sociais
Eleições
Big Data
• 3 Vs (Velocidade, variedade e
volume)
• Sem definição
NOSQL
Não apenas SQL
Conhecer o melhor
dos dois mundos
Uso específico
A.C.I.D. vs B.A.S.E
•
Atomicidade
•
Consistência
•
Isolamento
•
Durabilidade
Basicamente Avaliado
Soft-state
Eventualmente
persistente
SQL vs NOSQL
•
Driver
•
SQL ANSI
•
Transação
•
Alto custo de IO
•
Fácil troca de
Banco
•
Relacionamento
•
API
•
Não padronizado
•
Não Transação
•
Busca por chave
•
Difícil troca de Banco
•
Não relacionamento
Classificação
Arquitetura Armazenamento Estr. Dados
Chave-Valor
Documentos
Grafo
Família
de Colunas
Arquitetura Distribuída
Mestre Escravo P2P
A B C
mestre
Arquitetura Distribuída
Fragmentação Réplica
A
BD
C
ABCD
ABCD
ABCD
ABCD
Servidor com informações diferentes Servidor com as mesmas informações
CAP
•
Consistência
•
Disponibilidade
•
Partição
(tolerância)
•CA: Banco de dados Tradicionais
•CP: BigTable, HBase, MongoDB
•AP: Dynamo, Cassandra, Riak
•Porcentagem
Estrutura de Dados
Chave-valor
SQL Riak
Banco de Dados Cluster Riak
Tabela Bucket
Linha chave-valor
Chave Primária chave
Informações da sessão
Perfis de usuário
Carrinho de compras
Relacionamento
Transações complexas
Consulta por dados (não
chave)
Riak
• Possui transação
• Comunicação também via Rest
http://basho.com/riak/
Riak
• Não tem transação
• VectorClock
http://basho.com/riak/
Valor
Bucket
vectorClock
Riak
• Baixar riak
• sudo dpkg -i riak_1.4.7-1_amd64.deb
• Sudo gedit
/etc/pam.d/common-session
sudo
/gedit/etc/pam.d/common-session-no
ninteractive
session required pam_limits.so
http://basho.com/riak/
Riak
• Baixar riak
• sudo dpkg -i riak_1.4.7-1_amd64.deb
• Sudo gedit
/etc/pam.d/common-session
sudo gedit
/etc/pam.d/common-session-noninter
active
session required pam_limits.so
http://basho.com/riak/
Riak
• Sudo gedit /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
• Reiniciar a máquina
• Sudo riak start
http://basho.com/riak/
Livraria
•
Cadastro de Livro simples (CRUD)
•
Autor, título, página, corpo, ISBN
Carrinhos de compras

Criar uma interface para o usuário e
suas compras

O usuário terá suas informações
(e-mail ou nickname, endereço)

Além do seu carrinho de compras
(Produto, nome, valor, quantidade)

Valor total

tempo: 40 minutos
Session Server
há um maior consumo de
memória no lado servidor
Problemas com o back-button
do browser
clustering
baixo consumo de banda na
rede;
baixo consumo de memória no
cliente;
uso de cpu no servidor é baixo;
melhora comunição via AJAX
session session
request
Session Client
Alto consumo de banda da
rede;
Maior overhead de cpu no
servidor e cliente;
Maior consumo de memória
no lado cliente;
problemas de segurança;
menos memória do lado do
servidor
sem consumo de memória entre
requests
melhora escalabilidade da
aplicação
session
request
Session riak
session
request
Estrutura de Dados
Documentos
SQL MongoDB
Banco de Dados Instância
Tabela Coleção
Linha Documento
Chave Primária _id
CMS
Análise Web
Leitura em larga escala
Transações complexas
MongoDB
• Escrito C++
• Escrita full index
• Escritas Complexas
• Leitura de agregação
• Agregações
• Master Slave
• JSON
http://www.mongodb.org/
MongoDB
• Download
• Descompactar
• Criar aqui mongo.config dentro de
MONGO_HOMEbin
http://www.mongodb.org/
MongoDB
##store data here
• dbpath=/home/otaviojava/Ambiente/
nosql/mongodb/mongodb/data
##all output go here
• logpath=/home/otaviojava/Ambiente/
nosql/mongodb/mongodb/mongo.log
##log read and write operations
• diaglog=3
http://www.mongodb.org/
MongoDB
./mongod --config mongo.config
http://www.mongodb.org/
MongoDB
Realizar um simples CRUD para
pessoa
• Nome, nascimento, cpf
http://www.mongodb.org/
MongoDB
Realizar um simples CRUD para
usuarios
• Nome, login, senha, data inicio, data
final
http://www.mongodb.org/
MongoDB
Medidor de temperatura
Objetivo é saber a temperatura de uma
determinada cidade, essas informações
são repassadas todos os dias no
período de maior ociosidade
computacional, madrugada. Caso existe
uma atualização é atualizado o número
da versão. Essa informação vai para
vários sites, mídias, etc.
http://www.mongodb.org/
MongoDB
• Informações da temperatura
• cidade, temperatura, dia, atualizacao
• Inserir uma cidade temperatura
• Saber a média da cidade
http://www.mongodb.org/
Escrita
request
Leitura
request
Estrutura de Dados
Família de Colunas
SQL Cassandra
Banco de Dados KeySpace
Tabela Família de Colunas
Linha Linha
Chave Primária chave
Registrado de Evento (log)
CMS
Contadores (categorizar)
Escrita Complexa
Transações
ACID
Relação
Leitura complexa (SUM,
AVG, etc.)
Cassandra
• Família de Colunas
• P2P
• Feito em Java
• Tolerância a falhas
• Escalabilidade
• índices
cassandra.apache.org
Cassandra
• CQL – Cassandra Query Language
• Map
• List
• Set
• Atualizar vs Inserir
• Não existe relação
• Views materializadas!?!?
cassandra.apache.org
Cassandra
• Download
• Descompactar
• Cd CASSANDRA_HOMEbin
• ./cassandra -f
cassandra.apache.org
Cassandra
Crie um programa que envie
mensagens, elas deverão ser
enviadas a partir de um usuário.
• A ideia é que se busque pelo usuário
e pelo código da mensagem.
• Nome, mensagem, id, data envio
cassandra.apache.org
Cassandra
Medidor de temperatura
Objetivo é saber a temperatura de uma
determinada cidade, essas informações
são repassadas todos os minutos. Essa
informação vai para vários sites,
mídias, etc.
cassandra.apache.org
Cassandra
• Informações da temperatura
• cidade, temperatura, dia, atualizacao
• Inserir uma cidade temperatura
• Saber a média da cidade
cassandra.apache.org
Cassandra
Medidor de temperatura
Objetivo é saber a temperatura de uma
determinada cidade, essas informações
são repassadas todos os dias no
período de maior ociosidade
computacional, madrugada. Caso existe
uma atualização é atualizado o número
da versão. Essa informação vai para
vários sites, mídias, etc.
cassandra.apache.org
Cassandra
Gossip
Nível de
consistência
Leitura e Escrita
ANY
ONE
LOCAL_QUORUM
EACH_QOURUM
ALL
Disponibilidade
Consistência
Cassandra
Commit log
Memtable
SSTable
request
Commit logMemtable
SSTable
escrever (k1, c1:v1)
escrever (k2, c1:v1 C2:v2)
escrever (k1, c1:v4 c3:v3 c2:v2)
k1 c1:v4 c2:v2 c3:v3
k2 c1:v1 c2:v2 k1, c1:v1
k2, c1:v1 C2:v2
k1, c1:v4 c3:v3 c2:v2
k1 c1:v4 c2:v2 c3:v3
k2 c1:v1 c2:v2
•Distribuição e réplica
Distribuição e réplica:
Ocorrem ao mesmo tempo
A primeira inserção é baseado na chave
Particionador Define
Segunda cópia réplica
Jim Carro: Camaro Idade: 32
carol Cor: rosa
Suzy Time: Bahia
Jim 1
carol 3
Suzy 15
rowkey
rowkey Partitioner
A[0-3]
B[4-8]
C[9-13]
D[14-18]
•Partitioner
Partitioner: determina como será distribuído as informações
através dos nós.
Hash da Chave
Murmur3Partitioner(default)
RandomPartitioner (MD5)
ByteOrderedPartitioner (não recomendado)
Jim -2245462676723223822
carol 7723358927203680754
Suzy 1168604627387940318
rowkey Murmur3 Partitioner
• Replica placement
strategy
Replica placement strategy: define como será realiza as
cópias (réplicas da informação)
Fator de réplica: Define a unidade de nós que serão copiados
SimpleStrategy: usa apenas um único datacenter.
NetworkTopologyStrategy: para mais de um datacenter,
recomendados para uma tendência de crescimento futura.
Estrutura de Dados
Grafos
Redes sociais (Dados conectados)
Mecanimos de recomendação
Transações complexas
Não Grafos
Neo4J
• Possui transação
• Possui relacionamento
• API em rest
• Cypher Query Language
• Feito em Java
• Master Slave
• Master o mais antigo
• Eleição automática
http://www.neo4j.org
Neo4J
• Baixar Neo4J
• Descompactar
• Entrar em NEO4J_HOME/bin
• ./neo4j start
http://www.neo4j.org
Neo4J http://www.neo4j.org
Nome: Homem
Nome: Leão
Nome: raposa
Nome: rato
•Desenhar cadeia alimentar
•Imprimira relação entre os animais
• Exibir os animais que comem
alguém
Neo4J http://www.neo4j.org
Nome: Jonh
Nome: JoeNome: Sara
Nome: SteveNome: Maria
●Desenhar cadeia de amizade
●Informar os amigos
●Informar os amigos dos amigos
de Jonh
Neo4J http://www.neo4j.org
Nome: Otávio
Ling: Java
Idade: 25
Nome: Bruno
Ling: Java
Idade: 42
Nome: Márcio
Ling: PHP
Idade: 32
Nome: Luiz
Ling: Python
Idade: 30
Nome: Maurício
Ling: Python
Idade: 26
Nome: Edson
Ling: Java
Idade: 30
Nome: Marlon
Ling: Ruby
28
Desenhar as relações
Otávio precisa de amigos, indique a partir da proximidade
Outras formas
Sistema de Arquivos
Banco XML
Banco de Dados OO
solução
problema
Lucene
Realizar buscas é um ponto fraco na
maiorias dos Bancos NoSQL e pode
ser nos tradicionais quando se trata
de um texto muito grande.
http://lucene.apache.org/
Lucene
• Roda com um heap pequeno – 1MB
• Executa com grande volume
• Alto desempenho com indexação
• Eficientes algoritmos de busca
• Feito em Java
• Configurável – Memória ou HD
http://lucene.apache.org/
Lucene
• Cadastrar as músicas
• A ideia é buscar a música a partir da
letra ou o nome do autor.
http://lucene.apache.org/
Lucene
Conteúdo do linguágil
• Cadastrar a minibiografia, título,
descrição, nome do autor
• Permitir a busca pela minibiografia e
descrição, buscar pelo “nome exato”.
http://lucene.apache.org/
Hadoop
•Hadoop Common
•Hadoop Distributed File System (HDFS™)
•Hadoop YARN
•Hadoop MapReduce
•Ambari™
•Avro™
•Cassandra™
•Chukwa™
•HBase™
•Hive™
•Mahout™
•Pig™
•ZooKeeper™
Hadoop
●Usando o Map Reduce
●1: Map(k1,v1) → list(k2,v2)
●Chave e lista de Valores
●2: Reduce(k2, list (v2)) → list(v3)
DataGrid
● Cache em múltiplos servidores
● Chave valor
● Velocidade
Leitura Escrita
0
5000
10000
15000
20000
25000
Velocidade dos Dispositivos
Leitura em MB/s
SSD PCI Express
SSD SATA
SATA HDD 10,000
DDR3-2500
fonte: http://highscalability.com/
DataGrid
●Bélády's Algorithm: O ambiente perfeito
●Least Recently Used (LRU): Remove o menos
recente usado
●Most Recently Used (MRU): Removo o mais
recente usado
●Pseudo-LRU (LRU): LRU com proabilidade
DataGrid
●Random Replacement (RR): Remove aleatória
●Segmented LRU (SLRU): LRU em segmentos
●Low Inter-reference Recency Set (LIRS): Novo
LRU
●Least Frequently Used (LFU): Remove o
menos utilizado (contador)
●Adaptive Replacement Cache (ARC): LRU e
LFU
#Obrigado
Otávio Santana
@otaviojava
http://www.java.net/blogs/otaviojava/
http://otaviosantana.blogspot.com.br/

Más contenido relacionado

Destacado

Workflows científicos
Workflows científicosWorkflows científicos
Workflows científicosElaine Naomi
 
Big Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMGBig Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMGPetronio Candido
 
Lean e Data Science para levar o turismo brasileiro a outro patamar
Lean e Data Science para levar o turismo brasileiro a outro patamarLean e Data Science para levar o turismo brasileiro a outro patamar
Lean e Data Science para levar o turismo brasileiro a outro patamarBruno Luiz Pereira da Silva
 
Introdução a data science
Introdução a data scienceIntrodução a data science
Introdução a data scienceCaio Gomes
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra Otávio Santana
 
Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Otávio Santana
 

Destacado (7)

Workflows científicos
Workflows científicosWorkflows científicos
Workflows científicos
 
Big Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMGBig Data e Data Science: admirável mundo novo - IV SIC IFNMG
Big Data e Data Science: admirável mundo novo - IV SIC IFNMG
 
Lean e Data Science para levar o turismo brasileiro a outro patamar
Lean e Data Science para levar o turismo brasileiro a outro patamarLean e Data Science para levar o turismo brasileiro a outro patamar
Lean e Data Science para levar o turismo brasileiro a outro patamar
 
Introdução a data science
Introdução a data scienceIntrodução a data science
Introdução a data science
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra
 
Cassandra db
Cassandra dbCassandra db
Cassandra db
 
Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra) Bancos orientados a colunas (Cassandra)
Bancos orientados a colunas (Cassandra)
 

Similar a Nosql4java

Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]Otávio Santana
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Miguel Gallardo
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordtchandy
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBRodrigo Hjort
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018Renato Groff
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slidesSuissa
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesSuissa
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOLAllisson Azevedo
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupAndré Cruz
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISMario Guedes
 

Similar a Nosql4java (20)

Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Boas práticas de API Design
Boas práticas de API DesignBoas práticas de API Design
Boas práticas de API Design
 
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
 
Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slides
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slides
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Palestra CouchDB III ENSOL
Palestra CouchDB III ENSOLPalestra CouchDB III ENSOL
Palestra CouchDB III ENSOL
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon Meetup
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 

Más de Otávio Santana

NoSQL design pitfalls with Java
NoSQL design pitfalls with JavaNoSQL design pitfalls with Java
NoSQL design pitfalls with JavaOtávio Santana
 
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.Otávio Santana
 
Architecting Cloud Computing Solutions with Java [1.1]
Architecting Cloud Computing Solutions with Java [1.1]Architecting Cloud Computing Solutions with Java [1.1]
Architecting Cloud Computing Solutions with Java [1.1]Otávio Santana
 
Arquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com JavaArquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com JavaOtávio Santana
 
Build, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endBuild, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endOtávio Santana
 
Jakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
Jakarta NoSQL: Meet the first Jakarta EE specification in the CloudJakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
Jakarta NoSQL: Meet the first Jakarta EE specification in the CloudOtávio Santana
 
ORMs: Heroes or Villains Inside the Architecture?
ORMs: Heroes or Villains Inside the Architecture?ORMs: Heroes or Villains Inside the Architecture?
ORMs: Heroes or Villains Inside the Architecture?Otávio Santana
 
Jakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud AgeJakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud AgeOtávio Santana
 
Boost your APIs with GraphQL 1.0
Boost your APIs with GraphQL 1.0Boost your APIs with GraphQL 1.0
Boost your APIs with GraphQL 1.0Otávio Santana
 
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Otávio Santana
 
Let’s Make Graph Databases Fun Again with Java [DEV6043]
Let’s Make Graph Databases Fun Again with Java [DEV6043]Let’s Make Graph Databases Fun Again with Java [DEV6043]
Let’s Make Graph Databases Fun Again with Java [DEV6043]Otávio Santana
 
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]Otávio Santana
 
The new generation of data persistence with graph
The new generation of data persistence with graphThe new generation of data persistence with graph
The new generation of data persistence with graphOtávio Santana
 
Eclipse JNoSQL updates from JCP September 11
Eclipse JNoSQL updates from JCP September 11Eclipse JNoSQL updates from JCP September 11
Eclipse JNoSQL updates from JCP September 11Otávio Santana
 
Stateless Microservice Security via JWT and MicroProfile - Guatemala
Stateless Microservice Security via JWT and MicroProfile - GuatemalaStateless Microservice Security via JWT and MicroProfile - Guatemala
Stateless Microservice Security via JWT and MicroProfile - GuatemalaOtávio Santana
 
Stateless Microservice Security via JWT and MicroProfile - Mexico
Stateless Microservice Security via JWT and MicroProfile - MexicoStateless Microservice Security via JWT and MicroProfile - Mexico
Stateless Microservice Security via JWT and MicroProfile - MexicoOtávio Santana
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabaseEclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabaseOtávio Santana
 
Management 3.0 and open source
Management 3.0 and open sourceManagement 3.0 and open source
Management 3.0 and open sourceOtávio Santana
 
Building a Recommendation Engine with Java EE
Building a Recommendation Engine with Java EEBuilding a Recommendation Engine with Java EE
Building a Recommendation Engine with Java EEOtávio Santana
 

Más de Otávio Santana (20)

NoSQL design pitfalls with Java
NoSQL design pitfalls with JavaNoSQL design pitfalls with Java
NoSQL design pitfalls with Java
 
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
 
Architecting Cloud Computing Solutions with Java [1.1]
Architecting Cloud Computing Solutions with Java [1.1]Architecting Cloud Computing Solutions with Java [1.1]
Architecting Cloud Computing Solutions with Java [1.1]
 
Arquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com JavaArquitetando soluções de computação em nuvem com Java
Arquitetando soluções de computação em nuvem com Java
 
Build, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endBuild, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to end
 
Jakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
Jakarta NoSQL: Meet the first Jakarta EE specification in the CloudJakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
Jakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
 
ORMs: Heroes or Villains Inside the Architecture?
ORMs: Heroes or Villains Inside the Architecture?ORMs: Heroes or Villains Inside the Architecture?
ORMs: Heroes or Villains Inside the Architecture?
 
Jakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud AgeJakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud Age
 
Boost your APIs with GraphQL 1.0
Boost your APIs with GraphQL 1.0Boost your APIs with GraphQL 1.0
Boost your APIs with GraphQL 1.0
 
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
 
Let’s Make Graph Databases Fun Again with Java [DEV6043]
Let’s Make Graph Databases Fun Again with Java [DEV6043]Let’s Make Graph Databases Fun Again with Java [DEV6043]
Let’s Make Graph Databases Fun Again with Java [DEV6043]
 
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
 
The new generation of data persistence with graph
The new generation of data persistence with graphThe new generation of data persistence with graph
The new generation of data persistence with graph
 
Eclipse JNoSQL updates from JCP September 11
Eclipse JNoSQL updates from JCP September 11Eclipse JNoSQL updates from JCP September 11
Eclipse JNoSQL updates from JCP September 11
 
Stateless Microservice Security via JWT and MicroProfile - Guatemala
Stateless Microservice Security via JWT and MicroProfile - GuatemalaStateless Microservice Security via JWT and MicroProfile - Guatemala
Stateless Microservice Security via JWT and MicroProfile - Guatemala
 
Stateless Microservice Security via JWT and MicroProfile - Mexico
Stateless Microservice Security via JWT and MicroProfile - MexicoStateless Microservice Security via JWT and MicroProfile - Mexico
Stateless Microservice Security via JWT and MicroProfile - Mexico
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabaseEclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
 
Polyglot persistence
Polyglot persistencePolyglot persistence
Polyglot persistence
 
Management 3.0 and open source
Management 3.0 and open sourceManagement 3.0 and open source
Management 3.0 and open source
 
Building a Recommendation Engine with Java EE
Building a Recommendation Engine with Java EEBuilding a Recommendation Engine with Java EE
Building a Recommendation Engine with Java EE
 

Nosql4java