Vous êtes sur la page 1sur 64

No SQL

No SQL
Presentación
No SQL
Archivos base
No SQL
Antes de comenzar
Sistemas de BBDD

SQL & NoSQL


Introducción
Sistemas de BBDD

• SQL
• Relacionales
• Orientadas a Objetos
• Relacionales Orientadas a Objetos
Sistemas de BBDD

• NoSQL
NoSQL

• Orientadas a
DOCUMENTOS
Aplicación
{
Nombre: “Unai “
Apellido: “Nomás”
JSON… },
{
Nombre: “Ana”
Apellido: “Tomía”
},
{
…BSON
Nombre: “Leandro”
Apellido: “Grado”
}
Formato de documentos
Bson (basado en Json)
Sistemas de BBDD

• NoSQL?
Sistemas de BBDD

• NoSQL
MongoDB, RavenDB, Neo4j, Cassandra,
CouchDB, BigTable, Dynamo, Riak, Hadoop,…
Sistemas de BBDD

• NoSQL
Características generales:
documentos - escalable - indexable -
javascript - colecciones
SQL vs NoSQL

DIFERENCIAS
SQL vs NoSQL

DIFERENCIAS

- Ausencia de esquema
-
-
SQL vs NoSQL

DIFERENCIAS

- Ausencia de esquema
- Escalabilidad
-
SQL vs NoSQL

DIFERENCIAS

- Ausencia de esquema
- Escalabilidad
- Velocidad
Sistemas de BBDD

• NoSQL

Usos
SQL vs NoSQL

Usos:
- Almacenamiento y registro
de eventos

- Manejo de documentos y
contenido

- Comercio electrónico

- Juegos
SQL vs NoSQL

Usos:
- Almacenamiento y registro - Web
de eventos
- Manejo comentarios
- Manejo de documentos y
contenido - Manejo de estadísticas en tiempo real

- Comercio electrónico - Aplicaciones móviles

- Juegos - Alto volumen de lecturas


MongoDB

“humongous”
ESQUEMA
TABLA
• Terminología
COLUMNA COLUMNA

Cambiamos el
vocabulario FILA REGISTRO REGISTRO

FILA REGISTRO REGISTRO


DDBB
TABLA
• Terminología
COLUMNA COLUMNA
Esquema

= FILA REGISTRO REGISTRO

Base de Datos
FILA REGISTRO REGISTRO
DDBB
COLECCIÓN
• Terminología
COLUMNA COLUMNA
Tabla

= FILA REGISTRO REGISTRO

Colección
FILA REGISTRO REGISTRO
DDBB
COLECCIÓN
• Terminología
COLUMNA COLUMNA
Fila

= DOCUMENTO REGISTRO REGISTRO

Documento
DOCUMENTO REGISTRO REGISTRO
DDBB
COLECCIÓN
• Terminología
COLUMNA COLUMNA
Registro

= DOCUMENTO
datos
documento
datos
documento

Documento datos datos


DOCUMENTO
documento documento
(Datos)
DDBB
COLECCIÓN
• Terminología
CAMPO CAMPO

Columna
datos datos
DOCUMENTO
documento documento
=
datos datos
DOCUMENTO
documento documento
Campo
DDBB
COLECCIÓN
• Terminología
CAMPO CAMPO

Index
datos datos
DOCUMENTO
documento documento
=
datos datos
DOCUMENTO
documento documento
Index
• Terminología

Index => UUID


Instalación
MongoDB
Instalar con Homebrew
Mac
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
MacintoshHD/usr/local/bin/
Escribimos en Terminal:
brew install mongodb
En cuanto termina la instalación:
Instalación manual

Página oficial de descarga

http://www.mongodb.org/downloads
Con terminal:
Puede lanzar varias advertencias
Creamos el directorio
Nos puede lanzar una advertencia en Linux y
Mac
Prueba
Conceptos
BBDD MongoDB

COLECCIÓN _ID CAMPO CAMPO

datos datos
DOCUMENTO index
documento documento

datos datos
DOCUMENTO index
documento documento
Con terminal - consola:

1.mongod (conexión)

2.mongo (correr mongo)


> help

> db.help

> db.help( )
Con terminal - consola:

1. show dbs

2. use nombreBBDD
Con terminal - consola:

1. db.nombreCollection.insert( )

2. db.nombreCollection.find( )
Con terminal - consola:

1. db.nombreCollection.remove( { } )

2. db.nombreCollection.update( { } )
Con terminal - consola:

1. db.nombreCollection.update( { } )
Con terminal - consola:

Insertar BBDD de ejemplo


Añadir o Eliminar nuevos conceptos
db.alumnos.find( ).pretty( )
db.alumnos.update( )

$set
db.alumnos.update( )

$inc
db.alumnos.find( )

Poner orden en la BBDD


db.profesores.update( )

JOIN
Notación de punto
Map Reduce
Programas Clientes
Drivers: PHP
Ejemplo para gestionar
comentarios en nuestra página