stringtranslate.com

Persistencia políglota

La persistencia políglota es un término que se refiere al uso de múltiples tecnologías de almacenamiento de datos dentro de un único sistema, con el fin de satisfacer distintas necesidades de almacenamiento de datos. Un sistema de este tipo puede constar de múltiples aplicaciones o puede ser una única aplicación con componentes más pequeños.

Descripción

La persistencia políglota comparte sus orígenes con la definición del término programación políglota . La programación políglota es un término acuñado por Neal Ford en 2006 y expresa la idea de que las aplicaciones informáticas deben escribirse en una mezcla de diferentes lenguajes de programación , con el fin de aprovechar el hecho de que los diferentes lenguajes son adecuados para abordar diferentes problemas. Las aplicaciones complejas combinan diferentes tipos de problemas, por lo que elegir el lenguaje adecuado para cada trabajo puede ser más productivo que intentar resolver todos los aspectos del problema utilizando un solo lenguaje. Este mismo concepto se puede aplicar a las bases de datos , ya que una aplicación puede comunicarse con diferentes bases de datos, utilizando cada una para lo que mejor se le da para lograr un objetivo final, de ahí el término persistencia políglota .

Dado que existen numerosas bases de datos disponibles para resolver diferentes problemas, el uso de una única base de datos para satisfacer todos los requisitos de un programa puede dar como resultado una solución de bajo rendimiento , del tipo " aprendiz de todo, maestro de nada ". Las bases de datos relacionales , por ejemplo, son buenas para hacer cumplir las relaciones que existen entre varias tablas de datos. Para descubrir una relación o encontrar datos de diferentes tablas que pertenecen al mismo objeto, se puede utilizar una operación de unión SQL . Esto puede funcionar cuando los datos son más pequeños, pero se vuelve problemático cuando los datos involucrados se hacen más grandes. Una base de datos gráfica puede resolver el problema de las relaciones en el caso de Big Data , pero puede que no resuelva el problema de las transacciones de la base de datos , que pueden proporcionarse mejor mediante sistemas de gestión de bases de datos relacionales . En cambio, se puede utilizar una base de datos de documentos NoSQL para almacenar datos no estructurados para esa parte particular del problema. Por lo tanto, 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, aunque no se limitan 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 diferentes tecnologías de almacenamiento de datos para diferentes tipos de datos. Todavía habrá grandes cantidades de ellos gestionados en almacenes relacionales, pero cada vez más nos preguntaremos primero cómo queremos manipular los datos y solo entonces averiguaremos qué tecnología es la mejor opción para ellos". [1]

Referencias

  1. ^ "bliki: PolyglotPersistence". martinfowler.com . Consultado el 9 de julio de 2020 .

Enlaces externos