fastdb支持事務、在線備份以及系統崩潰後的自動恢復。事務提交協議依據一個影子根頁面算法來自動更新數據庫。恢復可以執行得非常快,爲臨界應用提供了高可用性。此外,取消事務日誌改進了整個系統的性能,並且使得可以更有效的利用系統資源。
fastdb是一個面向應用的數據庫,數據庫表通過應用程序的類信息來構造。fastdb支持自動的模式評估,使你可以只需要在一個地方更改-你的應用程序的類。fastdb提供一個靈活方便的接口來從數據庫中獲取數據。使用一個類SQL的查詢語言進行指定的查詢。通過一些後關係特性如非原子字段,嵌套數組,用戶定義類型和方法,對象間直接引用簡化了數據庫應用程序的設計並使之更有效率。
儘管fastdb的優化是立足於假定整個數據庫配置在計算機的物理內存中,但是也有可能出現使用的數據庫的大小超過了系統物理內存的大小的情況,在這種情況下標準的操作系統交換機制就會工作。但是整個fastdb的搜索算法和結構是建立在假定所有的數據都存在於內存中的,因此數據換出的效率不會很高。
checking for pthread_create in -lpthread... no,目前無辦法解決。
換其他辦法
直接用安裝文件夾裏面的makefile.gnu,看了說明這個是UNIX下的腳本。
使用這個報
[oracle@galebo fastdb]$ make -f makefile.gnu
g++ -c -Iinc -Wall -O0 -g -fPIC -Wno-invalid-offsetof -pthread -fPIC src/class.cpp
cc1plus: unrecognized option `-Wno-invalid-offsetof'
編輯此文件,去掉此選項。 編譯通過,但是鏈接時報錯:
subsql.o(.text+0x1a8): In function `dbSubSql::dbSubSql(dbDatabase::dbAccessType)':
src/subsql.cpp:130: undefined reference to `_Unwind_Resume'
這個是需要增加-lgcc_s 鏈接庫。
最後全部通過,由於未使用automake,中間文件和最終鏈接庫都在當前目錄,自己建文件夾lib,將文件放置此目錄。
算是裝上fastdb了。