Mongo
Upcoming SlideShare
Loading in...5
×
 

Mongo

on

  • 193 views

Una breve resumen y algunas aplicaciones de MongoDB.

Una breve resumen y algunas aplicaciones de MongoDB.

Statistics

Views

Total Views
193
Views on SlideShare
193
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mongo Mongo Presentation Transcript

  • Nombre Carlos Eduardo Mancilla Vizarreta Profesor: Eddie Malca Fac. Ing de Sistemas
  •  Es un sistema de Bases de datos Open Source, multiplataforma basado en Documentos JSON, de esquemas libres, lo que significa que cada registro puede tener un esquema de datos distinto, es decir, que una colección puede contener registros con distintas estructuras. Las características más relevantes, (además de que es OpenSource), son la velocidad, su capacidad para soportar ambientes de alto rendimiento y su motor de consultas, simple y poderoso.
  •  El desarrollo de MongoDB empezó en octubre de 2007 por la compañía de software 10gen. Ahora MongoDB es una base de datos lista para la producción de uso y con muchas características (feature). Esta base de datos es altamente utilizada en las industrias1 y MTV Network,2Craiglist3 y Foursquare4 son algunas de las empresas que utilizan esta base de datos.  El código binario está disponible para los sistemas operativos Windows, Linux, OS X y Solaris.   MongoDB (de la palabra en inglés “humongous” que significa enorme) es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. En vez de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en documentos tipo JSON con un esquema dinámico (MongoDB llama ese formato BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
  •      Base de datos orientada a documentos, es decir que no es relacional. Podemos comparar más o menos el concepto de fila en SQL al de documento. También podemos comparar el concepto de colección al de tabla y el de base de datos a esquema. Fácilmente escalable. Básicamente, todo el diseño desde el principio está orientado a conseguir esto. Es indexable, incluso permite índices geoespaciales (para hacer búsquedas por cercanía geográfica y similares) Sustituye el concepto de procedimientos almacenados por funciones JavaScript. Permite colecciones de tamaño fijo que ofrecen una velocidad muy alta en acceso y modificación, ideales para información relacionada con trazas o por ejemplo cacheo.
  •  Se instala en Archivos de ProgramaMongoDBCsharpDriver 1.3
  •  Lo primero será visitar la página de descargas de MongoDB. Seleccionamos la versión adecuada, en mi caso Windows 32 bits:   Una vez descargado el fichero, debemos descomprimirlo en algún lugar del disco
  •        Por defecto, MongoDB almacenará la data en la carpeta dbdata, pero esta no es creada automáticamente, por lo que debemos hacerlo nosotros. C:> mkdir data C:> mkdir datadb Y listo!, ya tenemos instalado MongoDB. Levantar el server y conectarnos a él. Los binarios importantes que están en la carpeta mongobin son: · mongod.exe – que corresponde al servidor, prueba con mongod –help para las opciones · mongo.exe – El Shell para administración
  •  Entro a c:mongobinmongod.exe para correr el server:  La consola de administración por defecto nos conecta al el servidor de MongoDB corriendo en localhost, y usa una base de datos llamada test, podemos ver más opciones para el arranque de elshell con mongo --help.
  •  Para conectar al servidor de bases de datos, utilice alguna de las siguientes formas:  <?php $connection = new MongoClient(); // connects to localhost:27017 $connection = new MongoClient( "mongodb://example.com" ); // c onnect to a remote host (default port: 27017) $connection = new MongoClient( "mongodb://example.com:65432 " ); // connect to a remote host at a given port ?>  No es necesario desconectar explícitamente de la base de datos. El controlador usa conexiones persistentes y reutilzará las conexiones ya establecidas.
  •  Para seleccionar una base de datos, utilice.  <?php $connection = new MongoClient(); $db = $connection->dbname; ?>  La base de datos no debe necesariamente haber sido ya creada, sino que pueden crearse con sólo seleccionarlas.  ¡Tenga cuidado con los errores tipográficos! Podría, por inadvertencia, crear una nueva base de datos, provocando errores (aquí, name está mal escrito comoanme en la segunda selección:  <?php $connection = new MongoClient(); $db = $connection->mybiglongdbname; // hacemos algo $db = $connection->mybiglongdbanme; // ¡ahora estamos conectando a una nueva base de datos! ?>
  •  Los objetos básicos para almacenar en una colección de una base de datos son los arrays asociativos. Un "documento" cualquiera podría ser:  <?php $doc = array( "name" => "MongoDB", "type" => "database", "count" => 1, "info" => (object)array( "x" => 203, "y" => 102), "versions" => array("0.9.7", "0.9.8", "0.9.9") ); ?>  Observe que se pueden tener arrays y objetos anidados. El controlador siempre almacenará un array asociativo como un objeto en la base de datos. Un array indexado numéricamente es almacenado como un array en caso de que las claves empiecen en 0 y no estén interrumpidas, y como un objeto si las claves del array no empiezan en 0 o tienen huecos (esto es: 0, 1, 4, 5).
  •  Podemos crear una consulta para pasar al método MongoCollection::find() y así obtener un subconjunto de documentos de nuestra colección. Por ejemplo, si quisiéramos encontrar el documento cuyo valor en el campo "i" es 71, haríamos lo siguiente:  <?php $connection = new MongoClient(); $collection = $connection->database->collectionName; $query = array( 'i' => 71 ); $cursor = $collection->find( $query ); while ( $cursor->hasNext() ) { var_dump( $cursor->getNext() ); } ?>
  •  MongoDB soporta índices, y es muy fácil añadirlos a una colección. Para crear un Índice, debe indicar el nombre del campo y la dirección: ascendente (1) o descendente (-1). A continuación, creamos un índice ascendente en el campo "i":  <?php $connection = new MongoClient(); $collection = $connection->database->collectionName; $coll->ensureIndex( array( "i" => 1 ) ); // create index on "i" $coll->ensureIndex( array( "i" => 1, "j" => 1 ) ); // index on "i" descending, "j" ascending ?>  A medida que los datos crecen, la indexación se vuelve crítica para un buen rendimiento de lectura. Si no está familiarizado con las indexaciones, revise la documentación de MongoCollection::ensureIndex() y l a » documentación de indexación de MongoDB.