Firebird (資料庫)
Firebird,是一個跨平台的關聯式資料庫系統,目前能夠執行在Windows、linux和各種Unix作業系統上,源於Borland公司的InterBase 6.0,是一個完全非商業化的產品,但原始碼經過大規模重寫,使用C++開發。
開發者 | Firebird專案 |
---|---|
首次發佈 | 2000年 |
目前版本 |
|
原始碼庫 | |
程式語言 | C++, C |
作業系統 | 跨平台 |
平台 | IA-32, x86-64, FreeBSD |
類型 | 關聯式資料庫管理系統 |
許可協定 | IPL, IDPL |
網站 | www |
特色
編輯支援多版本並行控制(Multiversion Concurrency Control,MVCC)、預存程序(Stored Procedure)、觸發程式(Trigger)、自訂方法(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)的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)的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
編輯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日 |
| |||
3.0 Beta 2 | 2015年7月3日 |
| |||
3.0 RC1 | 2015年11月9日 |
| |||
3.0 RC2 | 2016年3月3日 |
| |||
3.0 | 2016年4月19日 |
| |||
3.0.1 | 2016年9月27日 |
| |||
3.0.2 | 2017年3月22日 |
| |||
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日 |
| |||
3.0.9 | 2022年2月15日 |
| |||
3.0.10 | 2022年6月8日 |
| |||
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日 |
| |||
4.0 Beta 2 | 2020年5月14日 |
| |||
4.0 RC1 | 2021年2月1日 |
| |||
4.0 | 2021年6月1日 |
| |||
4.0.1 | 2021年12月22日 | ||||
4.0.2 | 2022年8月11日 | ||||
4.0.3 | 2023年8月4日 |
| |||
4.0.4 | 2023年11月8日 |
|
Firebird 5.0
編輯舊版本 | 最新版本 | 未來版本 |
Firebird 5.0 發行歷史 | |||||
---|---|---|---|---|---|
版本 | 發佈日期 | 重要改進 | |||
5.0 Beta 1 | 2023年3月27日 |
| |||
5.0 RC1 | 2023年9月29日 |
| |||
5.0 RC2 | 2023年12月18日 |
| |||
5.0 | 2024年1月11日 |
|
判斷資料庫所執行引擎版本
編輯- Windows
執行command應用程式,然後執行下列查詢:
gstat [switches] database_name
例如安裝Firebird位於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工具
編輯參考文獻
編輯- ^ Firebird 5.0.1. 2024年8月2日 [2024年8月4日].
- ^ 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
- ^ Releases Firebird-win64. (頁面存檔備份,存於互聯網檔案館) Sourceforge.net; abgerufen am 3. Mai 2011.
- ^ Releases Firebird-linux-amd64. (頁面存檔備份,存於互聯網檔案館) Sourceforge.net; 3. May 2011.
- ^ Helen Borrie. Firebird 2.1 Release Notes. 20 July 2014 [20 July 2014]. (原始內容存檔於2017-04-22).
- ^ Fast conversion of Firebird 2.5 databases to Firebird 3.0 (英語).
- ^ Firebird 3.0 Beta 1 is available (英語).
- ^ Firebird 3.0 Beta 2 is available (英語).
- ^ Firebird 3.0 Release Candidate 1 is available for testing (英語).
- ^ Firebird 3.0 Release Candidate 2 is available for testing (英語).
- ^ Firebird 3.0 is released (英語).
- ^ Firebird 3.0.1 Release: Bug Fixes (英語).
- ^ Firebird 3.0.2 Release: Bug Fixes (英語).
- ^ Firebird 3.0.3 Release: Bug Fixes (英語).
- ^ Firebird 3.0.4 Release: Bug Fixes (英語).
- ^ Firebird 3.0.5 Release: Bug Fixes (英語).
- ^ Firebird 3.0.6 Release: Bug Fixes (英語).
- ^ Firebird 3.0.7 Release: Bug Fixes (英語).
- ^ Firebird 3.0.8 Release: Bug Fixes (英語).
- ^ Firebird 3.0.9 Release: Bug Fixes (英語).
- ^ Firebird 3.0.10 Release: Bug Fixes (英語).
- ^ Firebird 3.0.11 Release: Bug Fixes (英語).
- ^ Firebird 4.0 Beta 1 release is available for testing (英語).
- ^ Firebird 4.0 Beta 2 release is available for testing (英語).
- ^ Firebird 4.0 Release Candidate 1 is available for testing (英語).
- ^ Firebird 4.0 is released (英語).
- ^ Firebird 4.0.1 Release: Bug Fixes (英語).
- ^ Firebird 4.0.2 Release: Bug Fixes (英語).
- ^ Firebird 4.0.3 Release: Bug Fixes (英語).
- ^ Firebird 4.0.4 Release: Bug Fixes (英語).
- ^ Firebird 5.0 Beta 1 release is available for testing (英語).
- ^ Firebird 5.0 Release Candidate 1 is available for testing (英語).
- ^ Firebird 5.0 Release Candidate 2 is available for testing (英語).
外部連結
編輯