NoSQL:
Perdas e
           Mauricio De Diana
Ganhos     mdediana@ime.usp.br
Arquitetura
Trade-offs
Latência
Vazão
Segurança
...
Manutenibilidade
Testabilidade
Modelo de dados




Performance / Escalabilidade
NOSQL: scaling to size and scaling to complexity
http://blogs.neotechnology.com/emil/2009/11/nosql-scaling-to-size-and-sca...
Bigtable

"Bigtable is a distributed storage system for managing
structured data that is designed to scale to a very large...
Dynamo

"Reliability at massive scale is one of the biggest
challenges we face at Amazon.com [...]. The Amazon.com
platfor...
Modelo de dados
Modelo mais adequado

              Impedância Objeto-Relacional

              Grafos: interconectividade dos
           ...
Relacional

Esquema

Restrições de integridade
(pks, fks, tipos e valores)

Normalização
NoSQL and SQL Anti Patterns

Dynamic table creation

Row alignment

Extreme joins




http://www.slideshare.net/gleicon/no...
Dados semi-estruturados
Estrutura heterogênea

Estrutura parcial

Esquemas que evoluem rapidamente

Distinção pouco clara ...
Shared Database




http://www.eaipatterns.com/SharedDataBaseIntegration.html
Performance /
Escalabilidade
Escalar relacional
N web servers
1 db
master / slave
master / slave
functional partitioning
sharding
Joins
        Integridade referencial
        Auto-increment
        Normalização


e ainda carrega todo o peso de um RDMBS
One size fits all?




"One Size Fits All": An Idea Whose Time Has Come and Gone [2005]
One size does not fit all

OLTP                    OLAP

Operação                Informação (BI)

CRUD pequeno e rápido   ...
One size does not fit all

OLTP                                            OLAP

                                         ...
Transações

Atomicidade
Consistência
Isolamento
Durabilidade
Teorema CAP

 Consistency
 Availability
 Partition Tolerance


Towards Robust Distributed Systems [2000]
Brewer's Conjectu...
ACID x BASE

Basically Available
Soft state
Eventual consistency


BASE: An Acid Alternative [2008]
Eventually Consistent ...
eventual en                X        eventual pt

Occurring at an unspecified       Dependente de acontecimento
time in the...
Workarounds

  Não fazer nada

  Ações de compensação




Starbucks Does Not Use Two-Phase Commit
http://www.eaipatterns.c...
Polyglot persistence
Obrigado




           mdediana@ime.usp.br
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
Upcoming SlideShare
Loading in …5
×

NoSQL: Perdas e Ganhos

2,992 views

Published on

Apresentação no TDC2010 (21/08).

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
2,992
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
56
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

NoSQL: Perdas e Ganhos

  1. 1. NoSQL: Perdas e Mauricio De Diana Ganhos mdediana@ime.usp.br
  2. 2. Arquitetura
  3. 3. Trade-offs Latência Vazão Segurança ... Manutenibilidade Testabilidade
  4. 4. Modelo de dados Performance / Escalabilidade
  5. 5. NOSQL: scaling to size and scaling to complexity http://blogs.neotechnology.com/emil/2009/11/nosql-scaling-to-size-and-scaling-to-complexity.html
  6. 6. Bigtable "Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers." Bigtable: A Distributed Storage System for Structured Data [2006]
  7. 7. Dynamo "Reliability at massive scale is one of the biggest challenges we face at Amazon.com [...]. The Amazon.com platform [...] is implemented on top of an infrastructure of tens of thousands of servers and network components located in many datacenters around the world." Dynamo: Amazon's Highly Available Key-value Store [2007]
  8. 8. Modelo de dados
  9. 9. Modelo mais adequado Impedância Objeto-Relacional Grafos: interconectividade dos dados é tão ou mais importante quanto os dados em si Modelos simples: chave-valor
  10. 10. Relacional Esquema Restrições de integridade (pks, fks, tipos e valores) Normalização
  11. 11. NoSQL and SQL Anti Patterns Dynamic table creation Row alignment Extreme joins http://www.slideshare.net/gleicon/nosql-and-sql-anti-patterns
  12. 12. Dados semi-estruturados Estrutura heterogênea Estrutura parcial Esquemas que evoluem rapidamente Distinção pouco clara entre esquema e dados
  13. 13. Shared Database http://www.eaipatterns.com/SharedDataBaseIntegration.html
  14. 14. Performance / Escalabilidade
  15. 15. Escalar relacional
  16. 16. N web servers 1 db
  17. 17. master / slave
  18. 18. master / slave
  19. 19. functional partitioning
  20. 20. sharding
  21. 21. Joins Integridade referencial Auto-increment Normalização e ainda carrega todo o peso de um RDMBS
  22. 22. One size fits all? "One Size Fits All": An Idea Whose Time Has Come and Gone [2005]
  23. 23. One size does not fit all OLTP OLAP Operação Informação (BI) CRUD pequeno e rápido Batches demorados Queries simples Queries complexas
  24. 24. One size does not fit all OLTP OLAP C-Store H-Store The End of an Architectural Era (It's Time for a Complete Rewrite) [2007] C-store: a Column-oriented DBMS [2005]
  25. 25. Transações Atomicidade Consistência Isolamento Durabilidade
  26. 26. Teorema CAP Consistency Availability Partition Tolerance Towards Robust Distributed Systems [2000] Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-tolerant Web Services [2002]
  27. 27. ACID x BASE Basically Available Soft state Eventual consistency BASE: An Acid Alternative [2008] Eventually Consistent [2009]
  28. 28. eventual en X eventual pt Occurring at an unspecified Dependente de acontecimento time in the future incerto; casual; fortuito; possível mas incerto.
  29. 29. Workarounds Não fazer nada Ações de compensação Starbucks Does Not Use Two-Phase Commit http://www.eaipatterns.com/ramblings/18_starbucks.html
  30. 30. Polyglot persistence
  31. 31. Obrigado mdediana@ime.usp.br

×