內存數據庫系統 FastDB
FastDb是高效的內存數據庫系統,具備實時能力及便利的 C++接口。FastDB不支持client-server架構因而所有使用FastDB的應 用程序必須運行在同一主機上。FastDB針對應用程序通過控制讀訪問模式作了優化。通過降低數據傳輸的開銷和非常有效的鎖機制提供了高速的查詢。對每一 個使用數據庫的應用數據庫文件被影射到虛擬內存空間中。因此查詢在應用的上下文中執行而不需要切換上下文以及數據傳輸。fastdb中并發訪問數據庫的同 步機制通過原子指令實現,幾乎不增加查詢的開銷。fastdb假定整個數據庫存在于RAM中,并且依據這個假定優化了查詢算法和接口。此外,fastdb 沒有數據庫緩沖管理開銷,不需要在數據庫文件和緩沖池之間傳輸數據。這就是fastdb運行速度明顯快于把數據放在緩沖池中的傳統數據庫的原因。
Fastdb支持事務、在線備份以及系統崩潰后的自動恢復。事務提交協議依據一個影子根頁面算法來自動更新數據庫。恢復可以執行得非常快,為臨界應用提 供了高可用性。此外,取消事務日志改進了整個系統的性能,并且使得可以更有效的利用系統資源。
fastdb是一個面向應用的數據庫,數據庫 表通過應用程序的類信息來構造。fastdb支持自動的模式評估,使你可以只需要在一個地方更改-你的應用程序的類。fastdb提供一個靈活方便的接口 來從數據庫中獲取數據。使用一個類SQL的查詢語言進行指定的查詢。通過一些后關系特性如非原子字段,嵌套數組,用戶定義類型和方法,對象間直接引用簡化 了數據庫應用程序的設計并使之更有效率。
盡管fastdb的優化是立足于假定整個數據庫配置在計算機的物理內存中,但是也有可能出現使用的 數據庫的大小超過了系統物理內存的大小的情況,在這種情況下標準的操作系統交換機制就會工作。但是整個fastdb的搜索算法和結構是建立在假定所有的數 據都存在于內存中的,因此數據換出的效率不會很高。