nosql-131129101642-phpapp01
-
Upload
alfredo-alf -
Category
Documents
-
view
217 -
download
0
Transcript of nosql-131129101642-phpapp01
-
8/13/2019 nosql-131129101642-phpapp01
1/27
Introduccin a NoSQLRubyFunDay Argentina 2013
Damian Martinelli
@damianmarti
-
8/13/2019 nosql-131129101642-phpapp01
2/27
Introduccin a NoSQL
Conceptos Generales
Relacional
Clave/Valor
Columnas Documentos
Grafos
-
8/13/2019 nosql-131129101642-phpapp01
3/27
Conceptos Generales: ACID
Atomicidad
Consistencia
Aislamiento
Durabilidad
-
8/13/2019 nosql-131129101642-phpapp01
4/27
Conceptos Generales: CAP
Consistente
Disponibilidad
Tolerante a particiones
Teorema CAP: elegir 2
Depende del negocio
-
8/13/2019 nosql-131129101642-phpapp01
5/27
Conceptos Generales: Mapreduce
Map
Reduce
Paralelismo
-
8/13/2019 nosql-131129101642-phpapp01
6/27
Relacional
Tablas bidimensionales
Estructurada
Relacin de datos mediante claves forneas
SQL
ACID
Muchas features
-
8/13/2019 nosql-131129101642-phpapp01
7/27
Relacional - Motores
MySQL
MSSQL
Oracle
SQLite
PostgreSQL
MariaDB
-
8/13/2019 nosql-131129101642-phpapp01
8/27
Relacional +1
Se sabe cmo son los datos, pero no cmo
se va a usar
-
8/13/2019 nosql-131129101642-phpapp01
9/27
Relacional -1
Datos muy variables
Datos con muchas jerarquas
Escalar
-
8/13/2019 nosql-131129101642-phpapp01
10/27
Clave/Valor
Mapea claves a valores
Sin estructura
Muy rpidos para accesos por clave
Simples de distribuir
Muchas veces usados como cache
-
8/13/2019 nosql-131129101642-phpapp01
11/27
Clave/Valor - Motores
Memcached
Voldemort
Redis
Riak
Tokyo/Kyoto Cabinet
Google LevelDB
-
8/13/2019 nosql-131129101642-phpapp01
12/27
Clave/Valor +1
Escalar horizontalmente
Muchos accesos solo por clave
Datos poco relacionados
-
8/13/2019 nosql-131129101642-phpapp01
13/27
Clave/Valor -1
Necesidad de consultas complejas
-
8/13/2019 nosql-131129101642-phpapp01
14/27
Columnas
Sorted map (key: row, col, timestamp)
Conceptualmente -> tabla, con filas y
columnas
Los datos se almacenan por columnas No es costoso agregar columnas
Cada fila puede tener un conjunto distinto de
columnas (valores nulos no ocupan espacio) Solo scan y get para consultas
-
8/13/2019 nosql-131129101642-phpapp01
15/27
Columnas - Motores
HBase
Cassandra
Hypertable
Google BigTable Accumulo
-
8/13/2019 nosql-131129101642-phpapp01
16/27
Columnas +1
Escalabilidad horizontal
Compresin y versionado
-
8/13/2019 nosql-131129101642-phpapp01
17/27
Columnas -1
Cuando no se sabe cmo se van a usar los
datos
Pocos datos (entran en un solo server)
-
8/13/2019 nosql-131129101642-phpapp01
18/27
Columnas != Columnas Relacional
Base de datos relacionales que guardan los
datos por columnas
Motores: Sybase IQ C-Store
Vertica
VectorWise
MonetDB ParAccel
Infobright
-
8/13/2019 nosql-131129101642-phpapp01
19/27
Documentos
Esquemas flexibles
Objetos anidados, no relacionados
Facil de distribuir
Desnormalizacin de datos
-
8/13/2019 nosql-131129101642-phpapp01
20/27
Documentos - Motores
MongoDB
CouchDB
OrientDB
-
8/13/2019 nosql-131129101642-phpapp01
21/27
Documentos +1
Cuando no se sabe cmo van a ser los
datos
-
8/13/2019 nosql-131129101642-phpapp01
22/27
Documentos -1
Consultas complejas con joins (cada
documento deberia contener toda la
informacin que generalmente se va a
querer sobre l)
-
8/13/2019 nosql-131129101642-phpapp01
23/27
Grafos
Datos almacenados en forma de grafo
Los datos se navegan mediante nodos y
aristas
Los nodos y las relaciones pueden tenerpropiedades (pares clave/valor)
ACID
-
8/13/2019 nosql-131129101642-phpapp01
24/27
Grafos - Motores
Neo4J
InfiniteGraph
-
8/13/2019 nosql-131129101642-phpapp01
25/27
Grafos +1
Aplicaciones donde hay redes
Datos muy interconectados
-
8/13/2019 nosql-131129101642-phpapp01
26/27
-
8/13/2019 nosql-131129101642-phpapp01
27/27
Preguntas?
Repositorios con el cdigo del taller:
https://github.com/damianmarti/rubyfunday2013-redis
https://github.com/damianmarti/rubyfunday2013-mongodb https://github.com/damianmarti/movies_graph
https://github.com/damianmarti/movies_graphhttps://github.com/damianmarti/rubyfunday2013-mongodbhttps://github.com/damianmarti/rubyfunday2013-redis