ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Mongodb


Enviado por   •  18 de Marzo de 2014  •  Tesis  •  1.567 Palabras (7 Páginas)  •  426 Visitas

Página 1 de 7

MongoDB

Integrantes:

Luis Miguel Ávila Díaz

Cod:91100412468

Carlos Antonio Galán Guerra

GRUPO: A

DOCENTE

Sergio Peñaloza Rojas

UNIVERSIDAD DE PAMPLONA

FACULTAD DE INGENIERIAS Y ARQUITECTURAS

DEPARTAMENTO INGENIERIA DE SISTEMAS

PAMPLONA

2011

Objetivos.

Obtener una visión general sobre los motores de bases de datos NO-SQL

Conocer la terminología y el funcionamiento básico de una base de datos documental

Aprender a utilizar la equivalencia de una relación en SQL en bases de datos NO SQL

INTRODUCCIÓN.

MongoDB es una base de datos open source que está teniendo mucha aceptación por las prestaciones que ofrece en entorno Web 2.0, aunque puede ser utilizada en cualquier tipo de situaciones. MongoDB acerca el sistema de almacenamiento y gestión de datos tipo clave/valor, puliendo la diferencia con respecto a los sistemas de bases de datos relacionales. Este sistema permite una tremenda rapidez y escalabilidad, frente a la funcionalidad de los sistemas de bases de datos tradicionales.

MONGODB

MongoDB es otra de las muchas bases de datos NO SQL existentes, cuya particularidad es que intenta unir las ventajas de los almacenes clave-valor y de las bases de datos relacionales clásicas (RBDMS). Del mismo modo que CouchDB, es una base de datos de documentos sin esquema, pero está desarrollada en C++ en lugar de Erlang.

Para almacenar los documentos, MongoDB utiliza una serialización binaria de JSON, llamada BSON, que es una lista ordenada de elementos simples. El núcleo de la base de datos es capaz de interpretar su contenido, de modo que lo que a simple vista parece un contenido binario, realmente es un documento que contiene varios elementos. Estos datos están limitados a un tamaño máximo de 4 MB; para tamaños superiores se requiere del uso de GridFS.

En el área funcional, MongoDB permite la realización de operaciones de modificación de documentos enviando solamente el diferencial de datos, esto es, la modificación del mismo se realiza dentro del servidor, no en la parte cliente. Además, las escrituras a disco no son simultáneas a la realización de la operación, sino que difieren unos 2 segundos, en los que se puede modificar varias veces el registro antes de ser persistido. Además, en el caso de incrementar el tamaño del documento y de que los nuevos datos no se puedan almacenar junto los antiguos, se mueve el documento entero hasta un área vacía del archivo de datos (esto es, se evita en gran medida la fragmentación del mismo).

Un aspecto relevante de MongoDB es que soporta consultas dinámicas (comportamiento análogo al de SQL), es decir, se pueden formular sobre cualquier valor de los documentos y no solamente en los indexados. Por otra parte, la escalabilidad horizontal de esta base de datos está limitada, actualmente, a 20 nodos, aunque el objetivo es alcanzar una cifra cercana a los 1000.

También dispone de MapReduce, del mismo modo que CouchDB, por lo que las diferencias más visibles entre ambas bases de datos son, aparte del lenguaje de programación en el que están implementadas, la interfaz entre estas y el desarrollador.

Colecciones:

Una colección es un conjunto de documentos. Podemos verlo como si fuera una tabla en una base de datos relacional.

A destacar:

Una colección se identifica por su nombre.

El string vacío “” no es un nombre válido de colección.

El nombre de la colección no puede contener el carácter , es decir, el caractér null y tampoco debería contener el carácter $, dólar.

No deberías crear colecciones que empiecen con system. ya que es un prefijo reservado para las colecciones del sistema. Por ejemplo system.users es una colección que contiene los usuarios de las bases de datos.

Subcolecciones:

Podemos organizar colecciones en subcolecciones utilizando namespaces separados por el, carácter. Por ejemplo si tenemos un blog podemos tener una colección blog.posts y otra colección blog. Autores.

Las subcolecciones son una gran manera de organizar los datos en MongoDB.

Esquema libre (Schema-Free):

Esquema libre significa que los documentos de una misma colección pueden tener estructuras diferentes. Por ejemplo, estos dos documentos pueden formar parte de la misma colección:

{"greeting" : "Hello, world!"}

{"foo" : 5}

Como vemos, podemos guardar dentro de una colección cualquier tipo de documentos, pero no es una buena idea utilizar una única colección para almacenar todo. Algunos motivos:

Mantener diferentes tipos de documentos en una misma colección puede ser una pesadilla.

Es mucho más rápido obtener una lista de documentos que tengan la misma estructura.

Es una buena práctica imponer una cierta estructura, sobretodo cuando queremos crear índices.

Tipos de datos

Vamos a ver los tipos de datos soportados por MongoDB. Los documentos en MongoDB se almacenan con una notación JSON, que son similares a los objetos en JavaScript. JSON es una notación de datos que permite utilizar solamente seis tipos de datos, pero MongoDB amplía los tipos permitiéndonos trabajar con algunos más, como por ejemplo, las fechas.

null:

Null puede ser usado para representar un valor nulo o un campo que no existe:

{"x" : null}

boolean:

Booleano que puede tomar los valores true o false:

{"x" : true}

enteros de 32 y 64 bits y números en coma flotante:

{"x" : 150}

{"x" : 3.1416}

string:

Una cadena de caractéres UTF-8:

{"x" : "Hola"}

símbolo (symbol):

Aún no sé muy bien para que sirven, pero la shell no los soporta.

object id:

Un id único para cada documento.

{"x" : ObjectId()}

fecha (date):

Para almacenar fechas. La zona horaria no se almacena.

{"x" : new Date()}

expresiones regulares:

Los documentos pueden contener expresiones regulares.

{"x" : /Hola/i}

código

...

Descargar como (para miembros actualizados) txt (12 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com