fastdb 是一个面向应用的数据库,数据库表通过应用程序的类信息来构造。fastdb 支持自动
的模式评估。
fastdb 提供一个灵活方便的接口来从数据库中获取数据。使用一个类 SQL 的查询语言进行
指定的查询。通过一些后关系特性如非原子字段,嵌套数组,用户定义类型和方法,对象
间直接引用简化了数据库应用程序的设计并使之更有效率。
缺点:
尽管 fastdb 的优化是立足于假定整个数据库配置在计算机的物理内存中,但是也有可能出
现使用的数据库的大小超过了系统物理内存的大小的情况,在这种情况下标准的操作系统
交换机制就会工作。但是整个 fastdb 的搜索算法和结构是建立在假定所有的数据都存在于
内存中的,因此数据换出的效率不会很高。
FastDB 不支持 client-server 架构因而所有使用 FastDB 的应 用程序必须运行在同一主机上。
部署方法:
应用程序编译环境需求,首先是任何一个 FastDB 应用程序必须包含头文件:fastdb.h;
然后是可以选择调用库文件(FastDB 编译后提供静态库(libfastdb_r.a)和共享库两种库
(libfastdb_r.so/ libfastdb_r.so.2)给调用);
最后是 FastDB 提供很多编译选项接口,用户可以根据需要进行设置,比如:容错支持,无
盘模式,锁检测清理机制等等功能。
运行系统环境需求:
理论上说,内存加载的数据库文件规模最小是 1MB,上限就是内存和磁盘的容量了
(FastDB 的整个优化设计是基于真个数据库系统存放在机器物理内存中,但是它依然支持
将应用在规模超过物理内存的数据库上,只是效率不会很高)
接口调用方法:
1):打开或创建数据库:
dbDatabase db(parameter);
db.open(parameter);
mode 的有:dbReadOnly,dbAllAccess,dbConcurrentRead,dbConcurrentUpdate 四模式
2):FastDB 支持的数据类型:
类型 描述
bool 布尔类型 (true,false)
int1 一个字节的带符号整型(-128..127)
int2 两个字节的带符号整型(-32768..32767)
int4 四个字节的带符号整型(-2147483648..2147483647)
int8 八个字节的带符号整型(-2**63..2**63-1)
real4 四个字节的 ANSI 浮点型
real8 八个字节的双精度浮点型
char const* 非中断整型