| Noticias | 28 MAY 2012

Los grandes dilemas de los desarrolladores (5): SQL o NoSQL

Fiabilidad o velocidad, SQL o NoSQL: Esta es una de las principales y más importantes decisiones a las que se enfrenta un desarrollador a la hora de crear su aplicación.
Computerworld

Los administradores de sistemas y desarrolladores de aplicaciones se enfrentan a una importante decisión cada vez que deben escoger entre la probada y fiable tecnología de bases de datos SQL o apostar por la creciente y atractiva tendencia hacia los desarrollos basados en NoSQL, que permiten gestiones de mayores y más variada cantidad de datos.

Las bases de datos NoSQL suenan, como todo lo nuevo, atractivas. Pueden ser mucho más rápidas que las actuales bases de datos, además de permitir una respuesta más rápida y exacta. Las bases NoSQL permiten así almacenar y encontrar cualquier elemento con una clave-valor, sin las limitaciones tradicionales, de tal forma que ese elemento vendrá devuelto de forma automática.

Pero si uno se fija mejor, las bases de datos NoSQL no son siempre tan maravillosas. En primer lugar, a menudo no ofrecen garantías de que los datos serán registrados correctamente. Probablemente estarán bien, pero no lo estarán si algo le sucede a un disco duro o a un equipo del clúster. Algunas de las opciones más recientes de bases NoSQL de proveedores como Oracle permiten solicitar una confirmación de la transacción, pero para ello se debe ejecutar un código que tarda lo mismo que si se hiciera con una base de datos SQL.

Hay además cuestiones más profundas. Muchos de los problemas de velocidad se produjeron porque los programadores no pensaron más allá de las posibilidades habituales que ofrecían los SQL Server. La forma de estructurar las tablas y consultas influye notablemente en el rendimiento. Enlazando varias tablas y obligando a la base de datos a unir toda la información era lo que de verdad ralentizaba las cosas. En definitiva, ambas opciones deben ser entendidas y utilizadas en su forma óptima o cualquiera de las dos puede suponer un auténtico quebradero de cabeza para la organización.

Este dilema, a diferencia de los demás, tiene una respuesta simple: Las aplicaciones que necesitan una mayor coherencia y fiabilidad deben confiar en las garantías de transacción de la mayor maquinaria de SQL. Por el contrario, las aplicaciones que necesitan velocidad y solo deben manejar unos pocos registros codificados pueden elegir los nuevos almacenes de datos NoSQL. Pero si usted necesita ambas cosas, velocidad y consistencia, su opción es tirarse de los pelos. 


Comenta este artículo en nuestros Twitter y Facebook
Cada día, una nueva entrega de este serial. Las próximas entregas las podréis ver
aquí



Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios