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.
2. SOU O WALDEMAR NETO
Me sigam nas redes sociais como @waldemarnt
Meu blog é http://walde.co/
2
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
11. CARACTERÍSTICAS DE UM NoSQL
● Obviamente não usam
SQL
● Normalmente open-souce
● Clusterização
● Sem schema definido
● Persistência poliglota
11
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
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
27. DIAGRAMA DE LOJA VIRTUAL COMUM
PRODUTOS USUÁRIO
CARRINHO COMPRAS PAGAMENTO
27
28. DIAGRAMA DE LOJA VIRTUAL ORIENTADO A SERVIÇOS
PRODUTOS
USUÁRIO
PRODUTOS
CARRINHO USUÁRIO
PRODUTOS
CARRINHO
COMPRAS
PAGAMENTO
PAGAMENTO
28
29. FLUXO DE CASO DE USO DO DOMINIO
PRODUTOS USUÁRIO
COMPRAS PAGAMENTO
29
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. 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
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