Tecnologías

Publicado el 26 de febrero de 2015 Actualizado el 25 de septiembre de 2024

NoSQL: el nuevo paradigma de las bases de datos, a su alcance.

Para el mundo de la educación: rapidez y coherencia

NoSQL significa "No sólo SQL". La idea de nombrar un principio con una posibilidad negativa parece curiosa, como si demostrara que se ha superado una limitación. Siga la guía...

SQL (Lenguaje de Consulta Estructurado) : Lenguaje informático normalizado utilizado para manejar bases de datos relacionales.

Base de datos relacional: conjunto de información desglosada y organizada en matrices denominadas relaciones o tablas. El contenido de la base de datos puede procesarse mediante operaciones de álgebra relacional como la intersección, la unión y el producto cartesiano.

Los sistemas de gestión de bases de datos relacionales (RDBMS) deben cumplir los principios ACID

A C I D

  • Atomicidad: una "transacción" no puede dividirse.
  • Consistencia: una transacción siempre preserva la integridad de la base de datos y respeta todas las reglas de la base de datos. O bien se completa, o bien nunca ha tenido lugar.
  • Aislamiento: aunque varias transacciones se completen simultáneamente, su efecto final debe ser el mismo que si se hubieran completado una tras otra. Si una transacción da lugar a un error, éste no tendrá ningún efecto sobre ninguna otra transacción.

  • Durabilidad: si una transacción se ha completado, debe permanecer completada, incluso si el sistema se bloquea inmediatamente después. La base de datos debe almacenarse en una memoria no volátil.


Sin embargo, debido a la explosión de la cantidad de datos a procesar y, sobre todo, a su puesta en red en la nube, nos hemos topado con las condiciones demasiado rígidas de ACID. Eric Brewer demostró que es imposible que un sistema distribuido pueda garantizar más de dos de las tres condiciones de Coherencia, Disponibilidad y Tolerancia a la Partición en un momento dado. El Teorema CAP sirvió de base para el desarrollo de NoSQL.

Cuando se emparejan dos bases de datos, hay que duplicar varios elementos para cumplir las condiciones ACID, pero si hay que emparejar 20 o 200 elementos, rápidamente se convierte en una imposibilidad de hardware.

NoSQL garantiza que se cumplan al menos dos de las tres condiciones siguientes

  • que todos los nodos del sistema vean exactamente los mismos datos exactamente al mismo tiempo ;
  • que todas las consultas reciban una respuesta
  • que ningún fallo menos importante que una interrupción total de la red impedirá que el sistema responda correctamente. Si la red se divide en subredes, cada una puede funcionar de forma independiente.


De este modo, en general se da prioridad a la disponibilidad, la velocidad de procesamiento es prodigiosa y las respuestas se proporcionan con los datos más actualizados posibles.

Para el mundo de la educación

Inicialmente concebidas para alcanzar una velocidad de procesamiento de grandes volúmenes de datos o para tratar datos no estructurados, estas posibilidades son cada vez más comunes para las instituciones educativas.

Cuando se trata de procesar datos en tiempo real procedentes de plataformas de gestión de cursos, o de conseguir que decenas de bases de datos de distintos departamentos y en distintos sistemas se comuniquen entre sí, para nuevos usos, para utilizar datos no estructurados como fotos o vídeos, NoSQL ofrece una solución flexible y fácil de alcanzar para los programadores que hayan comprendido sus principios. Existen varios cursos introductorios y tutoriales.

MongoDB es un software noSQL de código abierto.

Por último, elejemplo de la compañía de seguros MetLife es edificante. En sólo tres meses han conseguido con NoSQL lo que llevaban años intentando sin éxito. Varias universidades y campus se encuentran en la misma situación. Existe una solución.

Ilustración: pisotskii - ShutterStock

Referencias

NoSQL: 5 minutos para entenderlo - Amine Chaghal - Neoxia
http://blog.neoxia.com/nosql-5-minutes-pour-comprendre/

10 minutos para entender...NoSQL - Masclet
http://davidmasclet.gisgraphy.com/post/2010/06/09/10-minutes-pour-comprendre...NoSQL

ACID - Wikipedia
http://en.wikipedia.org/wiki/ACID

Base de datos relacional - Wikipedia
http://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnelle

CAP - Wikipedia
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP

Tutoriales NoSQL
http://nosql.developpez.com/cours/

Mongo DB - Base de datos NoSQL
http://www.mongodb.org/

MetLife utiliza NoSQL para su servicio de atención al cliente - Doug Henschen - InformationWeek
http://www.informationweek.com/software/information-management/metlife-uses-nosql-for-customer-service-breakthrough/d/d-id/1109919?


Archivos

  • Reinicio

Superprof: la plataforma para encontrar los mejores profesores particulares en España.


Reciba nuestro dossier de la semana por correo electrónico

Manténgase informado sobre el aprendizaje digital en todas sus formas cada día. Ideas y recursos interesantes. ¡Disfrútelo, es gratis!