TRENDS INYCOM

SQL O NoSQL, HE AHÍ LA CUESTIÓN

Diferencias entre SQL y NoSQL

Un Hamlet tecnológico tendría hoy esta duda cuando se plantea la creación de casi cualquier proyecto de desarrollo de software.

Lo moderno y de moda es el Big Data, las bases de datos NoSQLs, las que se tragan los datos más heterogéneos y son capaces de almacenar millones y millones de registros.

Los sistemas NoSQL son muy potentes en el acceso por clave, un hash que se le asigna a cada registro al insertarlo en la base de datos.

Sin embargo, los cruces entre tablas, los típicos joins, no suelen estar muy optimizados, y requieren de técnicas un poco más complejas.

En muchos casos, las operaciones en las que interviene la base de datos se tienen que definir muy bien para que las inserciones, y sobre todo la recuperación de la información sea suficientemente rápida para el negocio. Esta decisión previa se hace más crítica en las bases de datos NoSQL, por esta dificultad en algunas de las operaciones de manejo básicas a las que estamos acostumbrados en otro tipo de bases de datos.

Con operaciones tipo MapReduce (directas o indirectas) en Big Data, en el fondo se trata de realizar estos trabajos de preparación de la información para que se puedan entregar los resultados necesarios más rápido.

Además de esta duda que afecta a la elección del tipo de base de datos, hay otra duda que se debería plantear en la actualidad sobre dónde debe residir nuestra base de datos, y el tipo de operaciones de mantenimiento que debemos y podemos realizar.

La opción tradicional es la de la base de datos instalada en nuestro CPD (on-premise), en una máquina física o virtual, y la que le tenemos que proporcionar mantenimiento de Sistema Operativo de servidor, mantenimiento de rendimiento, de espacio, backups, etc. La otra opción es utilizar una base de datos como servicio en la nube (on-demand).

Esta cuestión también tiene sus defensores y detractores y no tiene una respuesta absoluta, depende de las circunstancias. Podemos plantearnos preguntas para ayudarnos a solucionarlo:

Las opciones tradicionales de SQL Server, MySQL u Oracle como principales players, se complementa ahora con MongoDB, CouchDB, HBase, Cassandra, y las opciones cloud de SQL Azure, Aurora y DynamoDB, además de los filesystems Hadoop, HDInsight, blobs, etc.

 

   Puede que también te interese…

  SPARK, EL PLAYER DE MODA EN BIG DATA