no sql no mundo da persistencia poliglota
TRANSCRIPT
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
CARACTERÍSTICAS DE UM NoSQL
● Obviamente não usam SQL
● Normalmente open-souce● Clusterização● Sem schema definido● Persistência poliglota
11
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
FLUXO DE DADOS EM BANCOS ORIENTADOS A DOCUMENTOS
CLUSTER
NODE1 NODE2
NODE3
SHARD1
SHARD3
SHARD2SHARD2
SHARD3
SHARD1
20
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
DIAGRAMA DE LOJA VIRTUAL ORIENTADO A SERVIÇOS
PRODUTOS
USUÁRIO
PRODUTOS
CARRINHO USUÁRIO
PRODUTOS
CARRINHO
COMPRAS
PAGAMENTO
PAGAMENTO
28
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
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