Articulo de referencia

Prevalencia del sistema

La prevalencia del sistema [ 1 ] es un patrón arquitectónico de software simple que combina imágenes del sistema (instantáneas) y registro de transacciones para proporcionar vel...

La prevalencia del sistema [ 1 ] es un patrón arquitectónico de software simple que combina imágenes del sistema (instantáneas) y registro de transacciones para proporcionar velocidad, escalabilidad del rendimiento, persistencia transparente y reflejo transparente en vivo del estado del sistema informático .

En un sistema predominante, el estado se mantiene en la memoria en formato nativo, todas las transacciones se registran en un diario y las imágenes del sistema se guardan periódicamente en el disco.

Las imágenes del sistema y los registros de transacciones se pueden almacenar en un formato de serialización específico del idioma para mayor velocidad o en formatos portátiles para su uso en diferentes idiomas.

El primer uso del término y la implementación genérica y disponible públicamente de una capa de prevalencia del sistema fue Prevayler , escrita para Java por Klaus Wuestefeld en 2001. [ 2 ]

Ventajas

Mantener el estado del sistema en la RAM en su formato normal, natural y específico del lenguaje es muchísimo más rápido y fácil de usar para el programador que las múltiples conversiones necesarias para almacenarlo y recuperarlo de un DBMS . Como ejemplo, Martin Fowler describe la " Arquitectura LMAX " [ 3 ] , cuyo núcleo es un sistema empresarial basado en un registro de transacciones y una imagen del sistema (instantánea), capaz de procesar 6 millones de transacciones por segundo en un solo hilo.

Requisito

Un sistema predominante necesita suficiente memoria para almacenar todo su estado en la RAM (la "hipótesis predominante"). Los defensores de la prevalencia afirman que esto se ve mitigado continuamente por la disminución de los precios de la RAM y por el hecho de que muchas bases de datos empresariales ya son lo suficientemente pequeñas como para caber en la memoria.

Los programadores necesitan tener la habilidad de trabajar con el estado de la empresa de forma nativa en la RAM, en lugar de utilizar llamadas API explícitas para el almacenamiento y consultas para la recuperación.

Los eventos del sistema deben poder capturarse para su registro .

Véase también

Referencias

  1. Johnson, Ralph, Dr. "Sistemas prevalentes: un lenguaje de patrones para la persistencia" (PDF) . Archivado del original (PDF) el 10 de junio de 2017.{{cite web}}: CS1 maint: varios nombres: lista de autores ( enlace )
  2. Klaus Wuestefeld (23-12-2001). "Prevalencia de objetos" . Advogato . Consultado el 02-04-2008 .
  3. Martin Fowler (12 de julio de 2011). "La arquitectura LMAX" . Consultado el 28 de julio de 2011. Un hilo que procesará 6 millones de pedidos por segundo utilizando hardware estándar.
  • "Introducción a la prevalencia de objetos", por Carlos Villela para IBM Developerworks.
  • "Prevalencia: Persistencia de objetos transparente y tolerante a fallos", por Jim Paterson para OnJava.com de O'Reilly.
  • "Prevalencia de objetos": Artículo original de Klaus Wuestefeld publicado en 2001 en Advogato.
  • Madeleine: una implementación en Ruby