SQL O NoSQL, HE AHÍ LA CUESTIÓN

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:

  • ¿Tenemos CPD?
  • ¿Tenemos departamento de Sistemas?
  • ¿Tenemos infraestructura de backups?
  • ¿Qué funcionalidades necesito?
  • ¿Nos va a servir para más de un proyecto y va a perdurar en el tiempo?
  • ¿Tenemos ya licencias que podemos utilizar (bring your own license)?

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.

 

Lea el artículo Spark, el player de moda en Big Data    Puede que también te interese…

  SPARK, EL PLAYER DE MODA EN BIG DATA

 

 

 

Juan Manuel Soto

Proyectos Social Media y Big Data

2 Comments

Leave A Reply