Articulo de referencia

Persistencia políglota

La persistencia políglota consiste en utilizar múltiples tecnologías de almacenamiento de datos dentro de un mismo sistema para satisfacer diversas necesidades de almacenamiento...

La persistencia políglota consiste en utilizar múltiples tecnologías de almacenamiento de datos dentro de un mismo sistema para satisfacer diversas necesidades de almacenamiento. Dicho sistema puede constar de varias aplicaciones o de una sola aplicación con componentes más pequeños.

Descripción

La persistencia políglota comparte su origen con la definición del término programación políglota . Este término, acuñado por Neal Ford en 2006, expresa la idea de que las aplicaciones informáticas deben escribirse en una combinación de diferentes lenguajes de programación , para aprovechar las ventajas de cada uno a la hora de abordar distintos problemas. Las aplicaciones complejas combinan diferentes tipos de problemas, por lo que elegir el lenguaje adecuado para cada tarea puede resultar más productivo que intentar resolver todos los aspectos del problema con un solo lenguaje. Este mismo concepto se puede aplicar a las bases de datos : una aplicación puede comunicarse con diferentes bases de datos, utilizando cada una para aquello en lo que mejor se desempeña y así alcanzar un objetivo final; de ahí el término persistencia políglota .

Dado que existen numerosas bases de datos disponibles para resolver diferentes problemas, usar una sola para satisfacer todos los requisitos de un programa puede resultar en una solución deficiente , una solución que abarca demasiado y no destaca en nada . Las bases de datos relacionales , por ejemplo, son buenas para garantizar las relaciones entre las distintas tablas de datos. Para descubrir una relación o encontrar datos de diferentes tablas que pertenecen al mismo objeto, se puede usar una operación de unión SQL . Esto puede funcionar cuando los datos son pequeños, pero se vuelve problemático cuando el volumen de datos aumenta. Una base de datos de grafos podría resolver el problema de las relaciones en el caso de Big Data , pero podría no resolver el problema de las transacciones de la base de datos , que los sistemas de gestión de bases de datos relacionales suelen gestionar mejor . En su lugar, se podría usar una base de datos documental NoSQL para almacenar datos no estructurados para esa parte específica del problema. De esta manera, diferentes sistemas de bases de datos resuelven diferentes problemas, todos dentro de la misma aplicación.

Algunas de estas tecnologías de almacenamiento de datos, pero no limitadas a ellas, podrían ser:

Martin Fowler escribe en uno de sus artículos: «Una de las consecuencias interesantes de esto es que nos estamos preparando para un cambio hacia la persistencia políglota, donde cualquier empresa de tamaño decente tendrá una variedad de tecnologías de almacenamiento de datos diferentes para distintos tipos de datos. Seguirá habiendo grandes cantidades gestionadas en almacenes relacionales, pero cada vez más nos preguntaremos primero cómo queremos manipular los datos y solo después determinaremos qué tecnología es la mejor opción para ello». [ 1 ]

Referencias

  1. "bliki: PolyglotPersistence" . martinfowler.com . Consultado el 9 de julio de 2020 .
  • Big Data y Persistencia Políglota
  • Introducción a la persistencia políglota: uso de diferentes tecnologías de almacenamiento de datos para diversas necesidades de almacenamiento de datos.
  • Persistencia políglota