Que es MongoDB y otros Detalles

5 minuto(s)

Una de las características del Desarrollo es que existen muchas herramientas que ofrecen soluciones a los problemas que se presentan durante la  creación de un Proyecto, estas herramientas permiten al Desarrollador dar el siguiente paso en su objetivo, ya que estas  cuentan con elementos y funcionalidades que le dan un mejor soporte, una mejor gestión de Tareas y muchas otras características, una de estas herramientas es Mongo DB y en este Post te contaré varios detalles al respecto.

Fuente: Vecteezy

Antes de continuar con este artículo te invito a que me sigas en las redes sociales para que no te pierdas Posts como este y los nuevos que se publicarán en este Blog.

Que es Mongo DB ?

Es una Base de Datos no relacional (No SQL) de uso general, escalable y muy potente que permite almacenar grandes cantidades de Datos de Aplicaciones Web, Móviles, Híbridas, Desktop, entre otras. Mongo DB combina la capacidad que tiene para ser escalable con características como índices secundarios, consultas de rango, clasificación, agregaciones, índices geoespaciales, etc.

Una Base de datos relacional esta orientada al concepto de filas en una tabla, pero Mongo DB se orienta a documentos y reemplaza el concepto de filas, haciendo flexible la gestión de los Datos, Mongo DB al permitir documentos e inserciones de matrices hace posible representar relaciones jerárquicas complejas en un solo registro creado en la Base de Datos Mongo DB.

En Mongo DB no hay esquemas predefinidos, las claves y los valores de un documento son de tipos o tamaños fijos, en un documento con esquema fijo las tareas para agregar o eliminar campos se vuelven más fácil y con gran rendimiento.

De manera general Mongo DB hace que el Desarrollo de un Proyecto sea más ágil, ya que los Desarrolladores pueden iterar rápidamente con los Datos de la Base de Datos, asimismo es más fácil experimentar y probar docenas de modelos de datos y elegir la que mejor se adapte a lo que estamos buscando.

Los Datos en Mongo DB son almacenados mediante estructuras en formato BSON, que es una especificación similar a JSON sobre un esquema dinámico.


En el código anterior puedes  ver que el campo Ingredientes contiene en su interior otro documento con los campos Harina, Huevos y Leche. Te recomiendo leer el artículo Tipos de Datos que podemos usar en JSON que te ayudará a entender los tipos de Datos con los que se pueden trabajar en un archivo JSON.

Una Base de Datos Escalable

El tamaño de los datos en las aplicaciones crecen a un ritmo increíble, el ancho de banda cada cierto tiempo aumenta y el almacenamiento común han creado un entorno en el que incluso las aplicaciones pequeñas necesitan almacenar cada vez más datos de lo establecido, un 1 TB (Un Terabyte) de datos, antes era una cantidad inaudita de información, ahora esto es común.

Conforme crecen los Datos de una aplicación, los Desarrolladores enfrentan un decisión difícil: Como escalar sus Bases de Datos ? Escalar una Base de Datos se reduce a la elección entre escalar (Obtener una PC más grande) o escalar (Particionar datos en las PCs). Ampliar siguiendo una de estas formas a menudo es el camino más sencillo, pero tiene inconvenientes: las PCs grandes a menudo son muy caras y pueden tener un limite físico en el que ya no se puede comprar una PC más potente a cualquier costo.

La alternativa puede ser escalar: agregar espacio de almacenamiento o aumentar el rendimiento del PC para las operaciones de lectura y escritura, comprar servidores adicionales y agregarlos al clúster. Esto al parecer es más barato y más escalable, sin embargo, es más difícil administrar los múltiples servidores adicionales.

Sabiendo lo anterior, Mongo DB fue diseñado para que el Desarrollador pueda escalar sus aplicaciones, el modelo de datos orientado a documentos facilita la división de datos en múltiples servidores. Mongo DB se encarga automáticamente de equilibrar los datos y la carga en un clúster, redistribuye documentos de manera automática y enruta las lecturas y escrituras en las PCs correctas.

Características de Mongo DB

Al ser una Base de Datos de uso general, Mongo DB te permite realizar operaciones CRUD (Create, Read, Update y Delete), proporciona la mayoría de características que un sistema de administración de Bases de Datos ofrece, como las siguientes:

Indexación

Mongo DB tiene soporte para indices secundarios genéricos y también proporciona capacidades de indexación únicas, compuestas, geoespaciales y de texto. Los índices secundarios en estructuras jerárquicas, como documentos anidados y matrices, también son compatibles y permiten a los Desarrolladores aprovechar al máximo la capacidad de modelar de la manera que mejor se adapte a las necesidades de sus aplicaciones.

Agregación

Proporciona un marco de agregación basado en el concepto de canales de procesamiento de datos. Las canales de agregación permiten construir motores de análisis complejos mediante el procesamiento de datos a través de una serie de etapas relativamente simples en el lado del servidor, aprovecha al máximo las optimizaciones de la Base de Datos.

Colecciones Especiales y Tipos de índice

Mongo DB soporta Colecciones de TTL (Time to Live) en español significa Tiempo de Vida, para datos que suelen caducar en un determinado momento, como sesiones y colecciones de tamaño fijo (con límite), para almacenar datos recientes como registros. También admite índices parciales limitados solo a aquellos documentos que coinciden con un filtro de criterios que aumentan la eficiencia y reducen la cantidad de espacio de almacenamiento requerido.

Almacenamiento de Archivos

Mongo DB cuenta con un protocolo sencillo que permite almacenar archivos grandes y también permite almacenar metadatos de archivos de tus Aplicaciones.

Conclusión

La tecnología con la que cuenta la Base de Datos no relacional Mongo DB, esta por encima de las tecnologías que usan las Bases de Datos comunes como MySQL y similares, si necesitas almacenar datos de manera profesional, es momento que uses Mongo DB, vale la pena y cuenta con la garantía de que esta en muchas aplicaciones modernas muy populares y las grandes empresas.

Puedes ver la lista completa de todas las empresas que usan Mongo DB en el siguiente enlace de su Página Oficial.

Nota(s)

  • En próximos artículos, crearé aplicaciones con Mongo DB en donde se podrá apreciar todo el potencial que tiene este Sistema de Base de Datos no SQL.

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.