You are on page 1of 3

MongoDB

Introducción.
A pesar de que las bases de los datos relacionales han satisfecho las necesidades de muchos
usuarios, no son factibles para todas las soluciones.
MongoDB
Es un sistema de base de datos NoSQL multiplataforma. Está orientado a documentos de esquema
libre, lo que implica que cada registro puede tener un esquema de datos distinto, (los atributos no
tiene que repetirse entre los diferentes registros).
En MongoDB, cada registro o conjunto de datos se denomina documento, que pueden ser
agrupados en colecciones, (equivalente a las tablas de las bases de datos relacionales pero sin
estar sometidos a un esquema fijo).
La jerarquía es la siguiente 1) Servidor, 2) Base de datos, 3) Colección, 4) Documentos 5) Campos
Replicación
Para dotar de consistencia a nuestro sistema, y particularmente a una base de datos NoSQL como
MongoDB, resulta muy aconsejable el uso de la replicación, MongoDB, es más flexible que las
bases de datos relacionales, y por ello menos restrictivo, lo que puede presentar en ocasiones
problemas de volatilidad. Esto es del todo indeseable en las bases de datos.
Una replicación seria que MongoDB mande los documentos escritos a un servidor maestro, que
sincronizado a otro u otros servidores mandará esta misma información replicada, a estos
“esclavos”.
Escalabilidad Horizontal
La escalabilidad horizontal supone trabajar con varias máquinas de manera distribuida,
almacenando en cada uno de los nodos cierta información que de una forma u otra debe estar
comunicada con el resto de nodos que forman nuestro sistema. Esto dota de mayor flexibilidad al
sistema, ya que facilita la agregación de equipos en función de las necesidades. Se tiene que tener
en cuenta lo siguiente: 1) Límites potenciales de la escalabilidad 2) Tolerancia fallos 3) Facilidad de
administración 4) Facilidad de implementación y 5) Expectativa de escalabilidad de rendimiento.
Y para ellos se define Cluster conjunto de servidores distribuidos para un propósito común, en
nuestro caso, una base de datos.
Sharding. MongoDB utiliza el Sharding como método para dividir los datos a lo largo de los
múltiples servidores de nuestra solución. MongoDB realiza estas tareas de manera automática.
Balanceo. es un proceso de MongoDB para equilibrar los datos en nuestro sistema. Mueve
porciones de datos de un shard a otro, de manera automática, lo que supone una ventaja
apreciable.
El Clúster. Un clúster MongoDB se basa de forma general en tres procesos: 1. Sharding: para el
almacenamiento distribuido de datos 2. Mongos: para enrutar las peticiones hacia el dato correcto
3. Configuración de servidor: Para hacer el seguimiento del estado del clúster
Lista de comandos.
Inserciones básicas. Siempre que se quiera trabajar con los datos de una base de datos debe
seguir una nomenclatura definida. Primeramente aparecerán las letras db seguidas de un punto, y
el nombre de la colección sobre la que se quiere trabajar, en este caso, asignaturas.
Posteriormente debe indicarse el comando que se quiera ejecutar, ya sea find(), insert()
>db.asignaturas.insert({nombre: ‘Química’, profesor: ‘Juan’, año: ‘2012’})
Actualizaciones
La forma más sencilla de actualización es a través del comando Update. Para actualizar
simplemente uno, o varios campos, hemos de hacer uso de la llamada a $Set.
>db.asignaturas.update({nombre: ‘Física’}, {$set: {profesor: ‘Juan’}})

Concluciones
MongoDB utiliza un sistema de archivos, ya que cuenta con la capacidad para balancear la carga y
le recopilación de datos utilizando múltiples servidores para almacenamiento de archivos.
Es una base de datos orientada a documentos, esto quiere decir que en lugar de guardar los datos
en un registro, los guarda en un documento, que es un formato más ligero para el intercambio de
datos.

Capítulo 25
Datos espaciales y temporales y movilidad
Introducción.
El crecimiento de los dispositivos móviles, computadoras, computadoras portátiles y de bolsillo
Han generados un conjunto de problemas que en el siguiente capítulo trataremos.
Contenido.
25.1 Motivación.
Datos temporales: Bases de datos que almacenan información sobre estados de la realidad mundo
a través del tiempo se llaman bases de datos temporales.
Datos espaciales: Los datos espaciales incluyen datos geográficos, como mapas y asociaciones
información citada, y datos de diseño asistido por computadora, tales como diseños de circuitos o
diseños de edificios.
Datos multimedia: Un documento introducido en una base de datos multimedia es una composición
temporal, en la cual hay que introducir los diferentes tipos de datos, tanto como las relaciones de
configuración y temporales existentes entre ellos. Los datos deben estar sincronizados, controlando
tanto su estado como su comportamiento.
Base de datos móviles: Es una Base de datos donde los usuarios pueden acceder a la información
lejos de donde se encuentra almacenada la base de datos, se hace utilizando una conexión
inalámbrica.
25.2 El tiempo en la base de datos.
Al considerar la cuestión del tiempo en los sistemas de bases de datos, debemos distinguir entre el
tiempo medido por el sistema y el tiempo como se observa en el mundo real. El tiempo válido para
un hecho es el conjunto de intervalos de tiempo durante los cuales el hecho es cierto en el mundo
real. El tiempo de transacción para un hecho es el intervalo de tiempo durante que el hecho es
actual dentro del sistema de base de datos.
25.3 Datos espaciales y geográficos.
El soporte de datos espaciales en bases de datos es importante para almacenar, indexar, y consulta
de datos sobre la base de ubicaciones espaciales. Por ejemplo, supongamos que queremos
almacenar un conjunto de polígonos en una base de datos y consultar la base de datos para
encuentre todos los polígonos que se cruzan con un polígono dado. No podemos usar el índice
estándar estructuras, tales como árboles B o índices hash, para responder a dicha consulta de
manera eficiente. El procesamiento eficiente de la consulta anterior requeriría un índice de
propósito especial estructuras, como R-trees (que estudiamos más adelante) para la tarea.
Hay dos tipos de datos espaciales el primero datos de diseño asistido por computadoras (CAD) que
incluyen información espacial sobre cómo se construyen los objetos, como edificios, automóviles o
aviones; y el segundo datos geográficos como mapas de carreteras, mapas de uso de tierra,
elevación topográfica.
25.4 base de datos multimedia.
Los datos multimedia, como imágenes, audio y video, son cada vez más populares , hoy en día casi
siempre se almacenan fuera de la base de datos, en sistemas de archivos . Este tipo de
almacenamiento no es un problema cuando la cantidad de multimedia objetos es relativamente
pequeño, ya que las características proporcionadas por las bases de datos no suelen ser importante.
Sin embargo, las características de la BD se vuelven importantes cuando el número de objetos
almacenados es grande. Problemas tales como actualizaciones transaccionales, instalaciones de
consulta, y la indexación se vuelve importante. Un enfoque para construir una base de datos para
tales objetos multimedia es utilizar bases de datos para almacenar los atributos descriptivos y para
mantener un registro de los archivos en los que se almacenan los objetos multimedia. Sin embargo,
almacenar multimedia fuera de la base de datos hace que sea más difícil proporcionar funcionalidad
de base de datos, como la indexación sobre la base de datos multimedia reales contenido. También
puede dar lugar a inconsistencias, como un archivo que se observa la BD, pero cuyo contenido falta,
o viceversa. Por lo tanto, es deseable para almacenar los datos ellos mismos en la base de datos.
Formatos de datos multimedia: El formato más utilizado es JPEG, llamado así por los estándares
cuerpo que lo creo, también podemos almacenar datos de video codificando cada cuadro de video
en formato JPEG, pero al hacerlo es un desperdicio, ya que los cuadros sucesivos de un video a
menudo son casi iguales.
Datos de medios continuos: Los tipos más importantes de datos de medios continuos son datos de
video y audio (para ejemplo, una base de datos de películas). Los sistemas de medios continuos se
caracterizan por sus requisitos de entrega de información en tiempo real: los datos deben
entregarse lo suficientemente rápido como para que no haya espacios en el audio o video resultado,
los datos deben entregarse a una velocidad que no provoque el desbordamiento del sistema buffers
y se debe mantener la sincronización entre distintas corrientes de datos.
25.5 Movilidad y base de datos personales.
Los sistemas informáticos móviles se han vuelto comunes, dando lugar a un interés en los sistemas
de base de datos que se pueden ejecutar en dichos sistemas. Procesamiento de consultas en tales
sistemas puede involucrar búsquedas en las base de datos del servidor. El modelo de costo de
consultas debe incluir el costo de comunicación, incluido el costo monetario y el costo de la batería
, que es relativamente alto para los sistemas móviles.
Enrutamiento y procesamiento de consultas: La ruta entre un par de hosts puede cambiar con el
tiempo si uno de los dos hosts es móvil. Este simple hecho tiene un efecto dramático a nivel de red,
ya que las direcciones de red basadas ya no son constantes dentro del sistema. La movilidad también
afecta directamente el procesamiento de consulta de la base de datos.
Conclusiones.
El tiempo juega un papel importante en los sistemas de bases de datos. Las bases de datos son
modelos del mundo real. Mientras que la mayoría de las bases de datos modelan el estado del
mundo real en un punto en el tiempo (en el momento actual).

You might also like