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 brindar 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 diarios 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 consumo en varios 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 , escrito para Java por Klaus Wuestefeld en 2001. [2]
Simplemente mantener el estado del sistema en la RAM en su formato normal, natural y específico del lenguaje es mucho más rápido y más fácil de usar para el programador que las múltiples conversiones que se necesitan cuando se almacena y se recupera de un DBMS . Como ejemplo, Martin Fowler describe "La arquitectura LMAX " [3] con un sistema empresarial basado en un diario de transacciones y una imagen del sistema (instantánea) en su núcleo, que puede procesar 6 millones de transacciones por segundo en un solo hilo.
Un sistema predominante necesita memoria suficiente para almacenar todo su estado en la RAM (la "hipótesis predominante"). Los defensores de la prevalencia afirman que esto se alivia continuamente con la disminución de los precios de la RAM y 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 del negocio 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 en diario .
{{cite web}}
: CS1 maint: varios nombres: lista de autores ( enlace )Un hilo que procesará 6 millones de pedidos por segundo utilizando hardware básico.