No sql no mundo da persistencia poliglota

608 visualizações

Publicada em

Palestra feita no TcheLinux novo hamburgo em 22 de agosto de 2015.
A apresentação mostra um pouco do NoSQL e sua historia alem de uma introdução a persistência poliglota.

Publicada em: Internet
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
608
No SlideShare
0
A partir de incorporações
0
Número de incorporações
17
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

No sql no mundo da persistencia poliglota

  1. 1. NoSQL no universo da Persistência Poliglota TCHÊLINUX- NOVO HAMBURGO
  2. 2. SOU O WALDEMAR NETO Me sigam nas redes sociais como @waldemarnt Meu blog é http://walde.co/ 2
  3. 3. UM POUCO MAIS SOBRE MIM ● Gaúcho de Pelotas ● Desenvolvedor a mais de 6 anos ● Focado em web/api’s ● Colaborador open-source ● Palestrante ● Blogueiro ● Colaborador do iMasters 3
  4. 4. ONDE EU TRABALHO Munich Pelotas Earlang Argentina CONRAD CAINE 4
  5. 5. NoSQL? Afinal, o que é? 5
  6. 6. Armazenamento rápido, de baixo custo, ao mesmo tempo robusto e escalável. 6
  7. 7. A NECESSIDADE FORÇA A EVOLUÇÃO 7
  8. 8. DIRETO NA NECESSIDADE A Criação de um novo conceito chamou a atenção da comunidade. 8
  9. 9. A REUNIÃO DA CÚPULA 11 de Junho de 2009, São Francisco - EUA Johan Oskarsson (Last.fm, Hadoop) 9
  10. 10. Uma hashtag, mil teorias 10
  11. 11. CARACTERÍSTICAS DE UM NoSQL ● Obviamente não usam SQL ● Normalmente open-souce ● Clusterização ● Sem schema definido ● Persistência poliglota 11
  12. 12. OS DIVERSOS TIPOS DE NoSQL ◇ Chave-valor cache ◇ Chave-valor armazenamento ◇ Servidor de armazenamento estruturado ◇ Orientado a documentos ◇ Armazenamento em colunas ◇ Banco de dados em graphos 12
  13. 13. CHAVE-VALOR CACHE 13
  14. 14. CHAVE-VALOR ARMAZENAMENTO Atlassian -RAMCloud 14
  15. 15. SERVIDOR DE ARMAZENAMENTO ESTRUTURADO 15
  16. 16. ORIENTADO A DOCUMENTOS 16
  17. 17. ARMAZENAMENTO EM COLUNAS 17
  18. 18. SAI RELAÇÃO ENTRA AGREGADOS USUÁRIO PRODUTOS CARRINHO PRODUTOS USUÁRIOS CARRINHO
  19. 19. TÁ, MAS E A MAGIA DO ESCALONAMENTO? 19
  20. 20. FLUXO DE DADOS EM BANCOS ORIENTADOS A DOCUMENTOS CLUSTER NODE1 NODE2 NODE3 SHARD1 SHARD3 SHARD2 SHARD2 SHARD3 SHARD1 20
  21. 21. MAS NÃO TEM SCHEMA? NÃO TEM TRANSAÇÕES, NÃO TEM RELACIONAMENTOS, COMO EU USO NA VIDA REAL? 21
  22. 22. PENSE NoSQL 22
  23. 23. SQL vs NoSQL ● Organização de tabelas estruturadas ● Schema pré-definido ● Tipos de campos pré- definidos ● Dificuldade de escalonamento horizontal ● Pouca replicação de dados ● Relacionamento e chaves ● Necessita um driver de interação ou interpreter ● Diferentes tipos de estrutura, normalmente usam uma chave como referência ● Schema indefinido e dinâmico ● Tipagem livre ● Criados para trabalhar em clusters e escalonamento horizontal ● Livres para replicação de dados ● Usam agregados e referências no lugar de relacionamentos e chaves ● Normalmente tem uma interface de interação e uma resposta Json 23
  24. 24. É, JSON É GLOBAL!!! 24
  25. 25. PENSE ORIENTADO A SERVIÇOS E MICRO SERVIÇOS 25
  26. 26. DESIGN ORIENTADO A DOMÍNIOS NA PRÁTICA 26
  27. 27. DIAGRAMA DE LOJA VIRTUAL COMUM PRODUTOS USUÁRIO CARRINHO COMPRAS PAGAMENTO 27
  28. 28. DIAGRAMA DE LOJA VIRTUAL ORIENTADO A SERVIÇOS PRODUTOS USUÁRIO PRODUTOS CARRINHO USUÁRIO PRODUTOS CARRINHO COMPRAS PAGAMENTO PAGAMENTO 28
  29. 29. FLUXO DE CASO DE USO DO DOMINIO PRODUTOS USUÁRIO COMPRAS PAGAMENTO 29
  30. 30. DICAS PARA A VIDA ● Replique dados ● Agrupe os recursos e relações ● Dependa o mínimo possível de outros recursos ● Oriente a micro serviços 30
  31. 31. NEM TUDO SÃO ROSAS - VAMOS FALAR DE PROBLEMAS? ● Persistência paralela ● Replicação de dados sem callback ● Demora de escalonamento e replicação ● Latência de rede na replicação 31
  32. 32. PERGUNTAS? Me encontrem em @waldemarnt waldemarnt@gmail.com http://walde.co/ 32
  33. 33. DICAS DE ESTUDO Livros: ◇ NoSQL Um guia Conciso para o Mundo Emergente da Persistência Poliglota (Pramond J. - Martin Fowler) ◇ Domain Driven Design - Atacando a complexidade no coração do software (Eric Evans) 33

×