跳到內容

RDM架構

RDM的靈活體系結構為您提供了多種配置。在幾乎任何硬件和軟件組合上的客戶端/服務器或對等(嵌入式)應用程序中使用RDM。 RDM可以充分利用內存作為主要存儲介質,並且持久性數據可以存儲在磁盤上。

客戶端-服務器嵌入式

更深入的潛水

 

RDM的運行時環境由兩個功能強大但定義明確的模塊組成:

  1. 運行時庫 –該可重入鏈接庫成為可執行程序的一部分。當它響應程序中的函數調用時,它將維護數據庫對象的緩存。
  2. 事務性文件服務器 –這種緊密的,多用戶服務器同時與一個或多個運行時庫交互。它管理對數據庫文件的訪問。 TFS響應運行時請求以讀取對象,鎖定對像或應用事務更改。

運行時庫

作為可重入庫,RDM完全支持多線程應用程序。每個線程可以打開一個數據庫,並與其他線程同時進行操作。

作為可鏈接庫,RDM對保存在基於堆的緩存中的數據進行操作。其強大的API為您提供了全面的可見性和對數據的控制。 SQL可通過基於C的API使用,但也可通過第三方工具訪問。其他API允許使用游標視圖或面向對象的視圖對數據庫操作進行微調。

事務性文件服務器

TFS的核心是功能庫。這些函數由運行時庫調用。如果TFS在單獨的進程中運行,則使用計算機之間的TCP / IP和同一計算機內的共享內存將其功能稱為RPC(遠程過程調用)。

但是,TFS功能也可以直接鏈接到您的應用程序中。這具有顯著的性能優勢,並且操作簡單。由於遠程過程調用變為本地過程調用(進程中),因此速度更快。這很簡單,因為所有內容都在您的程序中運行,並且沒有單獨的流程可以首先啟動。

構型

是的,運行庫和TFS功能強大且定義明確,但是可以通過多種方式對其進行配置。下圖僅顯示了一些。

多計算機配置-速度驚人

當涉及多台計算機時,它們通過TCP / IP進行通信。如果客戶端和服務器位於同一台計算機上,則使用共享內存來加快速度。

多計算機數據庫配置

多線程單計算機配置-更快

但是,當運行時和TFS在同一進程中時,就避免了進程間通信,從而提高了速度。

多線程應用程序非常適合處理屏幕上的多個窗口,每個窗口具有獨立的內容。

多線程單計算機

單線程(獨占訪問)-比那快!

更簡單的單用戶應用程序具有一個優勢,因為沒有對數據庫的並發訪問,因此沒有鎖定或等待。

單線程(獨占訪問)

單線程內存數據庫-絕對最快

現在,將數據庫從磁盤加載到內存中,就可以對數據庫進行管理,並停止所有操作。

RDM內存數據庫選項允許使用易失性(在應用程序停止時消失)和持久性(從磁盤加載並保存到磁盤)數據庫。

它之所以更快,是因為在事務提交期間沒有磁盤等待讀取的延遲,也沒有等待磁盤寫入的等待。

如果應用程序在不保存數據的情況下終止,則這些文件很容易丟失數據。有時值得冒險!

單線程(專有訪問)內存數據庫