Very Large Databases (VLDB) (Bases de Datos Muy Grandes)

Anuncio
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
Luis Valencia Cabrera ([email protected])
Research Group on Natural Computing
Departamento de Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
09-01-2014, Bases de Datos, 3o Grado en Estadística
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Introducción
Introducción (I)
El mundo en el que vivimos se encuentra en constante evolución, formamos parte de un
súper organismo sujeto a cambio.
Especialmente en el caso del ser humano, debido a las cotas de inteligencia que alcanza, al
hecho de ser un ser social y, a día de hoy, a la dimensión a la que ha llegado el fenómeno de
la globalización, el entorno que nos rodea, en muchos sentidos, cambia cada día.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Introducción
Introducción (II)
Si ponemos el foco en los aspectos tecnológicos, los cambios son aún más rápidos y
acuciantes, y tienen un reflejo directo en muchos aspectos de nuestras vidas. Sin ir más
lejos, la explosión de Internet se produjo aproximadamente a mediados de los 90, y el
impacto en la forma de hacer investigación, de tener acceso a información y conocimiento,
cambió radicalmente.
Fenómenos como Google, la Wikipedia, las redes sociales, Twitter, etc. han implicado en
los últimos años un nuevo cambio de escala en el empleo de las tecnologías de la
información, y un reto en cuanto a la actualización y la disponibilidad de enormes conjuntos
de información a través de la red.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Very Large Databases (VLDB)
Very Large Database (VLDB)
Definición
Las siglas VLDB (Very Large Databases) denotan a bases de datos que contienen un
número de tuplas extremadamente alto.
No tiene mucho sentido hablar de cifras concretas ya que este concepto va cambiando con
el tiempo, va evolucionando conforme aumenta la capacidad de almacenamiento de los
equipos personales, servidores, aplicaciones, la realidad que nos rodea, la evolución de
Internet, y del ámbito científico y empresarial. No obstante, a día de hoy se puede entender
como VLDB una base de datos del orden de terabytes, o mil millones de filas.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Very Large Databases (VLDB)
Very Large Database (VLDB) - Referencias
Algunas referencias útiles
http://www.softdevtube.com/2012/04/18/
an-introduction-to-very-large-databases/
http://en.wikipedia.org/wiki/Very_large_database
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Big Data
Big Data
Los últimos años, meses, días, estamos asistiendo a una proliferación cada vez mayor de
publicaciones en la web relacionadas con Big Data.
Definición
Entendemos por Big Data a conjuntos de información enormes, que superan con mucho la
capacidad del software de gestión de bases de datos convencional para procesar los datos
en un tiempo razonable.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Big Data
Big Data - Referencias
Este término viene en algunos casos sustituyendo a VLDB, pero de forma más difundida y
correcta hace referencia a algunos órdenes de magnitud adicionales. Las dificultades o retos
a encarar en este tipo de tecnologías se centran en la captura, almacenamiento, búsqueda,
compartición, análisis y visualización de los datos.
Algunas referencias útiles
http://es.wikipedia.org/wiki/Big_data
http://online-behavior.com/analytics/big-data-intro
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Big Data
Big Data - Four V’s
En el marco de Big Data se viene imponiendo la terminología de las 4 V’s para resumir las
características fundamentales:
4 V’s
Volume Involucra grandes volúmenes de datos, pudiendo llegar al orden
de petabytes, exabytes, etc.
Variety Big Data no se limita a información relacional o datos
estructurados. Puede incluir datos no estructurados como
imágenes, vídeos, texto, audios, etc.
Velocity Se refiere a la velocidad a la que cambian los datos. Cuanto más
alta sea ésta, más eficiente debería ser el sistems para poder
capturar y analizar los datos. Perder cualquier punto importante
podría conllevar realizar un análisis de datos erróneo o una
eventual pérdida de parte de los mismos.
Veracity Significa veracidad, adhesión a la verdad. Se trata de un reto
difícil de afrontar, como es asegurar la veracidad de una enorme
cantidad de datos, preservando la velocidad de cambio. La
solución generalmente es mantener datos imprecisos o inciertos,
posiblemente no actualizados, durante cierto margen temporal.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Big Data
Big Data - Referencias adicionales
A continuación se proporcionan algunas referencias adicionales.
Algunas referencias útiles
http://strata.oreilly.com/2012/01/what-is-big-data.html
http://blog.sqlauthority.com/2012/10/26/
sql-server-introduction-to-big-data-guest-post/
http://mashable.com/2012/06/19/big-data-myths/
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Big Data y NoSQL
Big Data y NoSQL
Los enormes volúmenes de datos y las condiciones impuestas por las 4 V’s, referentes a
disponibilidad, frecuencia de actualización, etc, suponen un reto distinto de los encarados
cuando se concibieron los SGBD tradicionales de 1a , 2a y 3a generación.
En este contexto, a pesar de toda la potencia y robustez proporcionada por las bases de
datos relacionales, y la funcionalidad y capacidad de estandarización que nos proporcionan,
necesitamos acudir a nuevas soluciones. El modelo relacional implica la existencia de
muchas interrelaciones entre las entidades (tablas relacionales), lo que dificulta la
distribución de una base de datos entre múltiples nodos servidores, suponiendo por tanto
una barrera para la escalabilidad. Además, la necesidad de realizar joins sobre un
conjunto de tablas con miles de millones de registros conlleva una pérdida de eficiencia
cuando hablamos de volúmenes tan grandes.
Las razones anteriores implican la aparición de distintas alternativas
dentro de lo que se conoce como NoSQL, que veremos a continuación.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Big Data y NoSQL
Big Data y NoSQL - Referencias
Algunas referencias útiles
http://blog.movilforum.com/big-data-nosql-que-paso-con-las-bbdd/
http://www.datastax.com/resources/webinars/nosql-for-bigdata
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
NoSQL
NoSQL - Introducción
Las bases de datos NoSQL proporcionan diferentes soluciones no basadas en modelo
relacional, para conseguir un rendimiento extremo en bases de datos enormes, a través de
un modelo basado fundamentalmente en estructuras de datos planas (evitando la
amalgama de interrelaciones existentes en BD relacionales) y en distribución a través de
escalabilidad horizontal (muchos nodos servidores).
Si bien la variedad de modelos e implementaciones es muy grande (al contrario que la
estandarización presente en BD relacionales basadas en SQL), existen básicamente 4 tipos
de bases de datos NoSQL:
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
NoSQL
NoSQL - Tipos
Clave-valor Forma mas típica, como un HashMap donde cada elemento esta identificado por una clave única, permitiendo la recuperación
de la información de manera muy rápida. El tipo de contenido no es importante. Son muy eficientes para lecturas y escrituras,
y se pueden escalar fácilmente particionando los valores de acuerdo a su clave (por ejemplo, los de clave entre 1 y 1000 van
a un servidor, los de 1001 a 2000 a otro, etc.) Dentro de estas bases de datos podemos encontrar a BigTable de Google,
SimpleDB de Amazon, Cassandra (usada por Facebook), Hadoop, Riak, Voldemort y MemcacheDB entre otras.
Documentos Almacenan la información como un documento (generalmente con estructura simple como JSON o XML) y con una clave
única. Similar a las anteriores, pero el fichero generado puede ser entendido, y por tanto el servidor puede hacer operaciones
con ellos. Varias de sus implementaciones permiten consultas muy avanzadas sobre los datos, e incluso establecer
relaciones sin joins. Podemos encontrar a MongoDB y CouchDB entre las mas importantes de este tipo.
Columnas Guardan los valores en columnas en lugar de filas. Ganamos mucha velocidad en lecturas (al recuperar columnas concretas
en lugar de toda la tabla), pero ineficiente para realizar escrituras. Se usa en aplicaciones con pocas escrituras en relación a
las lecturas. Por ejemplo, Cassandra.
Grafos Almacenan la información como grafos donde las relaciones entre los nodos son lo más importante. Muy útiles para
representar información de redes sociales. Las relaciones pueden tener atributos y permiten consultas directas a ellas, siendo
mucho más eficiente navegar entre estas relaciones que en un modelo relacional. Sólo son aprovechables si la información se
puede representar fácilmente como una red.Encontramos a neo4j entre otras.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
NoSQL
NoSQL - Referencias
Algunas referencias útiles
Curso NoSQL, MongoDB, PHP de 0utkast
http://codecriticon.com/?p=281
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=
introduccion_bases_de_datos_nosql
http://en.wikipedia.org/wiki/NoSQL
http://newtech.about.com/od/databasemanagement/a/Nosql.htm
http://www.itbusinessedge.com/cm/blogs/lawson/
beyond-hadoop-understanding-big-data-options/?cs=49833
http://bosqueviejo.net/2012/04/25/cassandra-la-nosql-de-facebook/
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
MongoDB
MongoDB
Descripción
MongoDB es un sistema de base de datos multiplataforma orientado a documentos, de
esquema libre (cada registro puede tener un esquema diferente, con atributos distintos de
un registro a otro).
Cada registro se denomina documento. Los documentos se pueden agrupar en
colecciones (“equivalente” a tablas en una BD relacional, pero pudiendo almacenar
documentos con muy diferentes formatos, sin esquema fijo). Se pueden crear índices
para algunos atributos de los documentos, manteniendo una estructura interna eficiente
para el acceso a la información por los contenidos de estos atributos.
Destaca por su velocidad y su rico pero sencillo sistema de consulta de los contenidos de
la base de datos. Tiene un buen equilibrio entre rendimiento y funcionalidad,
incorporando muchos de los tipos de consulta que utilizaríamos en un sistema relacional,
pero sin sacrificar el rendimiento.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
MongoDB
MongoDB - Almacenamiento
Formato de los datos
Los distintos documentos se almacenan en formato BSON, o Binary JSON, que es una
versión modificada de JSON que permite búsquedas rápidas de datos.
Guarda de forma explícita longitudes de campos, índices de arrays, y otra información útil
para el escaneo de datos. Por ello ocupa incluso algo más espacio que en formato JSON.
Pero como premisa de NoSQL el almacenamiento es barato, y mejor aprovecharlo para
incrementar en velocidad de localización de información dentro de un documento.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
MongoDB
MongoDB - Referencias
Algunas referencias útiles
Curso NoSQL, MongoDB, PHP de 0utkast
http://www.genbetadev.com/bases-de-datos/una-introduccion-a-mongodb
http://en.wikipedia.org/wiki/MongoDB
http://www.slideshare.net/willshulman/
mongodb-its-not-just-about-big-data
http://docs.mongodb.org/manual/installation/
http://docs.mongodb.org/manual/tutorial/getting-started/
http://docs.mongodb.org/manual/reference/sql-comparison/
http://docs.mongodb.org/manual/reference/javascript/
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Descarga e instalación
Descarga e instalación
Descarga
MongoDB es multiplataforma, luego la instalación dependerá de las características del
S.O. destino. Está disponible para su descarga en MongDB downloads. Consiste en un
archivo zip, que podremos descargar y descomprimir donde queramos (en la práctica
realizada descomprimimos en C: \ y renombramos la carpeta como mongodb).
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Índice
1
Introducción
2
Very Large Databases (VLDB)
3
Big Data
4
Big Data y NoSQL
5
NoSQL
6
MongoDB
7
Descarga e instalación
8
Práctica
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Práctica
Ejecución del servidor y el cliente
El servidor de base de datos de MongoDB (contiene el SGDB) se lanza mediante el
programa ejecutable mongod.exe. Para ello, vamos a la línea de comandos (símbolo
del sistema), a través de Inicio
→ Ejecutar → cmd. Una vez allí, navegamos hasta la
carpeta bin dentro de la carpeta mongodb (recordemos, para ir a la carpeta superior
tecleamos cd .., y para entrar en una carpeta tecleamos cd nombreCarpeta, luego para ir a
la carpeta que deseamos podemos teclear C
: \mongodb\bin). Una vez en la carpeta bin,
tecleamos mongod, y con ello se lanza el servidor.
El proceso para lanzar el cliente es muy similar. Abrimos otra línea de comandos, sin cerrar
la del servidor, hacemos lo mismo que antes, y en el último paso lanzamos mongo. En ese
momento estamos listos para lanzar órdenes contra la base de datos.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Práctica
Primeros pasos con MongoDB - Bases de datos
Una vez hemos arrancado nuestro cliente, mongo, apuntando a nuestro servidor de
base de datos, mongod, debemos seleccionar una base de datos con la que
trabajar.
Para ver las bases de datos disponibles en nuestro servidor mongod, tecleamos
show dbs.
Podemos seleccionar una haciendo: use mydb, de forma que si no existe la base de
datos mydb, ésta será creada automáticamente. No es necesario por tanto una
declaración explícita de creación de la base de datos.
Si necesitamos acudir a la ayuda del sistema para consultar alguna funcionalidad
podemos hacerlo mediante help, o a la ayuda de una determinada función mediante
nombrefuncion.help().
Para una visión más detallada de las funciones permitidas, consultar la
referencia del lenguaje admitido por MongoDB.
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Práctica
Primeros pasos con MongoDB - Colecciones
Una colección en MongoDB sería el “equivalente” a una tabla en modelo relacional,
con las diferencias comentadas. Para crear una colección, no es necesario definir
explícitamente el nombre de la colección y su estructura, su esquema, sino que se
generará y actualizará automáticamente conforme vayamos insertando registros
(documentos en su terminología) en la base de datos.
Para insertar un documento en la base de datos, podemos hacer:
db.cosas.insert({v : 27}).
También podríamos hacer una asignación de los datos a una variable (mediante
Javascript), y posteriormente insertarla. Por ejemplo, podemos lanzar las siguientes
líneas declarando variables j y k, para posteriormente insertarlas en una colección
cosas (pre-existente o nueva, indistintamente):
j = { name : "mongo" }
k = { x : 3, n : 5 }
db.cosas.insert( j )
db.cosas.insert( k )
Podemos ver las colecciones existentes mediante: show
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
collections.
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Práctica
Primeros pasos con MongoDB - Consultas
Para realizar una consulta y poder así ver los documentos insertados, hacemos:
db.cosas.find(), que devolverá todos los documentos de la colección
cosas. Lo anterior devolverá los 3 registros introducidos, sin ningún criterio de filtro
establecido, de forma similar a la siguiente:
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "v" : 27 }
{ "_id" : ObjectId("4c2209f9f3924d31102bd84b"), "name" : "mongo" }
{ "_id" : ObjectId("4c2209fef3924d31102bd84c"), "x" : 3 , "n" : 5 }
También podríamos consultar documentos por algún criterio, como por ejemplo
haciendo: db.cosas.find(
{ name : "mongo"} ), que
devolverá el documento cuyo name sea igual a “mongo”.
Para devolver un único documento: db.cosas.findOne(). Y para limitar el
número: db.cosas.find().limit(3).
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Introducción
Very Large Databases (VLDB)
Big Data
Big Data y NoSQL
NoSQL
MongoDB
Descarga e instalación
Práctica
Práctica
Primeros pasos con MongoDB - Bucles e iteradores
Podemos escribir bucles de tipo for o while desde el cliente de MongoDB. Por
ejemplo, para añadir una serie de documentos en la colección cosas:
for (var i = 1; i <= 20; i++) db.cosas.insert( { x : 4 , j : i } ).
También podemos declarar un cursor en una variable, y recorrelo con un iterador:
var c = db.cosas.find()
while ( c.hasNext() ) printjson( c.next() )
Esto mostrará un número máximo de documentos, por defecto 20, si bien ese límite se
puede modificar; una vez mostrados los primeros podremos escribir it para ver más
documentos.
También podemos acceder a una posición del array de resultados al que hace
referencia la variable:
var c = db.cosas.find()
printjson( c [ 4 ] )
Luis Valencia Cabrera ([email protected])
Very Large Databases (VLDB) (Bases de Datos Muy Grandes)
o
Bases de Datos, 3 Grado en Estadística
Descargar