跳到內容

遠程數據訪問

交易文件服務器(TFS)

RDM利用事務文件服務器(TFS)來訪問組成用戶數據庫的文件。 TFS是RDM運行時庫調用的一組函數,用於管理一個或多個運行時庫實例之間數據庫文件的共享。在多用戶配置中,TFS功能被包裝到稱為TFServer的服務器進程中。要連接到特定的TFServer進程,運行時庫需要知道運行TFServer的計算機的域名以及正在偵聽的端口,例如“ tfs.raima.com:21553”。無論運行時庫和TFServer是在同一台計算機上還是在不同計算機上,都可以使用標準TCP / IP進行連接(當在同一台計算機上時,進行優化,並且默認情況下可以使用共享內存協議)。

TFServer應該被視為“數據庫控制器”,與磁盤由磁盤控制器管理的方式幾乎相同。使用根目錄初始化TFS,該根目錄中存儲了由TFS管理的所有文件。如果一台計算機具有多個磁盤控制器,則建議為每個控制器分配一個TFServer。這有助於在一台計算機上並行化,特別是在同時存在多個CPU內核的情況下。
RDM帶有三種不同類型的TFS實現,並且允許開發人員選擇最適合應用程序空間的一種。

  • 混合TFS –由運行時庫直接調用的功能齊全的TFS實現。混合TFS在單個進程中支持多個線程。
  • 遠程TFS – RPC(遠程過程調用)庫。當運行時庫調用這些函數時,這些函數將連接到一個或多個TFServer進程並在其中調用TFS函數。客戶端/服務器配置
  • 嵌入式TFS –運行時庫直接調用的“獨立” TFS函數,但僅用於單進程使用(如果使用多個線程,則每個線程只能訪問不同的數據庫)。在數據庫處於脫機狀態時用於高吞吐量批處理操作。允許進行不安全(但快速)的更新,這意味著在此配置下進行更新之前,應備份數據庫。

 

將數據庫訪問限制為單個進程

開發人員可以通過使用進程內嵌入式TFS來限制對數據庫的訪問。只要應用程序不啟動RPC偵聽線程,進程內TFS託管的數據庫將僅對啟動和初始化TFS的進程可用。
 
 
TFST流程模型
 

允許來自多個進程的訪問

遠程TFS允許通過多個進程訪問數據庫。運行時庫將使用Raima連接URL語法(tfs-tcp:// host:port,tfs-shm:// tfsname)連接到遠程TFS。遠程TFS可以由Raima附帶的tfserver可執行文件執行,也可以是啟動RPC偵聽線程的開發人員TFST應用程序。如果開發人員希望將數據庫訪問限制為一台計算機,則他們可以初始化共享內存傳輸,但不能使TCP / IP傳輸可用。
 
 
TFSR流程模型