O documento discute as vantagens e desvantagens de bancos de dados NoSQL em relação a bancos de dados relacionais, mencionando exemplos como Bigtable e Dynamo e como eles foram projetados para escalar a petabytes de dados em milhares de servidores. Também aborda tópicos como modelos de dados flexíveis, desempenho e escalabilidade, consistência eventual e como um tamanho não serve para todos os casos.
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.
7. 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]
8. 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]
10. 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
22. Joins
Integridade referencial
Auto-increment
Normalização
e ainda carrega todo o peso de um RDMBS
23. One size fits all?
"One Size Fits All": An Idea Whose Time Has Come and Gone [2005]
24. One size does not fit all
OLTP OLAP
Operação Informação (BI)
CRUD pequeno e rápido Batches demorados
Queries simples Queries complexas
25. 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]
27. 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]
28. ACID x BASE
Basically Available
Soft state
Eventual consistency
BASE: An Acid Alternative [2008]
Eventually Consistent [2009]
29. eventual en X eventual pt
Occurring at an unspecified Dependente de acontecimento
time in the future incerto; casual; fortuito; possível
mas incerto.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39. 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