15. Escalamiento
Horizontal
• Las RDBMS no se adaptan a esta
arquitectura
• ¿TX distribuidas? Muy costosas
• ¿Cómo distribuyes las escrituras?
• ¿Shardening?
• ¿Desnormalización?
13
25. Orientadas a Objetos
• El tipo más viejo (1980’s)
• Permite herencia entre tablas,
polimorfismo.
• Lenguaje de consulta orientado a objetos.
• Ha influenciado la evolución de las RDBMS
(sql 99, Oracle, Postgres, etc).
21
27. Key-Value
• Sólo almacenan dos cosas: 1 campo clave
asociado a 1 dato binario.
• Operaciones Put, Get, Delete.
• Piensa en una HashTable distribuida.
• Todo en memoria, algunas persisten a disco
de forma asíncrona.
• Útil como cache en combinación con una
RDBMS.
23
28. Key - Value
Wordpress
Youtube
memcached Twitter
Craiglist
GitHub
Redis The Guardian
Proyecto Voldemort LinkedIn
24
29. Key - Value
• Muy útiles para entornos distribuidos.
• Alto performance.
• Lenguaje de consulta muy pobre. Requiere
procesamiento externo de los datos.
25
30. Orientadas a
documentos
• Iguales a las Key - Value, pero el dato no es
binario.
• Debe ser un formato que el servidor
entienda: XML, JSON, BSON..
• Permite consultas más complejas sobre
atributos.
• Son usadas como sustituto de las RDBMS.
26
31. Orientadas a
documento
foursquare
sourceForge
Justin.tv
SimpleDB
27
32. Orientadas a columnas
• La información se representa en columnas.
• Mayor rapidez para consultas sobre pocas
columnas.
• Mayor rapidez para agregados.
• Peor performance para escrituras.
28
37. Orientadas a Grafos
• Datos como nodos y relaciones.
• Las relaciones pueden ser bidireccionales y
tener atributos.
• Permite hacer consultas complejas a
relaciones.
• Permite gran velocidad de recorrido de las
relaciones.
31
42. ¿Y si tenemos de varios
tipos en una misma
aplicación?
35
43. • Orientado a Documento.
• Usa el formato BSON: Binary JSON.
• Permite consultas muy avanzadas.
• Preparado para escalar horizontalmente.
• Open source con soporte comercial con
10Gen.
36