SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
NoSQL Persistence
API
Wesley Fuchter
Orientação: Arlei C. Zomer
O que é NoSQL?
- Movimento de tecnologias
- Explosão de dados com internet
- Busca tratar uma grande massa de
dados com baixa latência
- Buscar o dado em apenas um local
- Não se preocupa com a duplicidade
- Não busca concorrer com o relacional
NoSQL com Java
- Falta de padronização
- Não há especificação de referência
- Poucas possibilidades de abstração
- Torna o desenvolvimento caro
- Dificulta a mudança de tecnologia
- Stack de frameworks muito específica
Exemplo
Criação de um registro no MongoDB usando o driver padrão
Responsabilidades
da Solução
- Estruturar camada de persistência para
diferentes bancos de dados NoSQL
- Mapear a modelagem orientada a
objetos
- Conectar a aplicação ao provedor de
banco de dados
API
- Prover funcionalidades específicas de
cada banco para a API
- Executar as operações delegadas pela
API
- Abstrair as funcionalidades específicas
de cada banco
Provedor
A arquitetura
JDBC
NPA
Recursos do
framework
- Mapear estrutura O.O
- Operações CRUD
- Geração de chave simples
- Definição do padrão DAO
- Validação de Dados
- Controle de Eventos
- Conversão de tipos específicos
- OneToOne e OneToMany
Vamos ao Código
Conclusão
- Alta complexidade técnica
- Desafio
- Projeto Possibilita diferentes tecnologias
NoSQL sem grande impacto na base de
código
- Grande aprendizado
- Reflexão Computacional
- Tópicos avançados de O.O
- NoSQL - MongoDB
Futuro
- Finalizar versão 1.0.0
- Projeto open-source
- Apresentação para a comunidade
- Desenvolvimento de novos provedores
- Implementação de mais recursos, como por
exemplo:
- Consultas com Critérios
- Integração com a Java EE
- Lazy Loading
“
Qualquer um pode escrever um código que o
computador entenda. Bons programadores
escrevem códigos que os humanos entendem.
(Martin Folwer)
Obrigado!
Aos professores - Arlei, Ismael, Johnny, Marcelo, Solange e Nacim
Aos amigos - João, Raphael e Welquer
Aos meus pais - Margarete e Luiz
A minha namorada - Kermelin

Mais conteúdo relacionado

Mais procurados

Introducao aos bancos_nao_relacionais_com_mongodb
Introducao aos bancos_nao_relacionais_com_mongodbIntroducao aos bancos_nao_relacionais_com_mongodb
Introducao aos bancos_nao_relacionais_com_mongodbFábio Theophilo
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)guestf4f70f
 
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Renato Groff
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloRenato Groff
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilAlexandre Araujo
 
Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?Adriano Righi
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017Renato Groff
 

Mais procurados (14)

Introducao aos bancos_nao_relacionais_com_mongodb
Introducao aos bancos_nao_relacionais_com_mongodbIntroducao aos bancos_nao_relacionais_com_mongodb
Introducao aos bancos_nao_relacionais_com_mongodb
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)
 
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
 
Banco de dados nas nuvens - aula 1
Banco de dados nas nuvens - aula 1Banco de dados nas nuvens - aula 1
Banco de dados nas nuvens - aula 1
 
Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 
Usando BDs NoSQL com Python
Usando BDs NoSQL com PythonUsando BDs NoSQL com Python
Usando BDs NoSQL com Python
 
Banco de dados nas nuvens - aula 3
Banco de dados nas nuvens - aula 3Banco de dados nas nuvens - aula 3
Banco de dados nas nuvens - aula 3
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São Paulo
 
NodeJS
NodeJSNodeJS
NodeJS
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
 
Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?Docker: Onde vivem? Do que se alimentam?
Docker: Onde vivem? Do que se alimentam?
 
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
 

Semelhante a NPA - NoSQL Persistence API

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 dadosNicolas Ibanheiz
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloRenato Groff
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosGlaucio Scheibel
 
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âmicaFATEC São José dos Campos
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
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 NoSQLOtávio Calaça Xavier
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dadoscris.finholdt
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Fernando Rizzato
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANOsmar Petry
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São PauloAzure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São PauloRenato Groff
 

Semelhante a NPA - NoSQL Persistence API (20)

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
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
 
Seminário - NoSQL
Seminário - NoSQLSeminário - NoSQL
Seminário - NoSQL
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Bancos de Dados Orientados a Objetos
Bancos de Dados Orientados a ObjetosBancos de Dados Orientados a Objetos
Bancos de Dados Orientados a Objetos
 
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
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
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
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dados
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Pos-QCon-BigData
Pos-QCon-BigDataPos-QCon-BigData
Pos-QCon-BigData
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC Introdução a NoSQL com MongoDB e FireDAC
Introdução a NoSQL com MongoDB e FireDAC
 
NoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEANNoSQL, MongoDB e MEAN
NoSQL, MongoDB e MEAN
 
Mongo db
Mongo dbMongo db
Mongo db
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São PauloAzure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
 
Mongopesl
MongopeslMongopesl
Mongopesl
 

NPA - NoSQL Persistence API

  • 2. O que é NoSQL?
  • 3. - Movimento de tecnologias - Explosão de dados com internet - Busca tratar uma grande massa de dados com baixa latência - Buscar o dado em apenas um local - Não se preocupa com a duplicidade - Não busca concorrer com o relacional
  • 5. - Falta de padronização - Não há especificação de referência - Poucas possibilidades de abstração - Torna o desenvolvimento caro - Dificulta a mudança de tecnologia - Stack de frameworks muito específica
  • 6. Exemplo Criação de um registro no MongoDB usando o driver padrão
  • 8. - Estruturar camada de persistência para diferentes bancos de dados NoSQL - Mapear a modelagem orientada a objetos - Conectar a aplicação ao provedor de banco de dados API
  • 9. - Prover funcionalidades específicas de cada banco para a API - Executar as operações delegadas pela API - Abstrair as funcionalidades específicas de cada banco Provedor
  • 13. - Mapear estrutura O.O - Operações CRUD - Geração de chave simples - Definição do padrão DAO - Validação de Dados - Controle de Eventos - Conversão de tipos específicos - OneToOne e OneToMany
  • 16. - Alta complexidade técnica - Desafio - Projeto Possibilita diferentes tecnologias NoSQL sem grande impacto na base de código - Grande aprendizado - Reflexão Computacional - Tópicos avançados de O.O - NoSQL - MongoDB
  • 18. - Finalizar versão 1.0.0 - Projeto open-source - Apresentação para a comunidade - Desenvolvimento de novos provedores - Implementação de mais recursos, como por exemplo: - Consultas com Critérios - Integração com a Java EE - Lazy Loading
  • 19. “ Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendem. (Martin Folwer)
  • 20. Obrigado! Aos professores - Arlei, Ismael, Johnny, Marcelo, Solange e Nacim Aos amigos - João, Raphael e Welquer Aos meus pais - Margarete e Luiz A minha namorada - Kermelin