saltar al contenido

Arquitectura RDM

La arquitectura flexible de RDM le ofrece una variedad de configuraciones. Utilice RDM en una aplicación cliente / servidor o de igual a igual (integrada) en casi cualquier combinación de hardware y software. RDM puede aprovechar al máximo la memoria como medio de almacenamiento principal y los datos persistentes se pueden almacenar en el disco.

Cliente-servidor integrado

Una inmersión más profunda

 

El entorno de ejecución de RDM se compone de dos módulos potentes pero bien definidos:

  1. La biblioteca en tiempo de ejecución - Esta biblioteca enlazable reentrante se convierte en parte de su programa ejecutable. Mantiene un caché de objetos de la base de datos mientras responde a las llamadas a funciones de su programa.
  2. El servidor de archivos transaccional - Este servidor multiusuario compacto interactúa con una o más bibliotecas en tiempo de ejecución al mismo tiempo. Gestiona el acceso a los archivos de la base de datos. El TFS responde a las solicitudes en tiempo de ejecución para leer objetos, bloquear objetos o aplicar cambios transaccionales.

Biblioteca de ejecución

Como biblioteca reentrante, RDM es totalmente compatible con aplicaciones de subprocesos múltiples. Cada hilo puede abrir una base de datos y operar en ella al mismo tiempo que los demás.

Como biblioteca enlazable, RDM opera con datos guardados en un caché basado en montón. Sus robustas API le brindan total visibilidad y control sobre los datos. SQL está disponible a través de una API basada en C, pero también es accesible a través de herramientas de terceros. Otras API permiten ajustar las operaciones de la base de datos mediante una vista de cursor o una vista orientada a objetos.

Servidor de archivos transaccional

En esencia, el TFS es una biblioteca de funciones. Estas funciones son llamadas por la biblioteca en tiempo de ejecución. Si el TFS se ejecuta en un proceso separado, sus funciones se denominan RPC (llamadas a procedimiento remoto) mediante TCP / IP entre computadoras y memoria compartida dentro de la misma computadora.

Sin embargo, las funciones de TFS también pueden estar vinculadas directamente a su aplicación. Esto tiene importantes beneficios de rendimiento y simplicidad en la operación. Es más rápido porque las llamadas a procedimientos remotos se convierten en llamadas a procedimientos locales (en proceso). Es más simple porque todo se ejecuta dentro de su programa y no hay un proceso separado para comenzar primero.

Configuraciones

Sí, la biblioteca en tiempo de ejecución y TFS son potentes y están bien definidos, pero se pueden configurar de varias formas. Las figuras siguientes muestran solo algunas.

Configuración de varios ordenadores: increíblemente rápida

Cuando hay varias computadoras involucradas, se comunican a través de TCP / IP. Si el cliente y el servidor están en la misma computadora, se usa la memoria compartida para acelerarlo.

Configuración de base de datos de varios equipos

Configuración de una sola computadora de subprocesos múltiples: incluso más rápido

Pero cuando el tiempo de ejecución y TFS están en el mismo proceso, se evita la comunicación entre procesos, lo que se traduce en una velocidad aún mayor.

Las aplicaciones multiproceso son excelentes para manejar múltiples ventanas en una pantalla, cada una con contenido independiente.

Multi-thread-Single-Computer

Single-Thread (acceso exclusivo) - ¡Más rápido que eso!

Las aplicaciones de un solo usuario más simples tienen una ventaja porque no hay acceso simultáneo a la base de datos, por lo tanto, no hay bloqueos ni esperas.

Hilo único (acceso exclusivo)

Base de datos en memoria de un solo hilo: la más rápida

Ahora, cargue la base de datos desde el disco a la memoria y tendrá la administración de la base de datos con todas las paradas.

La opción de base de datos en memoria RDM permite bases de datos volátiles (desaparece cuando la aplicación se detiene) y persistentes (cargadas desde el disco y guardadas en el disco).

Es más rápido porque no hay latencia de disco para la lectura y no hay que esperar a que se escriban en el disco durante la confirmación de una transacción.

Estos son vulnerables a la pérdida de datos si la aplicación finaliza sin guardar los datos. ¡A veces es un riesgo que vale la pena correr!

Base de datos en memoria de un solo hilo (acceso exclusivo)