Top Banner
NoSQL no universo da Persistência Poliglota TCHÊLINUX- NOVO HAMBURGO
33

No sql no mundo da persistencia poliglota

Apr 15, 2017

Download

Internet

Waldemar Neto
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: No sql no mundo da persistencia poliglota

NoSQL no universo da Persistência Poliglota

TCHÊLINUX- NOVO HAMBURGO

Page 2: No sql no mundo da persistencia poliglota

SOU O WALDEMAR NETOMe sigam nas redes sociais como @waldemarntMeu blog é http://walde.co/

2

Page 3: No sql no mundo da persistencia poliglota

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

Page 4: No sql no mundo da persistencia poliglota

ONDE EU TRABALHO

Munich

Pelotas

Earlang

Argentina

CONRAD CAINE

4

Page 5: No sql no mundo da persistencia poliglota

NoSQL?Afinal, o que é?

5

Page 6: No sql no mundo da persistencia poliglota

Armazenamento rápido, de baixo custo, ao mesmo tempo robusto e escalável.

6

Page 7: No sql no mundo da persistencia poliglota

A NECESSIDADE FORÇA A EVOLUÇÃO

7

Page 8: No sql no mundo da persistencia poliglota

DIRETO NA NECESSIDADEA Criação de um novo conceito chamou a atenção da comunidade.

8

Page 9: No sql no mundo da persistencia poliglota

A REUNIÃO DA CÚPULA11 de Junho de 2009, São Francisco - EUA

Johan Oskarsson (Last.fm, Hadoop)

9

Page 10: No sql no mundo da persistencia poliglota

Uma hashtag, mil teorias

10

Page 11: No sql no mundo da persistencia poliglota

CARACTERÍSTICAS DE UM NoSQL

● Obviamente não usam SQL

● Normalmente open-souce● Clusterização● Sem schema definido● Persistência poliglota

11

Page 12: No sql no mundo da persistencia poliglota

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

Page 13: No sql no mundo da persistencia poliglota

CHAVE-VALOR CACHE

13

Page 14: No sql no mundo da persistencia poliglota

CHAVE-VALOR ARMAZENAMENTO

Atlassian -RAMCloud

14

Page 15: No sql no mundo da persistencia poliglota

SERVIDOR DE ARMAZENAMENTO ESTRUTURADO

15

Page 16: No sql no mundo da persistencia poliglota

ORIENTADO A DOCUMENTOS

16

Page 17: No sql no mundo da persistencia poliglota

ARMAZENAMENTO EM COLUNAS

17

Page 18: No sql no mundo da persistencia poliglota

SAI RELAÇÃO ENTRA AGREGADOS

USUÁRIO

PRODUTOS

CARRINHOPRODUTOS USUÁRIOS

CARRINHO

Page 19: No sql no mundo da persistencia poliglota

TÁ, MAS E A MAGIA DOESCALONAMENTO?

19

Page 20: No sql no mundo da persistencia poliglota

FLUXO DE DADOS EM BANCOS ORIENTADOS A DOCUMENTOS

CLUSTER

NODE1 NODE2

NODE3

SHARD1

SHARD3

SHARD2SHARD2

SHARD3

SHARD1

20

Page 21: No sql no mundo da persistencia poliglota

MAS NÃO TEM SCHEMA? NÃO TEM TRANSAÇÕES, NÃO TEM RELACIONAMENTOS, COMO EU USO NA VIDA REAL?

21

Page 22: No sql no mundo da persistencia poliglota

PENSE NoSQL

22

Page 23: No sql no mundo da persistencia poliglota

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

Page 24: No sql no mundo da persistencia poliglota

É, JSON É GLOBAL!!!

24

Page 25: No sql no mundo da persistencia poliglota

PENSE ORIENTADO A SERVIÇOS E MICRO SERVIÇOS

25

Page 26: No sql no mundo da persistencia poliglota

DESIGN ORIENTADO A DOMÍNIOS NA PRÁTICA

26

Page 27: No sql no mundo da persistencia poliglota

DIAGRAMA DE LOJA VIRTUAL COMUM

PRODUTOS USUÁRIO

CARRINHO COMPRAS PAGAMENTO

27

Page 28: No sql no mundo da persistencia poliglota

DIAGRAMA DE LOJA VIRTUAL ORIENTADO A SERVIÇOS

PRODUTOS

USUÁRIO

PRODUTOS

CARRINHO USUÁRIO

PRODUTOS

CARRINHO

COMPRAS

PAGAMENTO

PAGAMENTO

28

Page 29: No sql no mundo da persistencia poliglota

FLUXO DE CASO DE USO DO DOMINIO

PRODUTOS USUÁRIO

COMPRAS PAGAMENTO

29

Page 30: No sql no mundo da persistencia poliglota

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

Page 31: No sql no mundo da persistencia poliglota

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

Page 32: No sql no mundo da persistencia poliglota

PERGUNTAS?

Me encontrem em@[email protected]://walde.co/

32

Page 33: No sql no mundo da persistencia poliglota

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