Introducción a MongoDB
Este post es una contribución de David Trillo de Manejando Datos, un blog sobre bases de datos y programación. David estará contribuyendo al blog de Escuela. ¡Gracias, David!
————
Desde hace varios años, existe una nueva tendencia en el sector de las bases de datos hacia nuevos conceptos. Se trata de las bases de datos NoSQL, o sea, Not Only SQL.
En los siguientes párrafos voy a contar una pequeña introducción sobre mongoDB, cuya web oficial es www.mongodb.org, y donde encontrarás más información sobre este interesante proyecto.
Conceptos básicos
Para alguien que solo conoce las bases de datos relacionales, empezar con las bases de datos de MongoDB requiere una “pequeña” introducción a los principales conceptos.
Un registro de SQL se denomina documento en NoSQL, mientras que una tabla de SQL es una colección de documentos en NoSQL.
Los documentos son un conjunto de claves con sus valores asociados, cómo por ejemplo { “clave”: “valor” }, y que tienen además un esquema dinámico. Se entiende por esquema dinámico el hecho de que los documentos de una misma colección no necesiten tener el mismo conjunto de campos o estructura, e incluso campos comunes pueden contener distintos tipos de dato.
Frente a las tablas de las base de datos relacionales, las claves son “cadenas” que no pueden contener caracteres especiales como $, #, … en contraste con los campos autonuméricos de las bases de datos relacionales (bueno, esto es lo deseable!). Además, las claves serán únicas, no estando permitido claves duplicadas.
Las colecciones (de documentos) son las que permiten organizar los documentos de forma rápida y cómoda. Lo más lógico es que cada colección contenga documentos con un mismo tipo de estructura, y no se mezclen, aunque cómo hemos visto antes, los esquemas dinámicos permiten muchas opciones.
Y … ¿qué ventajas tienen este tipo de bases de datos? La rapidez de las consultas. Una de las características de MongoDB es que no es una base de datos transaccional, esto es, las operaciones de insercion y/o actualizacion no se hacen dentro de una transacion, sino en varias, por lo que es posible que se realicen algunas sí y otras no (en las bases de datos transaccionales, o se realizan todas o no se realiza ninguna).
La información en la base de datos se guarda en formato BSON, que es una versión modificada del formato JSON, formato muy utilizado en programación Web, sobre todo en JavaScript.
Por eso, mongoDB es muy interesante si se usa con otros dos proyectos muy interesantes, como son node.js o Socket.io.
¿Te interesa el tema? David ha escrito mucho sobre MongoDB en ManejandoDatos. Ha cubierto los desafíos; publicado reflexiones, scripts, e inclusive una guía de instalación. ¡Aprovecha esta información!
Deja un comentario