Your SlideShare is downloading. ×

NoSQL: Perdas e Ganhos

2,650

Published on

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

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

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,650
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
52
Comments
1
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. NoSQL: Perdas e Mauricio De Diana Ganhos mdediana@ime.usp.br
  • 2. Arquitetura
  • 3. Trade-offs Latência Vazão Segurança ... Manutenibilidade Testabilidade
  • 4. Modelo de dados Performance / Escalabilidade
  • 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. 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. 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. Modelo de dados
  • 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. Relacional Esquema Restrições de integridade (pks, fks, tipos e valores) Normalização
  • 11. NoSQL and SQL Anti Patterns Dynamic table creation Row alignment Extreme joins http://www.slideshare.net/gleicon/nosql-and-sql-anti-patterns
  • 12. Dados semi-estruturados Estrutura heterogênea Estrutura parcial Esquemas que evoluem rapidamente Distinção pouco clara entre esquema e dados
  • 13. Shared Database http://www.eaipatterns.com/SharedDataBaseIntegration.html
  • 14. Performance / Escalabilidade
  • 15. Escalar relacional
  • 16. N web servers 1 db
  • 17. master / slave
  • 18. master / slave
  • 19. functional partitioning
  • 20. sharding
  • 21. Joins Integridade referencial Auto-increment Normalização e ainda carrega todo o peso de um RDMBS
  • 22. One size fits all? "One Size Fits All": An Idea Whose Time Has Come and Gone [2005]
  • 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. 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. Transações Atomicidade Consistência Isolamento Durabilidade
  • 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. ACID x BASE Basically Available Soft state Eventual consistency BASE: An Acid Alternative [2008] Eventually Consistent [2009]
  • 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. 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. Polyglot persistence
  • 31. Obrigado mdediana@ime.usp.br

×