Enviar pesquisa
Carregar
NoSQL e CAP
•
0 gostou
•
293 visualizações
L
leonardobcordeiro
Seguir
Palestra na III Jorcom da UEZO sobre NoSQL e CAP
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 236
Baixar agora
Baixar para ler offline
Recomendados
CSRF e OAuth2
CSRF e OAuth2
leonardobcordeiro
SaaS - uma introdução
SaaS - uma introdução
Will Sertório
E Commerce Curso V.2
E Commerce Curso V.2
Oto Burégio
Projeto E-Commerce Brasil 2012
Projeto E-Commerce Brasil 2012
E-Commerce Brasil
O mundo do e commerce visto pela ótica do PHP
O mundo do e commerce visto pela ótica do PHP
Paulo Victor Gomes
E Commerce Curso V.2
E Commerce Curso V.2
oburegio
E-commerce - Tipos de Plataforma e Modelos de Negócio
E-commerce - Tipos de Plataforma e Modelos de Negócio
Ricardo Marsili
E04 ll05
E04 ll05
Textile Creative
Recomendados
CSRF e OAuth2
CSRF e OAuth2
leonardobcordeiro
SaaS - uma introdução
SaaS - uma introdução
Will Sertório
E Commerce Curso V.2
E Commerce Curso V.2
Oto Burégio
Projeto E-Commerce Brasil 2012
Projeto E-Commerce Brasil 2012
E-Commerce Brasil
O mundo do e commerce visto pela ótica do PHP
O mundo do e commerce visto pela ótica do PHP
Paulo Victor Gomes
E Commerce Curso V.2
E Commerce Curso V.2
oburegio
E-commerce - Tipos de Plataforma e Modelos de Negócio
E-commerce - Tipos de Plataforma e Modelos de Negócio
Ricardo Marsili
E04 ll05
E04 ll05
Textile Creative
A explosão do e-commerce
A explosão do e-commerce
Alexandre Soncini
SEO - Relatório On Page - Otimização
SEO - Relatório On Page - Otimização
Renato Bongiorno Bonfanti
Workshop VTEX - Como aumentar a taxa de conversão da sua loja virtual
Workshop VTEX - Como aumentar a taxa de conversão da sua loja virtual
Alexandre Soncini
Data science e os físicos
Data science e os físicos
Caio Gomes
Apresentação W21 2009
Apresentação W21 2009
mauroradomile
Marketplace Conference 2018 - Ampliando o marketplace para as lojas físicas -...
Marketplace Conference 2018 - Ampliando o marketplace para as lojas físicas -...
E-Commerce Brasil
Introdução a data science
Introdução a data science
Caio Gomes
Startup
Startup
Waldyr Felix
Workshop sobre Market Place
Workshop sobre Market Place
Laboratorium
Interaje 2011 - Sobre o Empreendimento de Ruby no Brasil
Interaje 2011 - Sobre o Empreendimento de Ruby no Brasil
Fabio Akita
Chleba Agência Digital Líder em Comércio Eletrônico - Webstore
Chleba Agência Digital Líder em Comércio Eletrônico - Webstore
Chleba Agência Digital
Produtividade e Qualidade
Produtividade e Qualidade
Fernanda Paola Butarelli
"Como iniciar e promover seu e commerce com a Plataforma JET ONE"
"Como iniciar e promover seu e commerce com a Plataforma JET ONE"
JET e-Commerce
Não fique preso a apenas uma arquitetura
Não fique preso a apenas uma arquitetura
rafaelmueller
Marketing Educacional e Gestão Comercial - Geduc 2010
Marketing Educacional e Gestão Comercial - Geduc 2010
Rafael Villas Boas Albergaria
Fast start tv b#1 p9_tela_modelo_negocio
Fast start tv b#1 p9_tela_modelo_negocio
fabricastartups
Planejamento de negócios Inovadores e tendências no e-commerce
Planejamento de negócios Inovadores e tendências no e-commerce
Laboratorium
Slide do artigo proposta de e-commerce de venda de ingressos online no interi...
Slide do artigo proposta de e-commerce de venda de ingressos online no interi...
Teeh Amaral
SEBRAE - André Tavares - Crescimento do Comércio Eletrônico baseado no Mercad...
SEBRAE - André Tavares - Crescimento do Comércio Eletrônico baseado no Mercad...
Innersite
iMasters DevCommerce 2016 - A difícil tarefa de ser TI numa empresa de varejo...
iMasters DevCommerce 2016 - A difícil tarefa de ser TI numa empresa de varejo...
Leonardo "Hackin" Freire
Mais conteúdo relacionado
Semelhante a NoSQL e CAP
A explosão do e-commerce
A explosão do e-commerce
Alexandre Soncini
SEO - Relatório On Page - Otimização
SEO - Relatório On Page - Otimização
Renato Bongiorno Bonfanti
Workshop VTEX - Como aumentar a taxa de conversão da sua loja virtual
Workshop VTEX - Como aumentar a taxa de conversão da sua loja virtual
Alexandre Soncini
Data science e os físicos
Data science e os físicos
Caio Gomes
Apresentação W21 2009
Apresentação W21 2009
mauroradomile
Marketplace Conference 2018 - Ampliando o marketplace para as lojas físicas -...
Marketplace Conference 2018 - Ampliando o marketplace para as lojas físicas -...
E-Commerce Brasil
Introdução a data science
Introdução a data science
Caio Gomes
Startup
Startup
Waldyr Felix
Workshop sobre Market Place
Workshop sobre Market Place
Laboratorium
Interaje 2011 - Sobre o Empreendimento de Ruby no Brasil
Interaje 2011 - Sobre o Empreendimento de Ruby no Brasil
Fabio Akita
Chleba Agência Digital Líder em Comércio Eletrônico - Webstore
Chleba Agência Digital Líder em Comércio Eletrônico - Webstore
Chleba Agência Digital
Produtividade e Qualidade
Produtividade e Qualidade
Fernanda Paola Butarelli
"Como iniciar e promover seu e commerce com a Plataforma JET ONE"
"Como iniciar e promover seu e commerce com a Plataforma JET ONE"
JET e-Commerce
Não fique preso a apenas uma arquitetura
Não fique preso a apenas uma arquitetura
rafaelmueller
Marketing Educacional e Gestão Comercial - Geduc 2010
Marketing Educacional e Gestão Comercial - Geduc 2010
Rafael Villas Boas Albergaria
Fast start tv b#1 p9_tela_modelo_negocio
Fast start tv b#1 p9_tela_modelo_negocio
fabricastartups
Planejamento de negócios Inovadores e tendências no e-commerce
Planejamento de negócios Inovadores e tendências no e-commerce
Laboratorium
Slide do artigo proposta de e-commerce de venda de ingressos online no interi...
Slide do artigo proposta de e-commerce de venda de ingressos online no interi...
Teeh Amaral
SEBRAE - André Tavares - Crescimento do Comércio Eletrônico baseado no Mercad...
SEBRAE - André Tavares - Crescimento do Comércio Eletrônico baseado no Mercad...
Innersite
iMasters DevCommerce 2016 - A difícil tarefa de ser TI numa empresa de varejo...
iMasters DevCommerce 2016 - A difícil tarefa de ser TI numa empresa de varejo...
Leonardo "Hackin" Freire
Semelhante a NoSQL e CAP
(20)
A explosão do e-commerce
A explosão do e-commerce
SEO - Relatório On Page - Otimização
SEO - Relatório On Page - Otimização
Workshop VTEX - Como aumentar a taxa de conversão da sua loja virtual
Workshop VTEX - Como aumentar a taxa de conversão da sua loja virtual
Data science e os físicos
Data science e os físicos
Apresentação W21 2009
Apresentação W21 2009
Marketplace Conference 2018 - Ampliando o marketplace para as lojas físicas -...
Marketplace Conference 2018 - Ampliando o marketplace para as lojas físicas -...
Introdução a data science
Introdução a data science
Startup
Startup
Workshop sobre Market Place
Workshop sobre Market Place
Interaje 2011 - Sobre o Empreendimento de Ruby no Brasil
Interaje 2011 - Sobre o Empreendimento de Ruby no Brasil
Chleba Agência Digital Líder em Comércio Eletrônico - Webstore
Chleba Agência Digital Líder em Comércio Eletrônico - Webstore
Produtividade e Qualidade
Produtividade e Qualidade
"Como iniciar e promover seu e commerce com a Plataforma JET ONE"
"Como iniciar e promover seu e commerce com a Plataforma JET ONE"
Não fique preso a apenas uma arquitetura
Não fique preso a apenas uma arquitetura
Marketing Educacional e Gestão Comercial - Geduc 2010
Marketing Educacional e Gestão Comercial - Geduc 2010
Fast start tv b#1 p9_tela_modelo_negocio
Fast start tv b#1 p9_tela_modelo_negocio
Planejamento de negócios Inovadores e tendências no e-commerce
Planejamento de negócios Inovadores e tendências no e-commerce
Slide do artigo proposta de e-commerce de venda de ingressos online no interi...
Slide do artigo proposta de e-commerce de venda de ingressos online no interi...
SEBRAE - André Tavares - Crescimento do Comércio Eletrônico baseado no Mercad...
SEBRAE - André Tavares - Crescimento do Comércio Eletrônico baseado no Mercad...
iMasters DevCommerce 2016 - A difícil tarefa de ser TI numa empresa de varejo...
iMasters DevCommerce 2016 - A difícil tarefa de ser TI numa empresa de varejo...
NoSQL e CAP
1.
TRADE-OFF'S DE CONFIABILIDADE E DISPONIBILIDADE COM
BANCOS DE DADOS NOSQL
2.
3.
NoSQL?
4.
Como representar dados?
5.
Modelo Relacional
6.
Modelo Relacional RelaçõesSuplas Tuplas
7.
Modelo Relacional TabelasLinhas
8.
Modelo Relacional Relacionamentos
9.
Modelo Relacional Alunos ID Nome
Idade 1 Leonardo 20 2 Carlos 18 3 Bruno 30 4 José 19
10.
Modelo Relacional Alunos ID Nome
Idade 1 Leonardo 20 2 Carlos 18 3 Bruno 30 4 José 19 Chave primária
11.
Modelo Relacional Requerimentos ID Mensagem
Aluno_ID 1 Renovação de Carterinha 1 2 Segunda chamada 2 3 Trancar matrícula 4
12.
Modelo Relacional Requerimentos ID Mensagem
Aluno_ID 1 Renovação de Carterinha 1 2 Segunda chamada 2 3 Trancar matrícula 4 Chave estrangeira
13.
Modelo Relacional - Modelo
de dados simples
14.
Modelo Relacional - Modelo
de dados simples - Contrato forte (schema design)
15.
Modelo Relacional - Modelo
de dados simples - Contrato forte (schema design) - Interoperabilidade
16.
Modelo Relacional
17.
Modelo Relacional
18.
Modelo Relacional
19.
Modelo Relacional Banco de
Integração
20.
Requisitos não-funcionais
21.
Concurrency control x
22.
23.
24.
1
25.
1 0
26.
Transactions (TX) Begin Commit 1
0
27.
Transactions (TX) Begin Commit Estado Consistente Estado Consistente Unit
of Work
28.
Transactions (TX) A C I D tomic onsistent solation urable
29.
Transactions (TX) Begin 1
30.
Transactions (TX) Begin Begin Commit 1
0 1
31.
Transactions (TX) Begin Begin Commit 1
0 1 ?
32.
Isolation levels Serializable Repeatable Reads Read
Committed Read Uncommitted
33.
34.
Meu nome é ACID
35.
Isolation levels == Controle de
consistência
36.
Bancos Relacionais - Modelo
Relacional - Integração - Transações “ACID” - Segurança
37.
NoSQL?
38.
39.
“Quando tudo o
que se tem é um martelo, todos os problemas parecem pregos"
40.
“Quando tudo o
que se tem é um martelo, todos os problemas parecem pregos" Complexity Performance
41.
Como salvar Logs?
42.
Como salvar um
mapa?
43.
Como salvar isso?
44.
Como modelar hierarquias?
45.
Impendance Mismatch
46.
Impendance Mismatch
47.
Impendance Mismatch RelaçõesSuplas Tuplas
48.
49.
Cara no meio
50.
ORM
51.
52.
53.
Impedance Mismatch
54.
Dados não uniformes
55.
Produto Nome, Modelo, Cor
56.
Produto Nome, Modelo, Cor,Ano
de Fabricação
57.
Escalabilidade
58.
Vertical
59.
Horizontal
60.
61.
62.
? ? ? ?? ?
63.
Questões técnicas
64.
Confiabilidade
65.
Usuarios, Cursos, Professores,Turmas
66.
Usuarios, Cursos Professores,Turmas
67.
Usuarios, Cursos Professores,Turmas
68.
Ponto único de
falhas por fragmento
69.
Disponibilidade por fragmento
70.
Integridade referencial Transações Consistência
71.
Questões técnicas Questões comerciais
72.
73.
Questões técnicas Questões comerciais
74.
NoSQL
75.
== Persistência Poliglota
76.
77.
78.
79.
Como?
80.
Modelos de distribuição
81.
Produtos,Vendas, Usuarios, Franquias
82.
Não distribuir :)
83.
Produtos,Vendas, Usuarios, Franquias
84.
Produtos,Vendas, Usuarios, Franquias
85.
Produtos,Vendas, Usuarios, Franquias
86.
Produtos,Vendas, Usuarios, Franquias
87.
Produtos,Vendas, Usuarios, Franquias
88.
Produtos,Vendas, Usuarios, Franquias 100%
89.
Produtos Vendas Usuários Franquias
90.
Produtos Vendas Usuários Franquias 25% 25% 25% 25%
91.
Produtos 25% Franquias 25% Usuario 25% Vendas 25%
92.
Produtos Franquias Usuario
Vendas 25% 25% 25% 25%
93.
Fragmentação (Sharding)
94.
95.
Produtos Franquias Usuario
Vendas
96.
Produtos Franquias Usuario
Vendas
97.
Produtos Franquias Usuario
Vendas
98.
Produtos Franquias Usuario
Vendas
99.
Produtos Franquias Usuario
Vendas 100% 100% 100% 100%
100.
101.
Como organizar os dados
nos fragmentos?
102.
Distribuição Geográfica
103.
Vendas 0 50 100 150 200 Bangu Campo Grande
Méier Santa Cruz Franquias 0 50 100 150 200 Bangu Campo Grande Méier Santa Cruz
104.
Produtos Franquias,Vendas Usuario Campo
Grande
105.
Parelhamento de Carga
106.
A B C
D 25% 25% 25% 25%
107.
Dias da semana
108.
Acesso aos dados
quentes 0 50 100 150 200 Quarta Quinta Sexta Sábado
109.
Quando fragmentar?
110.
111.
112.
113.
Fragmentação + Performance
114.
Fragmentação + Performance - Disponibilidade
por fragmento
115.
Produtos Franquias,Vendas Usuario Campo
Grande
116.
Produtos
117.
Produtos
118.
Produtos Leituras
119.
Produtos Escritas Leituras
120.
Produtos Escritas Leituras
121.
Produtos Escritas Leituras
122.
Produtos Escritas Slave
123.
Produtos Master Slave
124.
Produtos Master Slave
125.
Produtos Master Slave
126.
Produtos Master Slave
127.
Replicação (Master-slave)
128.
Fragmentação + Replicação (master-slave) +
Performance +Tolerância a falhas
129.
130.
Produtos Master Slave
131.
Produtos Master Slave
132.
Produtos Master Slave
133.
Produtos Master Slave
134.
Produtos Master Slave B
135.
Consistência eventual Atualizações são
propagadas um tempo depois
136.
Consistência eventual Atualizações são
propagadas um tempo depois Abrindo Janelas de Inconsistência
137.
Inconsistência de Leitura
138.
Produtos Master Slave
139.
Produtos Master Slave OK!
140.
Produtos Master Slave
141.
Falha de durabilidade
142.
Produtos Master Slave
143.
Produtos Master Slave
144.
Produtos Master Slave OK!
145.
Produtos Master Slave
146.
Produtos Master Slave
147.
Produtos Master ?
148.
149.
150.
151.
Replicação (p2p)
152.
153.
154.
155.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 }
156.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Massa: 21
157.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Massa: 21 ?
158.
Inconsistência de gravação (Conflito escrita-escrita)
159.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Massa: 21 Leonardo Amanda
160.
{ "produto" : "Maçã", “massa”
: 21 }
161.
{ "produto" : "Maçã", “massa”
: 17 }
162.
Soluções
163.
Lock
164.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Leonardo Amanda
165.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Leonardo Amanda Quero escrever!
166.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Leonardo Amanda Quero escrever!
167.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Leonardo Amanda Quero escrever!
168.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Leonardo Amanda Quero escrever!
169.
Lock pessimista
170.
Lock pessimista - Performance
171.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 0, }
172.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 0, }
173.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 0, } Leonardo Versão: 0
174.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 0, } Amanda Versão: 0
175.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 1, } Amanda
176.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 1, } Leonardo Versão: 0
177.
{ "produto" : "Maçã", "massa"
: 20, "versao" : 1, } Leonardo Versão: 0
178.
Lock otimista
179.
Serialização é necessário
180.
Replicação (Master-slave)
181.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Massa: 21 ?
182.
{ "produto" : "Maçã", "massa"
: 20 } Massa: 17 Massa: 21
183.
Aceitar escritas
184.
{ "produto" : "Maçã", "massa"
: 20 } { "produto" : "Maçã", "massa" : 20 } Massa: 17 Massa: 21
185.
Usuário decide
186.
Inconsistência = Problema ?
187.
188.
189.
Load Balancer
190.
Load Balancer
191.
192.
Load Balancer
193.
Relaxar
194.
Relaxar
195.
Relaxar Bancos relacionais já
faziam
196.
Relaxar Bancos relacionais já
faziam MyISAM
197.
Relaxar Bancos relacionais já
faziam MyISAM Performance
198.
CAP
199.
Split Brain
200.
CA
201.
CP
202.
AP
203.
CA
204.
CA
205.
CA
206.
CA
207.
CA
208.
Cluster tem que
saber lidar com particionamento!
209.
CAP Balancear Consistência e
Disponibilidade
210.
211.
Rio de Janeiro São
Paulo
212.
Rio de Janeiro São
Paulo Pode?
213.
Rio de Janeiro São
Paulo
214.
Rio de Janeiro São
Paulo Nega a escrita CP
215.
216.
217.
CONSISTÊNCIA EVENTUAL
218.
AP
219.
O que acontece
220.
O que acontece Quando
não há particionamento?
221.
CAP
222.
Consistência sempre!
223.
Por que sacrificar
a consistência? Quando não há particionamento?
224.
AP
225.
CONSISTÊNCIA EVENTUAL
226.
Latência
227.
228.
Baixa latência Consistência forte VS
229.
P?(A|C):(C|L) PAC/CL
230.
particionamento?
231.
sim! consistência disponibilidade
232.
não! consistência latência
233.
Resumão ENEM
234.
NoSQLPersistencia poliglota Modelo de
dados Clusterização Fragmentação Replicação Problemas de consistência Relaxar consistência CAP P?(A|C):(C|L)
235.
236.
Obrigado! Leonardo Cordeiro leonardobcordeirodev@gmail.com :)
Baixar agora