Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

mongoDB

No description
by

Andres Rosas

on 15 October 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of mongoDB

mongoDB

¿Qué es mongoDB?
Ultimamente el tema de las bases de datos es muy extenso, pero muchos se encierran en el hecho de que solo con Mysql se resolvera todo. No estamos encontra de Mysql ni de Ningun Gestor de DB.
Caracteristicas
Varias de las caracteristicas por las cuales usar MongoDB
Instalación.
Instalación y ejecución de MongoDB.
Comandos.
Conclusiones mongoDB
Rendimiento (Comparación MongoDB vs MySQL)

Es esta web podremos ver un completo test realizado con diferentes pruebas: http://www.ciges.net/tests-de-carga-mongodb-vs-mysql-insercion-de-datos.
NoSQL ... ?
NoSQL significa que los comandos de SQL no funcionan para este tipo de DBMS. Los Sistemas NoSQL no estan acomodados en tablas definidas, mas bien en estructuras que pueden variar. A diferencia de los Sistemas SQL los Sistemas NoSQL pueden procesar informacion mucho mas rapida, al no depender de una estructura fija esto aporta mayor velocidad y flexibilidad de la informacion.
Introduccion a mongoDB
MongoDB es un sistema gestor de BD NOSQL multiplataforma de esquema libre y multilenguaje, lo que significa que lo podemos ejecutar tanto en linux como en Window, y lo podremos manejar con nuestro lenguaje de programacion favorito(php, python, ruby, …), el sistema esta orientado a documentos, es decir en vez de tablas como Mysql son Documentos con estructuras o mapas binarios muy similares a JSON que aqui se llaman BSON(Binary JSON).
BSON, o Binary JSON
Es una versión modificada de JSON que permite búsquedas rápidas de datos. Para hacernos una idea, BSON guarda de forma explícita las longitudes de los campos, los índices de los arrays, y demás información útil para el escaneo de datos. Es por esto que, en algunos casos, el mismo documento en BSON ocupa un poco más de espacio de lo que ocuparía de estar almacenado directamente en formato JSON. Pero una de las ideas claves en los sistemas NoSQL es que el almacenamiento es barato, y es mejor aprovecharlo.
Velocidad
Las características que más destacaría de MongoDB son su velocidad y su rico pero sencillo sistema de consulta de los contenidos de la base de datos. Se podría decir que alcanza un balance perfecto entre rendimiento y funcionalidad, incorporando muchos de los tipos de consulta que utilizaríamos en nuestro sistema relacional preferido, pero sin sacrificar en rendimiento.
Indexacion
Varias de las caracteristicas por las cuales usar MongoDB son cosas como la replicacion maestro-esclavo, la indexacion pues cualquier compo en MongoDB puede ser indexado,aunque el proceso de indexado es un poco diferente que los sistemas SQL, el balanceo de carga con el llamado sharding
GridFS
Y una excelente caracteristica para usar MongoDB como Sistema de archivos,GridFS , la cual puede ser implementada para por ejemplo mantener fotos o audio almacenado en la base de datos, para su posterior uso con funciones que brinda el mismisimo MongoDB.
Descargar.
Descargar en el siguiente link
http://www.mongodb.org/downloads y elegimos el que se adapte mejor, segun el sistema operativo que tengamos.
Instalación.
1. Descomprimir el archivo, buscar la carpeta llamada bin.
2. Creamos una carpeta en la unidad C:\, esta se llamará mongoDB.
3. Copiamos los archivos de la carpeta bin a mongoDB.
Inicio de MongoDB.
1. Ejecutar cmd.exe
2. Ingresamos a la carpeta que habiamos con cd c:\mongoDB.
3. Creamos una carpeta nueva llamda data, en la que se alamcenarán los archivos creados, mkdir data.
4. Ejecutamos el archivo que se llama mongo de la siguiente forma: mongod --dbpath data
Insertar.
Ver resultados.
1. Para ver los resultados, tecleamos db.nombre.find() .
2. Para ver solo algunos resultados, utilizamos el siguiente ejemplo
db.personas.find({ciudad : 'cardenas'})

En escritura:
MongoDB es más rápido en las operaciones de escritura
Para operaciones de escritura sencillas es entre 2 y 4 veces más rápido. Para un número de escrituras elevado (el tests de la escritura de 30 millones de registros de acceso, por ejemplo) MongoDB duplica en rendimiento a MySQL
En escrituras concurrentes MongoDB es más rápido (15% y 30% en nuestras pruebas)
En lectura:
MongoDB es más rápido en las operaciones de lectura
En lecturas concurrentes MongoDB es más rápido (15% y 40% en nuestras pruebas)

Conclusión Final
En conclusión con este pequeño repaso de base de datos no relacional podemos ir razonando en que situaciones se puede o no usar NoSQL, realmente se podría usar para todo… Pero también queda de parte de los desarrolladores realizar una aplicación que haga un buen uso de MongoDB o alguna otra base de datos no relacional.
Based on Jim Harvey's speech structures

1. Se antepone la palabra db.nombrebd
2.Insertar datos en especifico. db.personas.insert({nombre : 'Samuel' , apellidopat : 'Urrutia', edad : 20, ciudad : 'cunduacan' })
Eliminar Elementos
Para eliminar elementos usamos remove(). Funciona de la misma forma que find(), solo que remove() borrar los resultados que nos de la consulta.
Ejemplo:
Elimina a las personas que sean de cardenas:
db.personas.remove({ciudad : 'cardenas'})
Elimina a los que se apellidan Alvarez:
db.personas.remove({apellidopat : 'Alvarez'})
Eliminar todo:
db.personas.remove({})
Veremos todos los resultados con el comando : db.personas.find() .
Para ver las personas que son de cardenas :
db.personas.find({ciudad : 'cardenas'})
Y si quisieramos insertar este dato en un documento llamado personas en mongo escribimos :
db.personas.insert({nombre : 'Samuel' , apellidopat : 'Urrutia', edad : 20, ciudad : 'cunduacan' })
Borrar a las personas que sean de cardenas :
db.personas.remove({ciudad : 'cardenas'})
Funciones de agregación
Aquí MySQL supera ampliamente a MongoDB. MySQL es mucho más rápido en la agregación de datos, entre 3 y 6 veces más rápido para las 4 pruebas que hemos hecho

MongoDB es más escalable, lo que significa que cuando la carga de usuarios aumenta el tiempo de respuesta se mantiene estable.
Referencia bibliográfica.
http://pharalax.com/blog/mongodb-mongodb-primer-acercamiento-instalacion-y-comandos-basicos/

MongoDB] MongoDB Primer Acercamiento, Instalacion y Comandos Basicos - Pharalax Blog
pharalax.com

http://www.genbetadev.com/bases-de-datos/una-introduccion-a-mongodb

Una introducción a MongoDB
www.genbetadev.com

http://www.yograterol.me/nosql-mongodb-vs-una-base-de-datos-relacional/
Full transcript