jueves, 3 de mayo de 2012

Reporte #13

Se vió sobre MongoDB que es un sistema de base de datos multiplataforma orientado a documentos, de esquema libre, con esto nos referimos a que puede tener un esquema de datos diferente, con atributos o columnas que no tienen por que repetirse de un registro a otro.Una de las principales características que más destaca de MongoDB son su velocidad y su sencillo sistema de consulta.

MongoDB tiene un método llamado Sharding que es usado para una gran colección de datos en varios servidores, que comúnmente lo llamamos clúster.Ahora la gran diferencia entre los demás tipos de esquemas que se usan comúnmente es que en MongoDB hace casi todo de forma automática, una vez que le dices a MongoDB que distribuya datos, el mismo se ocupará de mantener un cierto equilibrio entre los datos de los servidores.Una vez que agregas un nuevo servidor al clúster, MongoDB se encargará de que reciba la misma cantidad de datos.

Sharding fue diseñado para cumplir con tres objetivos:

Hacer el clúster "invisible".Con esto queremos decir sí hacemos un programa, que no nos interesa que este tenga idea con quien se comunica solamente queremos darle la información de la consulta.

MongoDB viene con un proceso de enrutamiento especial llamado mongos, este reenvía las solicitudes al servidor correcto o los servidores del clúster, para luego reunir sus respuestas y enviarlas de vuelta al cliente.De esta manera se cumple ese objetivo, el cliente no tiene que saber que se está hablando hacía un clúster o un solo servidor.

Hacer el clúster siempre disponible para lectura y modificaciones.Habrá veces en el que un clúster no te podrá garantizar que siempre va estar disponible, sin embargo nunca debería de haber un momento en que los usuarios no pueden leer o escribir datos.El clúster deberá permitir a tantos nodos como sea posible para fallar antes de que su funcionalidad notablemente degrade.

MongoDB nos asegura el máximo tiempo en un par de maneras diferentes, cada parte de un clúster puede y debe tener por lo menos algunos procesos redundantes que se ejecunten en otros equipos de manera que si un proceso, máquina ó centro de datos se cae los otros inmediatamente responden y se mantienen adelante.

Permitir al clúster crecer fácilmente.Con esto nos referimos a que el clúster necesitará más espacio o recursos y nosotros deberíamos ser capaz de agregarla.MondoDB nos permite aumentar la capacidad de todo lo que se necesita, e incluso eliminar.

Vistos los anteriores objetivos nos daremos cuenta que un clúster debe ser fácil de usar y administrar.MongoDB nos permite hacer que nuestras aplicaciones crezcan de forma robusta y sencilla.

Nominación:
Alex V. por su explicación de algunos puntos a tomar al momento de programar en Cuda
Victor por su explicación de procesadores vectoriales
Raúl por su explicación a fondo de supercomputadoras
Pepe Gzz. por su explicación de OpenPBS

Fuente:

¿Qué es MongoDB?
http://www.genbetadev.com/bases-de-datos/una-introduccion-a-mongodb

Libro Scaling MondoDB O'Reilly por Kristina Chodorow

1 comentario: