saltar al contenido

Acceso a datos remotos

Servidor de archivos de transacciones (TFS)

RDM utiliza un servidor de archivos de transacciones (TFS) para acceder a los archivos que componen una base de datos de usuarios. El TFS es un conjunto de funciones a las que llama la biblioteca en tiempo de ejecución RDM para administrar el intercambio de archivos de base de datos entre una o más instancias de la biblioteca en tiempo de ejecución. En una configuración multiusuario, las funciones de TFS están envueltas en un proceso de servidor llamado TFServer. Para conectarse a un proceso de TFServer en particular, la biblioteca en tiempo de ejecución necesita conocer el nombre de dominio de la computadora en la que se está ejecutando TFServer y el puerto en el que está escuchando, por ejemplo, “tfs.raima.com:21553”. Se puede usar TCP / IP estándar para realizar la conexión, ya sea que la biblioteca en tiempo de ejecución y TFServer estén en la misma computadora o en computadoras diferentes (cuando están en la misma computadora, se realizan optimizaciones y un protocolo de memoria compartida está disponible de manera predeterminada).

Un TFServer debe considerarse un "controlador de base de datos" de la misma manera que un disco es administrado por un controlador de disco. Un TFS se inicializa con un directorio raíz en el que se almacenan todos los archivos administrados por el TFS. Si una computadora tiene varios controladores de disco, se recomienda que se asigne un TFServer a cada controlador. Esto facilita el paralelismo en una computadora, especialmente cuando también están presentes múltiples núcleos de CPU.
RDM viene con tres tipos diferentes de implementaciones de TFS y permite al desarrollador elegir la que mejor funcione para el espacio de la aplicación.

  • Híbrido TFS: una implementación de TFS con todas las funciones a la que llama directamente la biblioteca en tiempo de ejecución. El TFS híbrido admite varios subprocesos en un solo proceso.
  • TFS remoto: la biblioteca RPC (llamada a procedimiento remoto). Cuando las llama la biblioteca en tiempo de ejecución, estas funciones se conectan a uno o más procesos de TFServer y llaman a las funciones de TFS dentro de ellos. Una configuración cliente / servidor
  • TFS incrustado: funciones de TFS “independientes” a las que llama directamente la biblioteca en tiempo de ejecución, pero destinadas solo para el uso de un solo proceso (si se utilizan varios subprocesos, cada uno debe acceder a una base de datos diferente únicamente). Para ser utilizado para operaciones por lotes de alto rendimiento mientras las bases de datos están fuera de línea. Se permiten actualizaciones inseguras (pero rápidas), lo que significa que se debe hacer una copia de seguridad de las bases de datos antes de realizar actualizaciones en esta configuración.

 

Limite el acceso a la base de datos a un solo proceso

Un desarrollador puede limitar el acceso a una base de datos utilizando un TFS integrado en proceso. Siempre que la aplicación no inicie los subprocesos de escucha de RPC, las bases de datos alojadas por el TFS en proceso solo estarán disponibles para el proceso que inició e inicializó el TFS.
 
 
Modelo de proceso TFST
 

Permitir el acceso desde múltiples procesos

El TFS remoto permite el acceso a una base de datos mediante múltiples procesos. La biblioteca en tiempo de ejecución se conectará al TFS remoto usando una sintaxis de URL de conexión Raima (tfs-tcp: // host: puerto, tfs-shm: // tfsname). El TFS remoto puede ser mediante el ejecutable tfserver enviado por Raima o puede ser una aplicación TFST de desarrollador que inicia los subprocesos de escucha de RPC. Si un desarrollador desea limitar el acceso a la base de datos a una sola máquina, puede inicializar el transporte de memoria compartida, pero no hacer que el transporte TCP / IP esté disponible.
 
 
Modelo de proceso TFSR