Informática

Bases de datos NoSQL

4 noviembre, 2013

Las bases de datos NoSQL son almacenamientos de información que no cumplen las restricciones básicas del modelo relacional y que por tanto, no tienen un conjunto de tablas relacionadas entre sí de una manera ordenada y lógico.

Las bases de datos NoSQL surgen por las deficiencias encontradas en los modelos relacionales para manejar gigantescas cantidades de información de una manera rápida y eficaz.

En una base de datos relacional, todo funciona correctamente hasta el momento en el que el devenir de los acontecimientos nos obliga a realizar una modificación del sistema de tablas y relaciones que definen la estructura de nuestra base de datos. En ese momento es cuando nos preguntamos  “¿por qué habré realizado un sistema tan robusto en el que ahora no tengo manera de meterle mano?”.

Un sistema de almacenamiento NoSQL no precisa de un sistema de tablas y relaciones entre ellas, sino que trabaja con otro tipo de información como clave-valor, objetos, grafos o documentos.

De esta estructuración de las bases de datos se puede suponer, que al no tener una estructura de tablas relacionadas, no se podrás realizar las temidas sentencias JOIN. Esto es un gran avance con respecto las bases de datos relacionales, puesto que este tipo de sentencias sobre campos no clave suelen ralentizar el funcionamiento del software por la gran cantidad de datos relacionados a manejar.

Otra diferencia de las bases de datos NoSQL con las bases de datos relacionales es que, como se puede imaginar por el nombre dado a estos sistemas de almacenamiento, no usan lenguaje SQL como lenguaje principal de consulta. Así pues algunos gestores de estas bases de datos como pueden ser BigTable, desarrollado por Google, utiliza GQL, MongoDB utiliza JSON y Cassandra utiliza CQL.

Una desventaja importante de estos sistemas de almacenamiento es que la información almacenada no guarda los principios de atomicidad, consistencia, aislamiento y durabilidad (ACID), principios básicos en la definición de las bases de datos relacionales propuesta por Codd. Estos sistemas prescinden de esta robustez de información en pos de una mayor agilidad en las consultas que devuelven gran cantidad de datos con millones de registros involucrados.

Una ventaja de estos sistemas de almacenamiento basados en bases de datos NoSQL es la facilidad de manejar y definir bases de datos distribuidas, puesto que al no depender de una estructura de tablas prefijada por el diseñador de la base de datos es muy fácil realizar las particiones horizontales características de estos diseño de bases de datos distribuidas y definirlas en diferentes servidores, mientras que en las bases de datos relacionales la distribución es mucho más complicada por el complejo sistema diseñado de tablas y relaciones, en los que resultaba muy complicado determinar qué datos debemos ubicar en los diferentes servidores, puesto que siempre existían datos ubicados en otros servidores y provocaban una ralentización del funcionamiento del software que se estuviese manejando.

Llegados a este punto, cabe preguntarse “¿Cuándo debemos de utilizar una base de datos NoSQL y cuando una base de datos relacional?.

La respuesta es sencilla: una base de datos NoSQL se utilizará cuando dispongamos de una base de datos relacional que no sea capaz de satisfacer las necesidades de nuestro software.

Por tanto, este tipo de bases de datos no es que reemplace a las bases de datos relacionales, sino que las complementa cuando estas se quedan pequeñas o poco prácticas para el manejo de grandes cantidades de información.

 bases de datos

 

Puedes compartir este artículo en:
    Deja un comentario

    Información básica acerca de cómo protegemos tus datos conforme al Reglamento General de Protección de Datos (Reglamento UE 2016/679) y en la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos Personales y garantía de los derechos digitales

    De conformidad con lo establecido en el Reglamento General de Protección de Datos, te informamos de:

    - Quien es el responsable del tratamiento: SEAS, Estudios Superiores Abiertos S.A.U con NIF A-50973098, dirección en C/ Violeta Parra nº 9 – 50015 Zaragoza y teléfono 976.700.660.

    - Cuál es el fin del tratamiento: Gestión y control de los comentarios del blog de SEAS. 

    - En que basamos la legitimación: En tu consentimiento.

    - La comunicación de los datos: No se comunicarán tus datos a terceros.

    - Los criterios de conservación de los datos: Se conservarán mientras exista interés mutuo para mantener el fin del tratamiento o por obligación legal. Cuando dejen de ser necesarios, procederemos a su destrucción.

    - Los derechos que te asisten: (i) Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al tratamiento, (ii) derecho a retirar el consentimiento en cualquier momento y (iii) derecho a presentar una reclamación ante la autoridad de control (AEPD).

    - Los datos de contacto para ejercer tus derechos: SEAS, Estudios Superiores Abiertos S.A.U. C/ Violeta Parra nº 9 –
    50015 Zaragoza (España) o través de correo electrónico a lopd@estudiosabiertos.com

    - También puedes ponerte en contacto con nuestro Delegado de Protección de Datos en dpd@estudiosabiertos.com

    Información adicional: Puedes consultar la información adicional y detallada sobre nuestra política de privacidad