Zum Inhalt springen

Remote-Datenzugriff

Transaction File Server (TFS)

RDM verwendet einen Transaction File Server (TFS), um auf die Dateien zuzugreifen, aus denen eine Benutzerdatenbank besteht. Das TFS ist eine Reihe von Funktionen, die von der RDM-Laufzeitbibliothek aufgerufen werden, um die gemeinsame Nutzung von Datenbankdateien zwischen einer oder mehreren Laufzeitbibliotheksinstanzen zu verwalten. In einer Mehrbenutzerkonfiguration werden die TFS-Funktionen in einen Serverprozess namens TFServer eingebunden. Um eine Verbindung zu einem bestimmten TFServer-Prozess herzustellen, muss die Laufzeitbibliothek den Domänennamen des Computers kennen, auf dem TFServer ausgeführt wird, und den Port, auf dem er empfangsbereit ist, z. B. "tfs.raima.com:21553". Standard-TCP / IP kann verwendet werden, um die Verbindung herzustellen, unabhängig davon, ob sich die Laufzeitbibliothek und der TFServer auf demselben Computer oder auf verschiedenen Computern befinden (wenn auf demselben Computer Optimierungen vorgenommen werden und standardmäßig ein Protokoll für gemeinsam genutzten Speicher verfügbar ist).

Ein TFServer sollte ähnlich wie eine Festplatte von einem Festplattencontroller als „Datenbankcontroller“ betrachtet werden. Ein TFS wird mit einem Stammverzeichnis initialisiert, in dem alle vom TFS verwalteten Dateien gespeichert sind. Wenn ein Computer über mehrere Festplattencontroller verfügt, wird empfohlen, jedem Controller einen TFServer zuzuweisen. Dies erleichtert die Parallelität auf einem Computer, insbesondere wenn auch mehrere CPU-Kerne vorhanden sind.
RDM wird mit drei verschiedenen Arten von TFS-Implementierungen geliefert und ermöglicht es dem Entwickler, die für den Anwendungsbereich am besten geeignete auszuwählen

  • Hybrid-TFS - Eine voll funktionsfähige TFS-Implementierung, die direkt von der Laufzeitbibliothek aufgerufen wird. Das Hybrid-TFS unterstützt mehrere Threads in einem einzigen Prozess.
  • Remote-TFS - Die RPC-Bibliothek (Remote Procedure Call). Beim Aufruf durch die Laufzeitbibliothek stellen diese Funktionen eine Verbindung zu einem oder mehreren TFServer-Prozessen her und rufen die darin enthaltenen TFS-Funktionen auf. Eine Client / Server-Konfiguration
  • Eingebettetes TFS - "Standalone" -TFS-Funktionen, die direkt von der Laufzeitbibliothek aufgerufen werden, jedoch nur für die Verwendung in einem Prozess vorgesehen sind (wenn mehrere Threads verwendet werden, muss jeder nur auf eine andere Datenbank zugreifen). Wird für Batch-Vorgänge mit hohem Durchsatz verwendet, während die Datenbank (en) ansonsten offline sind. Unsichere (aber schnelle) Aktualisierungen sind zulässig. Dies bedeutet, dass Datenbanken gesichert werden sollten, bevor Aktualisierungen in dieser Konfiguration vorgenommen werden.

 

Beschränken Sie den Datenbankzugriff auf einen einzelnen Prozess

Ein Entwickler kann den Zugriff auf eine Datenbank mithilfe eines in Prozess eingebetteten TFS einschränken. Solange die Anwendung die RPC-Listening-Threads nicht startet, sind die vom In-Process-TFS gehosteten Datenbanken nur für den Prozess verfügbar, der das TFS gestartet und initialisiert hat.
 
 
TFST-Prozessmodell
 

Ermöglichen Sie den Zugriff von mehreren Prozessen

Der Zugriff auf eine Datenbank durch mehrere Prozesse wird vom Remote-TFS zugelassen. Die Laufzeitbibliothek stellt über eine Raima-Verbindungs-URL-Syntax (tfs-tcp: // host: port, tfs-shm: // tfsname) eine Verbindung zum Remote-TFS her. Das Remote-TFS kann entweder über die von Raima gelieferte ausführbare Datei tfserver oder eine Entwickler-TFST-Anwendung sein, die die RPC-Listening-Threads startet. Wenn ein Entwickler den Datenbankzugriff auf einen einzelnen Computer beschränken möchte, kann er den gemeinsam genutzten Speichertransport initialisieren, den TCP / IP-Transport jedoch nicht verfügbar machen.
 
 
TFSR-Prozessmodell