1  Bases de Datos NoSQL

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.
Video description

Que son las bases de datos NoSQL, modelo de datos, ventajas y desventajas, Objetos JSON, modelo de documentos, etc.