3. Evolución de los
sistemas de
almacenamiento
http://justjacqui2.files.wordpress.com/2011/12/bored-girl-in-classroom.jpg
4. 70's
Mainframes
Alto costo
No distribuido
... +2 mujeres en
el mismo cuarto
de
servidores :O
http://plyojump.com/classes/images/computer_history/1950sComputer.jpg
5. 80's
http://www.db-
Cliente/Servidor convert.org/db-
convert/img/mysql-
oracle.jpg
RDBMS
First 5¼" drive
5 MB $1500
http://www.smallbusinessdelivered.com/wp-content/
uploads/2011/10/free-internet-publicity.jpg
90's
http://www.surelineelectric.com/
Arquitectura 3n
Despega Internet
images/pages/Computer-
Networking.jpg
casi GB
6. 2000's
WEB 2.0
BI Business Intelligence
OLAP On-Line Analytical
Processing
2005 – First 500 GB
hard drive
http://internet-map.net/
7. Actualidad
Retos
Alta transaccionalidad
Alto volumen datos
Alta disponibilidad
Tipo de data variable
http://m01.cariblogger.com/2010/08/social-networking-4.jpg
Objetos complejos
MetaData
8. Escalando
1.5 años
1 año
6 meses
http://www.oracle.com/us/assets/im07t1-sun-fire-x4170m3-1-1571069.png
Día 1 http://regmedia.co.uk/2011/09/26/oracle_sparc_t4_4_server.jpg?x=300&y=200&crop=1
http://www8.pcmag.com/media/images/271798-oracle-sparc-server.jpg
http://cdn1.computerworlduk.com/cmsdata/news/3282065/Oracle_Exadata_thumb230.PNG
http://3.bp.blogspot.com/_BGeZdq-xPfk/TDvj9TiYOvI/AAAAAAAAAQ0/Ni8U_te6hzk/s1600/Mountain+climbing.jpg
12. • Orientado a Documentos
o JSON
o Schema free
o No utiliza Joins
• Funcionalidad
o Conversión transparente de JSON a Objetos de aplicación
(OO)
o Atomicidad transaccional (a nivel de Doc.)
o Map/Reduce (agregation)
• Escalable y Bajo costo
o Replicación y alta disponibilidad
o AutoSharding (No custom hardware)
13. RDBMS y MongoDB
RDBMS MongoDB
Table Collection
Fila(s) JSON Document
Index Index
Join Embedding
Partition Shard
PArtition Key Shard Key
14. Documento
{
autor
:
"Mario
Donis
Navarro",
Edad
:
25,
email:
"md@mail.net",
dirección
:
"1a
calle
10-‐20
zona
30"
{
calle
:
"1",
Numero
:
"11-‐20",
zona:
30
},
seudónimos
:
["md","madona"]
}
22. Cuando utilizar MongoDB
• Problemas de perforance en tu BD, ejm:
exceso de caching
• Te encuentras haciendo batch y lo necesitas
en tiempo real
• Luego de varios intentos, consultores y
gurus,tu data es dificil de modelar en un
modelo relacional
23. ¿Cuando no utilizarlo?
• Cuando se necesita un estricto
comportamiento transaccional
• La información es muy relational-oriented
• Necesidad de triggers
• Cuando necesitemos Integridad referencial