Firebird (数据库)

关系数据库系统

Firebird,是一个跨平台的关系数据库系统,目前能够运行在Windowslinux和各种Unix操作系统上,源于Borland公司的InterBase 6.0,是一个完全非商业化的产品,但原始码经过大规模重写,使用C++开发。

Firebird
开发者Firebird项目
首次发布2000年 (2000)
当前版本
  • 5.0.1(2024年8月2日;稳定版本)[1]
编辑维基数据链接
原始码库 编辑维基数据链接
编程语言C++, C
操作系统跨平台
平台IA-32, x86-64, FreeBSD
类型关系数据库管理系统
许可协议IPL, IDPL
网站www.firebirdsql.org/ 编辑维基数据

特色

支持多版本并发控制(Multiversion Concurrency Control,MVCC)、存储程序(Stored Procedure)、触发程序(Trigger)、自定义方法英语User-defined function(User-defined function,专有名词缩写UDF)等商用数据库行为程序。同时因为与interbase的血缘关系,部分interbase的GUI工具可以直接应用到Firebird开发中。

版本区分

Firebird提供三个伺服器环境版本,分别是超级伺服器版本(SuperServer)、标准伺服器版本(ClassicServer)与嵌入式版本(Embedded):

超级伺服器版本(SuperServer)
支持多线程(Multithreading)模式,可以以背景Service模式执行。
标准伺服器版本(ClassicServer)
支持每个线程可以个别管理自己的数据库,允许数据库与伺服器不是存储在同一台情境,适合用于多处理器环境。
嵌入式版本(Embedded)
针对嵌入式系统要求独占程式设计版本,允许数据库与伺服器在同一台运行情境。

历史

Firebird 1.0

2002年3月11日公开,初期支持Linux、Windows、Mac OS X版本,两个月后公开Solaris、FreeBSD、HP-UX移植版本,以C语言为中心开发。

Firebird 1.0 发行历史
版本 发布日期 重要改进
1.0 2002年3月11日
1.0.1 2002年7月1日
1.0.2 2002年12月19日
1.0.3 2003年6月3日

Firebird 1.5

2004年2月23日公开,自此版本开始变更为C++为中心开发。支持SQL92陈述句(SQL-92)标准函数、SQL1999陈述句(SQL1999英语SQL:1999)的SAVEPOINT函数与明确锁定(explicit locking)[2]等。

Firebird 1.5 发行历史
版本 发布日期 重要改进
1.5 2004年2月23日
1.5.1 2004年7月14日
1.5.2 2004年12月26日
1.5.3 2006年1月24日
1.5.4 2007年2月8日
1.5.5 2007年12月12日
1.5.6 2009年10月8日

Firebird 2.0

2006年11月12日公开,支持SQL2003陈述句(SQL2003英语SQL:2003)的MERGE函数。更新版本2.1开始支持64位Windows环境[3][4]触发式(Trigger)等。

Firebird 2.0 发行历史
版本 发布日期 重要改进
2.0 2006年11月12日
2.0.1 2007年3月21日
2.0.2 2007年8月27日
2.0.3 2007年9月21日
2.0.4 2008年4月28日
2.0.5 2009年1月27日
2.0.6 2010年7月22日
2.0.7 2012年5月13日

Firebird 2.1

2008年4月18日公开。

Firebird 2.1 发行历史
版本 发布日期 重要改进
2.1 2008年4月18日
2.1.1 2008年7月16日
2.1.2 2009年4月1日
2.1.3 2009年9月8日
2.1.4 2011年3月15日
2.1.5 2012年6月23日
2.1.6 2014年7月26日
2.1.7 2014年12月5日

Firebird 2.5

2010年10月4日公开。支持正则表达式(Regular Expression,专有名词缩写RE)[5]等。

Firebird 2.5 发行历史
版本 发布日期 重要改进
2.5 2010年10月4日
2.5.1 2011年10月4日
2.5.2 2012年11月6日
2.5.3 2014年7月17日
2.5.4 2015年3月30日
2.5.5 2015年11月18日
2.5.6 2016年7月14日
2.5.7 2017年2月17日
2.5.8 2018年7月15日
2.5.9 2019年6月24日

Firebird 3.0

2016年4月19日公开。支持布尔值(BOOLEAN)与自动递增数值(IDENTITY)存储规格。允许使用IPv6网际协议连线数据库等。更新版本3.0.2起开始支持Android环境。

自该版本起不再提供Firebird 3.0之前旧版本数据库兼容(On Disk Structure,专有名词缩写ODS)[6]

旧版本 最新版本 未来版本
Firebird 3.0 发行历史
版本 发布日期 重要改进
3.0 Beta 1 2014年12月2日
  • 官方版Firebird 3.0 Beta 1发布[7]
3.0 Beta 2 2015年7月3日
  • 官方版Firebird 3.0 Beta 2发布[8]
3.0 RC1 2015年11月9日
  • 官方版Firebird 3.0 RC 1发布[9]
3.0 RC2 2016年3月3日
  • 官方版Firebird 3.0 RC 2发布[10]
3.0 2016年4月19日
  • 官方版Firebird 3.0发布[11]
3.0.1 2016年9月27日
3.0.2 2017年3月22日
  • 稳定性更新[13]
  • 支持 Android 32位版本
3.0.3 2018年2月2日
3.0.4 2018年10月14日
3.0.5 2020年1月12日
3.0.6 2020年6月26日
3.0.7 2020年10月20日
3.0.8 2021年11月17日
  • 稳定性更新[19]
  • 支持 Android 64位版本
3.0.9 2022年2月15日
3.0.10 2022年6月8日
  • 稳定性更新[21]
  • 最后一个版本支持Mac OS X 32位版本
3.0.11 2023年8月4日

Firebird 4.0

2021年6月1日公开。支持128位整数(INT128)存储规格。上修浮动十进制(DECFLOAT)与十进制整数(DECIMAL)存储精度规格等。

旧版本 最新版本 未来版本
Firebird 4.0 发行历史
版本 发布日期 重要改进
4.0 Beta 1 2019年2月20日
  • 官方版Firebird 4.0 Beta 1发布[23]
4.0 Beta 2 2020年5月14日
  • 官方版Firebird 4.0 Beta 2发布[24]
4.0 RC1 2021年2月1日
  • 官方版Firebird 4.0 RC1发布[25]
4.0 2021年6月1日
  • 官方版Firebird 4.0发布[26]
4.0.1 2021年12月22日
  • 稳定性更新[27]
  • 新增PKCS 1.5 支持
4.0.2 2022年8月11日
4.0.3 2023年8月4日
4.0.4 2023年11月8日

Firebird 5.0

2024年1月11日公开。

旧版本 最新版本 未来版本
Firebird 5.0 发行历史
版本 发布日期 重要改进
5.0 Beta 1 2023年3月27日
  • 官方版Firebird 5.0 Beta 1发布[31]
5.0 RC1 2023年9月29日
  • 官方版Firebird 5.0 RC1发布[32]
5.0 RC2 2023年12月18日
  • 官方版Firebird 5.0 RC2发布[33]
5.0 2024年1月11日
  • 新增分析PSQL语法执行性能PSQL profiler语法

判断数据库所执行引擎版本

  • Windows

执行command应用程式,然后执行下列查询:

gstat [switches] database_name

例如安装Firebird位于Program Files英语Program Files,数据库文件test.fdb位于分区C,则执行下列查询:

C:\PROGRA~1\Firebird\Firebird_5_0>gstat -h c:\test.fdb

Command应用程式将会回传以下消息:

Database "c:\test.fdb"
Gstat execution time Wed Jun 19 19:02:46 2024

Database header page information:
Flags                   0
Generation              33
System Change Number    0
Page size               8192
ODS version             13.1
Oldest transaction      24
Oldest active           25
Oldest snapshot         25
Next transaction        26
Sequence number         0
Next attachment ID      5
Implementation          HW=AMD/Intel/x64 little-endian OS=Windows CC=MSVC
Shadow count            0
Page buffers            0
Next header page        0
Database dialect        3
Creation date           Jan 11, 2024 11:07:27
Attributes              force write

Variable header data:
Database GUID:  {2193572f-c8d2-404e-b779-08671a1309dd}
*END*

Gstat completion time Wed Jun 19 19:02:46 2024

回传消息当中的ODS version即为数据库所执行引擎版本。

  • Linux

执行Tux应用程式,然后执行下列查询:

gstat database_name  [switches]

例如安装Firebird位于bin,数据库文件test.fdb位于根目录,则执行下列查询:

gstat test -h

Tux应用程式将会回传以下消息:

Database "/test.fdb"
Database header page information:

Flags              0
Checksum           0
Greeration         0
page size          0
ODS version        11.2
Oldest transection 0
Oldest actuive     0
Oldest snapshot    0
Next transection   0
Bumped transection 0
Sequence number    0
Next attachent ID  0
Implentation ID    0
Shadow count       0
Pager buffers      0
Next header page   0
Database diaect    0
Creation date      Jan 1, 2024 00:00:00
Attributes         force write

Variable header data:
Sweep interval: 0
*END*

回传消息当中的ODS version即为数据库所执行引擎版本。

GUI工具

 
GUI工具Turbobird

参考文献

  1. ^ Firebird 5.0.1. 2024年8月2日 [2024年8月4日]. 
  2. ^ Firebird 1.5.5 Release Notes. [29 September 2009]. (原始内容存档于2015-09-24).  Firebird 1.5.5 General Notes for rewriting it from C to C++ language
  3. ^ Releases Firebird-win64.页面存档备份,存于互联网档案馆) Sourceforge.net; abgerufen am 3. Mai 2011.
  4. ^ Releases Firebird-linux-amd64.页面存档备份,存于互联网档案馆) Sourceforge.net; 3. May 2011.
  5. ^ Helen Borrie. Firebird 2.1 Release Notes. 20 July 2014 [20 July 2014]. (原始内容存档于2017-04-22). 
  6. ^ Fast conversion of Firebird 2.5 databases to Firebird 3.0 (英语). 
  7. ^ Firebird 3.0 Beta 1 is available (英语). 
  8. ^ Firebird 3.0 Beta 2 is available (英语). 
  9. ^ Firebird 3.0 Release Candidate 1 is available for testing (英语). 
  10. ^ Firebird 3.0 Release Candidate 2 is available for testing (英语). 
  11. ^ Firebird 3.0 is released (英语). 
  12. ^ Firebird 3.0.1 Release: Bug Fixes (英语). 
  13. ^ Firebird 3.0.2 Release: Bug Fixes (英语). 
  14. ^ Firebird 3.0.3 Release: Bug Fixes (英语). 
  15. ^ Firebird 3.0.4 Release: Bug Fixes (英语). 
  16. ^ Firebird 3.0.5 Release: Bug Fixes (英语). 
  17. ^ Firebird 3.0.6 Release: Bug Fixes (英语). 
  18. ^ Firebird 3.0.7 Release: Bug Fixes (英语). 
  19. ^ Firebird 3.0.8 Release: Bug Fixes (英语). 
  20. ^ Firebird 3.0.9 Release: Bug Fixes (英语). 
  21. ^ Firebird 3.0.10 Release: Bug Fixes (英语). 
  22. ^ Firebird 3.0.11 Release: Bug Fixes (英语). 
  23. ^ Firebird 4.0 Beta 1 release is available for testing (英语). 
  24. ^ Firebird 4.0 Beta 2 release is available for testing (英语). 
  25. ^ Firebird 4.0 Release Candidate 1 is available for testing (英语). 
  26. ^ Firebird 4.0 is released (英语). 
  27. ^ Firebird 4.0.1 Release: Bug Fixes (英语). 
  28. ^ Firebird 4.0.2 Release: Bug Fixes (英语). 
  29. ^ Firebird 4.0.3 Release: Bug Fixes (英语). 
  30. ^ Firebird 4.0.4 Release: Bug Fixes (英语). 
  31. ^ Firebird 5.0 Beta 1 release is available for testing (英语). 
  32. ^ Firebird 5.0 Release Candidate 1 is available for testing (英语). 
  33. ^ Firebird 5.0 Release Candidate 2 is available for testing (英语). 

外部链接