Cargando



Mongodb, base de datos nosql

MongoDB es una base de datos NoSQL, aquí nos olvidamos de la estructura clasica de tablas y relaciones entre tablas del modelo de bases de datos relacionales.


feb 14 2014 02:50
feb 18 2014 12:34

logo-mongodb-onwhite.jpg


[color=#000000]MongoDB es una base de datos NoSQL, aquí nos olvidamos de la estructura clasica de tablas y relaciones entre tablas del modelo de bases de datos relacionales, en MongoDB lo más parecido que encontraremos a una tabla son las colecciones, que vienen a ser una especie de listas donde vamos almacenando los diferentes objetos y sus atributos. Se abandona el enfoque relacional por bases de datos orientadas a objetos y de esta manera es como se procesa la información.[/color]

[color=#000000]Entre los usuarios mas conocidos de esta base de datos estan Google, Facebook, Ney York times, foursquare, Digg, entre otros. Son servicios que tienen una cantidad de consultas en sus bases de datos impresionantes, además de necesidades de escalar de manera horizontal constantemente.[/color]

[color=#000000]Estas bases de datos son bastantes eficientes en entornos de clustering.[/color]
[color=#000000]las Bases de datos relacionales tienen limitaciones cuando se escalan grandes volumenes de datos.
Además de las ventajas cuando se tienen que añadir o reemplazar nodos caidos sin [/color]

[color=#000000]tener que apagar el hardware, servidores o datacenters, ni el software o bases de datos.[/color]

[color=#000000]INSTALACION DE MONGODB[/color]
[color=#000000]Las instrucciones de instalación las encontramos en el propio site de MongoDB.[/color]
[color=#000000]Para el caso de Linux 64 bit:[/color]

[color=#000000]Importamos una clave de MongoDB para Ubuntu[/color]
[color=#000000]
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
[/color]

[color=#000000]Lo añadirlo a los repositorios para tener la ultima version[/color]
[color=#000000]
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen'
[/color]

[color=#000000]Actualizamos los repositorios[/color]
sudo apt-get update

[color=#000000]Instalamos MongoDB[/color]
[color=#000000]
sudo apt-get install mongodb-10gen
[/color]


[color=#000000]Para iniciar el motor de MongoDB ejecutamos el sisguiente comando[/color]
sudo /etc/init.d/mongodb start

Para detenerlo
sudo /etc/init.d/mongodb stop


Conceptos basicos de base de datos MongoDB

Una base de datos en MongoDB tiene diferentes conceptos a una base de datos regular como MySQL. Cada [color=#000000]registro o unidad básica[/color] de datos se le denomina [color=#000000]documento[/color]. Y cada [color=#000000]conjunto de documentos[/color], que formarían una tabla, se le llama [color=#000000]colección[/color].

Un documento se podría comprar con el concepto de [color=#000000]fila[/color] y una colección a una [color=#000000]tabla.[/color]

[color=#000000]Ejemplo de base de datos[/color]
[color=#000000]Una vez que inciamos el motor de MongoDb trabajaremos desde la consola creando una base de datos.[/color]

[color=#000000]Creamos la base de datos Empresadb[/color]
[color=#000000]
use Clientes
[/color]


[color=#000000]Ingresamos datos[/color]

[color=#000000]Lo siguiente será insertar un elemento dentro de la colección de Contactos [/color]
db.contactos.save({
Nombre: "Pedro",
Apellidos: "Martínez Campo",
Edad:22,
Aficiones: ["fútbol","tenis","ciclismo"],
Amigos: [ {Nombre:"María", Edad:22}, {Nombre:"Luis", Edad:28 }]
}[i][color="#000000"])


[color=#000000]El documento anterior es un clásico documento JSON. Tiene strings, arrays, subdocumentos y números. En la misma colección podríamos guardar un documento como este. [/color][color=#000000]Aqui guardamos un registro de contacto que a su vez contiene las colecciones Aficiones y Amigos dentro.[/color]

[color=#000000]Los registro no necesitan tener un id o campo clave ya que al ser objetos se identifican automaticamente[/color]

[color=#000000]Para realizar una busqueda haremos una consulta por ejemplo por nombre[/color]

[color=#000000]
db.contactos.find({Nombre:"Pedro"});
[/color]


[color=#000000]Nos devolvera los sugiente datos ç[/color]
{ "_id" : ObjectId("51bcc8986fba2c81d4e8a1d6"), “Nombre” : "Pedro",
“Apellidos” : "Martínez Campo",.....}


[color=#000000]Buscara todos los registro que coincidan con el nombre Pedro[/color]
[color=#000000]Si queremos utilizar un lenguaje de programación existen drivers para un gran número de ellos. Hay drivers oficiales para C#, Java, Node.js, PHP, Python, Ruby, C, C++ y Perl.[/color]

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X