1 Bases de Datos NoSQL
¿Qué son las bases de datos NoSQL?
Introducción a las bases de datos NoSQL
- Las bases de datos NoSQL no se integran en el modelo relacional tradicional, permitiendo un almacenamiento más flexible y escalable.
- La terminología "NoSQL" significa "not only SQL", indicando que existen otros modelos además del relacional, como el modelo de documentos.
Estructura y características
- A diferencia de las bases de datos relacionales, las NoSQL no utilizan tablas con columnas y filas ni el lenguaje SQL para acceder a los datos.
- Estas bases tienen una arquitectura distribuida compuesta por nodos interconectados, lo que permite la escalabilidad horizontal.
Comparación entre modelos
- En las bases de datos relacionales se utilizan tablas, mientras que en NoSQL se manejan colecciones donde cada renglón es un documento.
- Los índices también están presentes en NoSQL para facilitar el acceso rápido a la información; sin embargo, no hay operaciones JOIN como en SQL.
Formato de almacenamiento
- Los documentos en NoSQL suelen estar formateados como JSON (JavaScript Object Notation), utilizando un esquema clave:valor.
- Dentro de un documento JSON pueden existir otros documentos anidados o arreglos, lo que proporciona mayor flexibilidad en la estructura de los datos.
Ventajas y aplicaciones
- Las bases de datos NoSQL son consideradas más expresivas y poderosas al manejar estructuras complejas comparadas con filas y columnas tradicionales.
- Ejemplos populares incluyen Apache Cassandra, MongoDB y Neo4j, utilizados ampliamente en aplicaciones móviles y web.
Ventajas frente a bases de datos relacionales
Consideraciones para elegir NoSQL
- Se prefieren las bases de datos NoSQL cuando se requiere manejar grandes volúmenes de datos (terabytes).
- Son ideales para soluciones que necesitan escalar rápidamente debido a picos elevados de uso concurrente por múltiples usuarios.
Flexibilidad estructural
¿Cuáles son las ventajas y desventajas de las bases de datos NoSQL?
Ventajas de las bases de datos NoSQL
- Las bases de datos NoSQL ofrecen alto rendimiento y baja exigencia, lo que permite su funcionamiento en sistemas con recursos modestos sin necesidad de grandes servidores.
- La escalabilidad es horizontal, permitiendo agregar nodos para aumentar el rendimiento y manejar grandes volúmenes de datos sin crear cuellos de botella.
- Mayor flexibilidad en el tipo de información almacenada, adaptándose a diversas estructuras y formatos.
Desventajas de las bases de datos NoSQL
- Falta de funciones de fiabilidad como restricciones (constraints), lo que puede llevar a problemas en la integridad referencial al no existir forinkeys.
- La ausencia de restricciones referenciales puede complicar la seguridad del sistema, ya que se requiere programar esquemas adicionales para garantizar la integridad.
- Limitaciones en la aplicabilidad del modelo relacional frente a los modelos NoSQL, afectando potencialmente el manejo eficiente del lenguaje de consulta.
- En algunos casos, realizar búsquedas sobre colecciones puede requerir más tiempo o poder computacional debido a la estructura menos optimizada para ciertas consultas.
Introducción a MongoDB
- MongoDB es una base de datos muy utilizada hoy en día; se recomienda descargarla desde su sitio oficial (mongodb.com).
- Existen dos alternativas principales: Enterprise y Atlas. Para esta práctica se utilizará la versión Community Edition, que es gratuita pero limitada en funcionalidades.
- El proceso incluye descargar e instalar la versión Community Edition como cualquier otra aplicación Windows.
Documentación y recursos
- La documentación está disponible en docs.google.com, donde se pueden encontrar manuales e introducciones sobre instalación y uso inicial.