MongoDB es un sistema de bases de datos NoSQL orientado a documentos. Como su acrónimo lo denomina (Not only SQL), es una base de datos que funciona con código abierto, es escrita en C++ y se almacena en BSON una representación binaria de JSON.
Su función principal es la de agrupar bases de datos más flexibles e independientes del modelo SQL (lenguaje de consulta estructurada), por un modelo NoSQL orientado a documentos.
Bases de datos NoSQL
Una base de datos NoSQL es un tipo de base de datos más flexible, que alberga una clase de datos específicos y es ampliamente reconocida por su fácil aprendizaje, desarrollo y funcionalidad. Además de estas funciones, las bases de datos NoSQL fueron desarrolladas con el objetivo de guardar aplicaciones con grandes volúmenes de datos.
Funciones de MongoDB
- Consultas ad hoc: En sus funciones resaltan la búsqueda por campos, consulta de rangos, expresiones regulares y una función definida de devolución de un campo especifico.
- Indexación: Con MongoDB cualquier campo de una base de datos puede ser indexada.
- Balanceo de carga: La función de ejecutarse en diferentes servidores, le suministra la capacidad a través de una clave de sharding, de distribuir los datos dividiéndolos en rangos, logrando así, balancear la carga.
- Replicación: La replicación consiste en agrupar una serie de datos primarios y secundarios; los primarios ejecutan comandos de lectura y escritura, los secundarios se utilizan para la lectura y copia de seguridad.
- Guardar archivos: Con MongoDB los archivos se guardan con un sistema llamado GridFS, que se implementa sobre los drivers y no sobre el servidor.
- JavaScript del lado del servidor: Con JavaScript, las consultas son enviadas y ejecutadas directamente en la base de datos.
Que se puede hacer con MongoDB
- Aplicaciones.
- Desarrollo de juegos.
- Tiendas online.
- Manejo de grandes bases de datos.
- Tratamiento de estadística en tiempo real.
Ventajas
- No necesita grandes recursos informáticos.
- Bajo costo.
- Complementario con JavaScript.
- Excelente documentación.
Desventajas
- Tecnología mejorable.
- No soporte de transacciones complejas.