Vientos de cambio

En los últimos 15 años ha surgido una cantidad considerable de nuevas tecnologías de base de datos. Los profesionales de la ingeniería del software, debemos familiarizarnos con ellas, ya que esto nos permitirá hacer una correcta elección ante determinados escenarios, permitiéndonos hacer uso de la herramienta más adecuada para superar nuevos desafíos.

Escalabilidad

En estos años se ha producido una transformación digital en la que muchas de las nuevas aplicaciones ya no sirven a miles de usuarios de una misma región o país, sino a cientos de millones alrededor del globo. Por otro lado el internet de las cosas (IoT) está cada vez más presente, estamos rodeados de sensores que generan miles de datos cada segundo y de forma constante.

Cada vez se generan más datos, y la escalabilidad es un factor determinante para el futuro de nuestras aplicaciones y la forma en como explotamos nuestros datos, que dicho sea de paso son un activo clave en nuestras empresas.

Información menos estructurada

Al mismo tiempo, los datos que manejan muchas de las aplicaciones no están organizados de forma tan estructurada, cada vez es más común el uso de fuentes de datos heterogéneas o el uso de documentos JSON.

También ocurre que la criticidad de las operaciones con esos datos (ej: guardar el registro de uso de una película, una canción, o actualizar un perfil público) no es la misma como pudiera ser una transacción financiera, una compra en una tienda online, etc.

Microservicios

También, hay que mencionar la expansión de la arquitectura de microservicios en la industria de la ingeniería del software, lo que ha propiciado la aparición de escenarios muy concretos en los que usar una bases de datos relacional puede no ser lo más óptimo, y tal vez ni siquiera viable para resolver todas las necesidades de cada uno de los servicios.

Tecnologías NoSQL

Ante estos desafíos de escalabilidad y manejo de datos menos estructurados, han surgido las llamadas tecnologías de Bases de Datos NoSQL, aunque creo que es más acertado llamarlas No Relacionales ya que algunas de ellas si utilizan un lenguaje similar a SQL. Dicho lo anterior, podemos destacar cuatro grandes familias de bases de datos NoSQL:

  • Clave-Valor, o Key-Value DBs. Ej: Redis, DynamoDB, Azure Cosmos DB,…
  • Documentales, o Document DBs. Ej: MongoDB, Couchbase,…
  • Columnares, o Column family DBs. Ej: Cassandra, HBase,…
  • Grafos, o Graph DBs. Ej: Neo4j, JanusGraph,…

Hay mucha información disponible sobre cada una de estos tipos de base de datos, y que no se puede cubrir en este artículo. Pero es interesante citarlas, y cada uno que decida si quiere el indagar más sobre alguna de ellas.

Conclusión

Soplan vientos de cambio para muchos de los que trabajamos con bases de datos, ya no basta con conocer una tecnología en profundidad. Para dar mejores respuestas, debemos conocer y entender las otras alternativas y usarlas cuando sean las más adecuadas.

¡Hasta el próximo artículo!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s