[go: nahoru, domu]

コンテンツにスキップ

「Firebird (データベース)」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
2.5.x, 3.0の最新版を更新
Tomneko (会話 | 投稿記録)
→‎歴史: Mark Rotteveelを著者に追加
 
(17人の利用者による、間の35版が非表示)
1行目: 1行目:
{{Otheruses|リレーショナルデータベース管理システム|その他の用法|ファイヤーバード}}

{{Infobox Software
{{Infobox Software
| 名称 = Firebird
| 名称 = Firebird
| ロゴ = [[ファイル:Firebird logo.svg|120px]]
| ロゴ =
| screenshot = [[File:Turbobird screenshot.png|300px]]
| 説明文 =
| 説明文 =
| 開発元 =
| 開発元 =
| 最新評価版 =
| latest release version = 2.5.3 Update1
| 最新評価版発表日 =
| latest release date = {{Start date and age|df=yes|2014|12|05}}
| 対応OS = Win32, Win64, Linux x86, Linux AMD64, Android
| 最新評価版 = 3.0 Beta 1
| 最新評価版発表日 = 2014/11/25
| 対応OS = Win32, Win64, Linux x86, Linux AMD64, MacOS X, Solaris, HP-UX
| 対応プラットフォーム =
| 対応プラットフォーム =
| 種別 = [[RDBMS]]
| 種別 = [[関係データベース管理システム|RDBMS]]
| ライセンス = [http://www.firebirdsql.org/index.php?op=doc&id=ipl IPL], [http://www.firebirdsql.org/index.php?op=doc&id=idpl IDPL]
| ライセンス = [http://www.firebirdsql.org/index.php?op=doc&id=ipl IPL], [http://www.firebirdsql.org/index.php?op=doc&id=idpl IDPL]
| 公式サイト = http://www.firebirdsql.org/
| 公式サイト = https://www.firebirdsql.org/
| screenshot = [[File:Turbobird screenshot.png|300px]]
| latest release version = 5.0.0
| latest release date = {{Start date and age|df=yes|2024|01|11}}
}}
}}


'''Firebird'''('''ファイアバード''')は、[[InterBase]]から派生した[[オープンソース]]の[[関係データベース管理システム|リレーショナルデータベース管理システム]]。[[オープンソース]]で開発されており、[[Mozilla Public License]]を元にした[[InterBase Public License]](商用・非商用問わず利用できるが、オリジナル〈ここではFirebirdを指す〉のソースコードを改変したプログラムを利用する場合は、その変更箇所のコードを公開しなくてはならない)によってライセンスされている。
'''Firebird'''('''ファイアバード''')は、[[InterBase]]から派生した[[オープンソース]]の[[関係データベース管理システム]] (RDBMS)。[[オープンソース]]で開発されており、[[Mozilla Public License]]を元にしたIPL([[InterBase Public License]])と IDPL ([[Initial Developer's Public License]])(商用・非商用問わず利用できるが、オリジナル〈ここではFirebirdを指す〉のソースコードを改変したプログラムを利用する場合は、その変更箇所のコードを公開しなくてはならない)によってライセンスされている。


== 特徴 ==
== 特徴 ==
[[PostgreSQL]]や[[MySQL|MySQL(InnoDB)]]の[[MultiVersion Concurrency Control|MVCC]](多版同時実行制御)と同様の[[InterBase#マルチ・ジェネレーション・アーキテクチャー|MGA]](マルチ・ジェネレーション・アーキテクチャー)による高度なトランザクション管理機能を有する。[[ストアドプロシージャ]]や、[[データベーストリガ|トリガー]]、UDF([[ユーザー定義関数]])等の商用データベースに通常備わっている機能を網羅している。ただしオブジェクトの命名則が厳しい(Firebird 4.0で拡張)、プライマリキーのAUTO INCREMENTが用意されていない(Firebird3.0で導入)など、やや旧式な仕様もある。なお[[PHP (プログラミング言語)|PHP]]などアプリケーションからの接続には、InterBase対応の関数・ライブラリを流用できる。
{{複数の問題
|出典の明記=2013年12月
|大言壮語=2013年12月
|section=1
}}
[[PostgreSQL]]の[[MVCC]](多版同時実行制御)と同様の[[InterBase#マルチ・ジェネレーション・アーキテクチャー|MGA]](マルチ・ジェネレーション・アーキテクチャー)による高度なトランザクション管理機能を有する。[[ストアドプロシージャ]]や、[[トリガー]]、UDF([[ユーザー定義関数]])等の商用データベースに通常備わっている機能を網羅している。ただしオブジェクトの命名則が厳しい、プライマリキーのAUTO INCREMENTが用意されていないなど、やや旧式な仕様もある。なおPHPなどアプリケーションからの接続には、InterBase対応の関数・ライブラリを流用できる。


2007年6月に開催された「[[オープンソースカンファレンス]]2007.DB」で行われた公開ベンチマークテストでは高評価を得て{{要出典|date=2013年12月}}、[[PostgreSQL]]、[[MySQL]]に続く第3のオープンソースリレーショナルデータベース管理システムとして{{誰範囲2|注目されている|date=2013年12月}}が、解説書籍の出版が少ない、[[ホスティングサーバ|レンタルサーバ]]ではサポートされていないなど日本国内での認知度はまだまだ低い。
2007年6月に開催された「[[オープンソースカンファレンス]]2007.DB」で行われた公開ベンチマークテストでは高評価を得ているが<ref>https://xtech.nikkei.com/it/article/NEWS/20070624/275673/</ref>、解説書籍の出版が少ない、[[ホスティングサーバ|レンタルサーバ]]ではサポートされていないなど日本国内での認知度はまだまだ低い。

特筆すべき機能として、有償ではあるが米IBフェニックス社の「IBPレプリケータ」を導入し、[[グラフィカルユーザインターフェース|GUI]]上から設定することにより、[[Internet Protocol|IP]]ネットワークで接続された複数のFirebird同士で同期処理を行なうことが可能となる。これはトリガーの機能を応用したもので、更新された箇所を同期処理用のテーブルに蓄積し、蓄積内容を設定された別のFirebirdに対し定期的に送信すると言うものである。この他にも、Firebirdのレプリケーションソフトは多数存在する。


特筆すべき機能として、有償ではあるが米IBフェニックス社の「IBPレプリケータ」を導入し、[[グラフィカルユーザインターフェース|GUI]]上から設定することにより、[[IPネットワーク]]で接続された複数のFirebird同士で同期処理を行なうことが可能となる。これはトリガーの機能を応用したもので、更新された箇所を同期処理用のテーブルに蓄積し、蓄積内容を設定された別のFirebirdに対し定期的に送信すると言うものである。この他にも、Firebirdのレプリケーションソフトは多数存在する。
Firebird 4.0からビルトインのレプリケーションが実装された。
また、RDBMS側からクライアントへのコールバックを実現する、イベントアラータはFirebirdの初期開発者である[[Jim Starkey]]の発案によるものである。
また、RDBMS側からクライアントへのコールバックを実現する、イベントアラータはFirebirdの初期開発者である[[Jim Starkey]]の発案によるものである。

Firebirdは一般的なC/S(Client Server)のデータベースとしての利用のほか、データベースライブラリとしても利用でき、生成されるデータベースファイルも一つのOSファイルであるため、アプリケーションへの組み込みが容易である。組み込んだ例としてはLibreOffice Baseの4.2以降でFirebird Embeddedが利用できる。


== インストール ==
== インストール ==
Windows版には専用のインストーラが用意されている。Linux版もダウンロードパッケージに含まれる「install.sh」を実行すれば自動的に「/opt」以下にインストールされる。ただしisqlコマンドを使う場合、実行環境(Fedoraなど)によっては同名の全く別のプログラムが起動してしまうので、「isql2」など重複しない別名のシンボリックリンクを作成しておく必要がある。
[[Microsoft Windows|Windows]]版には専用のインストーラが用意されている。[[Linux]]版もダウンロードパッケージに含まれる「install.sh」を実行すれば自動的に「/opt」以下にインストールされる。ただしisqlコマンドを使う場合、実行環境(Fedoraなど)によっては同名の全く別のプログラムが起動してしまうので、「isql2」など重複しない別名のシンボリックリンクを作成しておく必要がある。


== 歴史 ==
== 歴史 ==
2000年6月25日、[[Borland]]から [[InterBase]] 6.0 のソースコードが公開され<ref>{{cite news | title=Inprise/Borland Introduces InterBase 6.0 Now Free and Open Source on Linux, Windows, and Solaris | date=2000-07-16 | url=http://www.borland.com/news/press_releases/2000/07_16_00_ib6.html | archiveurl=http://web.archive.org/web/20041206174134/www.borland.com/news/press_releases/2000/07_16_00_ib6.html | archivedate=2004-12-06 | accessdate=29 January 2009}}</ref><ref>{{cite web |url=http://www.linuxtoday.com/news_story.php3?ltsn=2000-07-25-004-06-PR-SV-SW |title=Borland.com: Inprise/Borland Introduces Interbase 6.0 Now Free and Open Source on Linux |accessdate=2009-01-29 |publisher=Linux Today}}</ref>、それから1週間のうちに[[SourceForge]] Firebird プロジェクトが登録された<ref>{{cite web |url=http://www.firebirdsql.org/index.php?op=history&id=firebird |title=Firebird History |accessdate=2009-01-31}}</ref><ref>{{cite web |url=http://www.prototypical.co.uk/pdf/Interbase.pdf |title=What's happening to InterBase |accessdate=2009-01-29 |publisher=Borland User Group |author=Paul Reeves |pages=2}}</ref>。
2000年6月25日、[[ボーランド]]から [[InterBase]] 6.0のソースコードが公開され<ref>{{cite news | title=Inprise/Borland Introduces InterBase 6.0 Now Free and Open Source on Linux, Windows, and Solaris | date=2000-07-16 | url=http://www.borland.com/news/press_releases/2000/07_16_00_ib6.html | archiveurl=https://web.archive.org/web/20041206174134/www.borland.com/news/press_releases/2000/07_16_00_ib6.html | archivedate=2004-12-06 | accessdate=29 January 2009}}</ref><ref>{{cite web |url=http://www.linuxtoday.com/news_story.php3?ltsn=2000-07-25-004-06-PR-SV-SW |title=Borland.com: Inprise/Borland Introduces Interbase 6.0 Now Free and Open Source on Linux |accessdate=2009-01-29 |publisher=Linux Today}}</ref>、それから1週間のうちに[[ソースフォージ|SourceForge]]にFirebirdプロジェクトが登録された<ref>{{cite web |url=http://www.firebirdsql.org/index.php?op=history&id=firebird |title=Firebird History |accessdate=2009-01-31}}</ref><ref>{{cite web |url=http://www.prototypical.co.uk/pdf/Interbase.pdf |title=What's happening to InterBase |accessdate=2009-01-29 |publisher=Borland User Group |author=Paul Reeves |pages=2}}</ref>。


2002年3月11日、Firebird 1.0 [[Linux]], [[Microsoft Windows|Windows]], [[OS X|Mac OS X]] 向けにリリースされた<ref>{{cite web |url=http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_old_news&next=Y&skip=2029 |title=IBPhoenix Community News Archive |accessdate=2009-01-29 |date=2000-03-11}}</ref>。それから2ヵ月後には、[[Solaris]], [[FreeBSD]] 4, [[HP-UX]] へも移植された<ref>{{cite web |url=http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_old_news&next=Y&skip=2015 |title=IBPhoenix Community News Archive |date=2000-04-11 |accessdate=2009-01-29}}</ref>。
2002年3月11日、Firebird 1.0が LinuxWindows[[macOS|Mac OS X]]向けにリリースされた<ref>{{cite web |url=http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_old_news&next=Y&skip=2029 |title=IBPhoenix Community News Archive |accessdate=2009-01-29 |date=2000-03-11}}</ref>。それから2ヵ月後には、[[Solaris]][[FreeBSD]] 4[[HP-UX]]へも移植された<ref>{{cite web |url=http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_old_news&next=Y&skip=2015 |title=IBPhoenix Community News Archive |date=2000-04-11 |accessdate=2009-01-29}}</ref>。


[[Mozilla Foundation]]の新ブラウザが登場した際、一時期 "Mozilla Firebird" の名称を使用したため多少の混乱があったが、2004年2月10日にmozilla.orgがブラウザの名称を[[Mozilla Firefox]]に変更したことで決着した。[http://www.mozilla-japan.org/projects/firefox/firefox-name-faq.html]
[[Mozilla Foundation]]の新ブラウザが登場した際、一時期 "Mozilla Firebird" の名称を使用したため多少の混乱があったが、2004年2月10日にmozilla.orgがブラウザの名称を[[Mozilla Firefox]]に変更したことで決着した。[http://www.mozilla-japan.org/projects/firefox/firefox-name-faq.html]


2004年2月23日、Firebird 1.5 がリリースされた<ref>{{cite news |url=http://developers.slashdot.org/article.pl?sid=04/02/23/201230 |title=Firebird Relational Database 1.5 Final Out |accessdate=31 January 2009 |publisher=Slashdot |date=23rd February 2004}}</ref>。
2004年2月23日、Firebird 1.5がリリースされた<ref>{{cite news |url=http://developers.slashdot.org/article.pl?sid=04/02/23/201230 |title=Firebird Relational Database 1.5 Final Out |accessdate=31 January 2009 |publisher=Slashdot |date=23rd February 2004}}</ref>。ポーティングのため2000年よりソースコードを[[C言語]]から[[C++]]へ変更する開発が行われてきたが、このリリースは初めてC++コードベースを使った安定版である。[[クエリ最適化]]の改良、[[SQL]]92準拠の式、[[SQL:1999]]準拠の[[SAVEPOINT (SQL)|SAVEPOINT]]、明示的なロックが追加された<ref>{{cite web |url=http://www.firebirdsql.org/rlsnotes/Firebird-1.5.5-ReleaseNotes.pdf |title=Firebird 1.5.5 Release Notes |author=Helen Borrie |accessdate=2009-01-31 |publisher=Firebird Project |date=2007-11-30}}</ref>。
ポーティングのため2000年よりソースコードを[[C言語]]から[[C++]]へ変更する開発が行われてきたが、このリリースは初めて C++ コードベースを使った安定版である。
[[クエリ最適化]]の改良、[[SQL]]92準拠の式、[[SQL:1999]] 準拠の [[SAVEPOINT (SQL)|SAVEPOINT]]、明示的なロックが追加された<ref>{{cite web |url=http://www.firebirdsql.org/rlsnotes/Firebird-1.5.5-ReleaseNotes.pdf |title=Firebird 1.5.5 Release Notes |author=Helen Borrie |accessdate=2009-01-31 |publisher=Firebird Project |date=2007-11-30}}</ref>。


2006年11月12日、Firebird 2.0 がリリースされた<ref>{{cite web |url=http://www.firebirdsql.org/index.php?op=devjournal&id=djarchive&no_rss=1#00022.jnl |title=Firebird 2.0 Final Release Launches in Prague |author=Dmitry Yemanov |accessdate=2009-02-05}}</ref>。
2006年11月12日、Firebird 2.0がリリースされた<ref>{{cite web |url=http://www.firebirdsql.org/index.php?op=devjournal&id=djarchive&no_rss=1#00022.jnl |title=Firebird 2.0 Final Release Launches in Prague |author=Dmitry Yemanov |accessdate=2009-02-05}}</ref>。[[64ビット]]アーキテクチャのサポート、FROM句での入れ子テーブル、ロック時のタイムアウトでの式の利用が追加された<ref>{{cite web |url=http://www.firebirdsql.org/devel/doc/rlsnotes/pdf/Firebird-2.0.5-ReleaseNotes.pdf |title=Firebird 2.0.5 Release Notes |author=Helen Borrie |date=2009-01-22 |accessdate=2009-02-05}}</ref>。さらに、バージョン 2.1にて、[[データベーストリガ]]、[[再帰クエリ]]、[[SQL:2003]]準拠の[[MERGE (SQL)|MERGE]]文が追加された<ref>{{cite web |url=http://www.firebirdsql.org/devel/doc/rlsnotes/html/rlsnotes210.html#rnfb210-new-feat |title=Firebird 2.1 Release Notes |author=Helen Borrie |date=2008-07-15 |accessdate=2009-02-07}}</ref>。
[[64ビット]]アーキテクチャのサポート、FROM句での入れ子テーブル、ロック時のタイムアウトでの式の利用が追加された<ref>{{cite web |url=http://www.firebirdsql.org/devel/doc/rlsnotes/pdf/Firebird-2.0.5-ReleaseNotes.pdf |title=Firebird 2.0.5 Release Notes |author=Helen Borrie |date=2009-01-22 |accessdate=2009-02-05}}</ref>。
さらに、バージョン 2.1 にて、[[データベーストリガ]]、[[再帰クエリ]]、[[SQL:2003]]準拠の [[MERGE (SQL)|MERGE]] 文が追加された<ref>{{cite web |url=http://www.firebirdsql.org/devel/doc/rlsnotes/html/rlsnotes210.html#rnfb210-new-feat |title=Firebird 2.1 Release Notes |author=Helen Borrie |date=2008-07-15 |accessdate=2009-02-07}}</ref>。


2010年10月4日、Firebird 2.5 がリリースされた<ref>{{cite web |url=http://www.firebirdsql.org/pop/pop_pressRelease25.html |title=Firebird 2.5 Introduces New Audit Features and Improved Scalability |author=Alexey Kovyazin |accessdate=2010-10-06}}</ref>。
2010年10月4日、Firebird 2.5がリリースされた<ref>{{cite web |url=http://www.firebirdsql.org/pop/pop_pressRelease25.html |title=Firebird 2.5 Introduces New Audit Features and Improved Scalability |author=Alexey Kovyazin |accessdate=2010-10-06}}</ref>。これまでスレッドモデルで実装されたSuper Serverと、プロセスモデルで実装されたClassic Serverの2つのサーバーモデルを並行して開発してきたが、バージョン2.5では新たにSuper Classicと称するサーバーモデルが追加される。Super Classic版では、Super Server版のボトルネックとなっていた統合型キャッシュを見直し、スレッド毎にキャッシュバッファを実装することで、これまで弱点とされてきたSMPへの対応を強化し、スケーラビリティが向上する予定である。その他に、[[正規表現]]や外部データベースへの接続が追加された<ref>{{cite web |url=http://www.firebirdsql.org/rlsnotesh/rlsnotes25.html |title=Firebird 2.5 Release Notes |author=Helen Borrie|date=2008-07-02 |accessdate=2009-02-09}}</ref>。

これまでスレッドモデルで実装された Super Server と、プロセスモデルで実装された Classic Server の二つのサーバーモデルを並行して開発してきたが、バージョン 2.5 では新たに Super Classic と称するサーバーモデルが追加される。Super Classic 版では、Super Server版のボトルネックとなっていた統合型キャッシュを見直し、スレッド毎にキャッシュバッファを実装することで、これまで弱点とされてきたSMPへの対応を強化し、スケーラビリティが向上する予定である。
2016年04月19日、Firebird 3.0がリリースされた<ref>{{cite web |url=http://www.firebirdsql.org/en/news/firebird-3-0-is-released/ |title=Firebird 3.0 is released |author=Alexey Kovyazin |accessdate=2016-05-07}}</ref>。これまでスレッドモデルで実装されたSuper Serverと、プロセスモデルで実装された Classic Serverの2つのサーバーモデルを並行して開発し、バージョン 2.5では新たにSuper Classicと称するサーバーモデルが追加されたがFirebird 3.0実行形式ファイルの単一化が施された(デフォルトはSuper Server)。さらにウィンドウ関数や統計関数がサポートされ、各種制限の緩和、データベースごとのコンフィグレーション、スクローラブルカーソル、パッケージなどが追加された<ref>{{cite web |url=http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rlsnotes30.html |title=Firebird 3.0 Release Notes |author=Helen Borrie|date=2016-04-28 |accessdate=2016-05-07}}</ref>。
その他に、[[正規表現]]や外部データベースへの接続が追加された。<ref>{{cite web |url=http://www.firebirdsql.org/rlsnotesh/rlsnotes25.html |title=Firebird 2.5 Release Notes |author=Helen Borrie|date=2008-07-02 |accessdate=2009-02-09}}</ref>

2021年06月01日、Firebird 4.0がリリースされた。アーキテクチャや操作に根本的な変更を加えることなく、メタデータ識別子の長さの拡張(63文字まで)、10進浮動小数点(DECFLOAT)、NUMERICおよびDECIMALの最大精度を38桁に向上、INT128(128ビット整数)の導入、暗号化および暗号ハッシュのための組み込み関数など、新しいデータ型や多くの改良が導入された。<ref>{{Cite web|url=https://firebirdsql.org/file/documentation/release_notes/html/en/4_0/rlsnotes40.html|title=Firebird 4.0 Release Notes|accessdate=2021-12-16|author=Helen Borrie,Dmitry Yemanov (2021年6月1日)}}</ref>

2024年01月11日、Firebird 5.0がリリースされた。このリリースでは、パフォーマンス、マルチスレッド処理 (バックアップ、リストア、スイープを含む)、SQL クエリ プロファイリングの領域が改善され、スケーラビリティが向上し、SQL 言語の多数の機能強化が行われています。<ref>{{Cite web|url=https://firebirdsql.org/file/documentation/release_notes/html/en/5_0/rlsnotes50.html|title=Firebird 5.0 Release Notes|accessdate=20240-01-16|author=Helen Borrie,Mark Rotteveel(2024年01月10日)}}</ref>


== 管理ツール ==
== 管理ツール ==
64行目: 59行目:
* 2009. SourceForge Community Choice Award: Best Project for enterprise. Finalist on Best Project and Best Project for Government.
* 2009. SourceForge Community Choice Award: Best Project for enterprise. Finalist on Best Project and Best Project for Government.
* 2007. SourceForge Community Choice Award: Best Project for enterprise, Best user support.
* 2007. SourceForge Community Choice Award: Best Project for enterprise, Best user support.

== 脚注 ==
<references/>


== 外部リンク ==
== 外部リンク ==
{{Portal|FLOSS|[[ファイル:FLOSS_logo.png|41px]]}}
{{Portal|FLOSS|[[ファイル:FLOSS logo.svg|41px]]}}
* [http://www.firebirdsql.org/ Firebirdプロジェクトホーム]
* [http://www.firebirdsql.org/ Firebirdプロジェクトホーム]
* [http://tech.firebird.gr.jp/firebird/index.php Firebird日本ユーザー会]
* [http://tech.firebird.gr.jp/firebird/index.php Firebird日本ユーザー会]
73行目: 71行目:
* [http://firebirdwiki.jp/ FIREBIRD WIKI]
* [http://firebirdwiki.jp/ FIREBIRD WIKI]


[[Category:フリーデータベース管理システム]]
== 脚注 ==
[[Category:オープンソースソフトウェア]]
<references/>

[[Category:データベース管理システム]]
[[Category:オープンソース]]

2024年1月16日 (火) 05:04時点における最新版

Firebird
最新版
5.0.0 / 2024年1月11日 (5か月前) (2024-01-11)
リポジトリ ウィキデータを編集
対応OS Win32, Win64, Linux x86, Linux AMD64, Android
種別 RDBMS
ライセンス IPL, IDPL
公式サイト https://www.firebirdsql.org/
テンプレートを表示

Firebirdファイアバード)は、InterBaseから派生したオープンソース関係データベース管理システム (RDBMS)。オープンソースで開発されており、Mozilla Public Licenseを元にしたIPL(InterBase Public License)と IDPL (Initial Developer's Public License)(商用・非商用問わず利用できるが、オリジナル〈ここではFirebirdを指す〉のソースコードを改変したプログラムを利用する場合は、その変更箇所のコードを公開しなくてはならない)によってライセンスされている。

特徴[編集]

PostgreSQLMySQL(InnoDB)MVCC(多版同時実行制御)と同様のMGA(マルチ・ジェネレーション・アーキテクチャー)による高度なトランザクション管理機能を有する。ストアドプロシージャや、トリガー、UDF(ユーザー定義関数)等の商用データベースに通常備わっている機能を網羅している。ただしオブジェクトの命名則が厳しい(Firebird 4.0で拡張)、プライマリキーのAUTO INCREMENTが用意されていない(Firebird3.0で導入)など、やや旧式な仕様もある。なおPHPなどアプリケーションからの接続には、InterBase対応の関数・ライブラリを流用できる。

2007年6月に開催された「オープンソースカンファレンス2007.DB」で行われた公開ベンチマークテストでは高評価を得ているが[1]、解説書籍の出版が少ない、レンタルサーバではサポートされていないなど日本国内での認知度はまだまだ低い。

特筆すべき機能として、有償ではあるが米IBフェニックス社の「IBPレプリケータ」を導入し、GUI上から設定することにより、IPネットワークで接続された複数のFirebird同士で同期処理を行なうことが可能となる。これはトリガーの機能を応用したもので、更新された箇所を同期処理用のテーブルに蓄積し、蓄積内容を設定された別のFirebirdに対し定期的に送信すると言うものである。この他にも、Firebirdのレプリケーションソフトは多数存在する。 Firebird 4.0からビルトインのレプリケーションが実装された。 また、RDBMS側からクライアントへのコールバックを実現する、イベントアラータはFirebirdの初期開発者であるJim Starkeyの発案によるものである。

Firebirdは一般的なC/S(Client Server)のデータベースとしての利用のほか、データベースライブラリとしても利用でき、生成されるデータベースファイルも一つのOSファイルであるため、アプリケーションへの組み込みが容易である。組み込んだ例としてはLibreOffice Baseの4.2以降でFirebird Embeddedが利用できる。

インストール[編集]

Windows版には専用のインストーラが用意されている。Linux版もダウンロードパッケージに含まれる「install.sh」を実行すれば自動的に「/opt」以下にインストールされる。ただしisqlコマンドを使う場合、実行環境(Fedoraなど)によっては同名の全く別のプログラムが起動してしまうので、「isql2」など重複しない別名のシンボリックリンクを作成しておく必要がある。

歴史[編集]

2000年6月25日、ボーランドから InterBase 6.0のソースコードが公開され[2][3]、それから1週間のうちにSourceForgeにFirebirdプロジェクトが登録された[4][5]

2002年3月11日、Firebird 1.0が Linux、Windows、Mac OS X向けにリリースされた[6]。それから2ヵ月後には、SolarisFreeBSD 4、HP-UXへも移植された[7]

Mozilla Foundationの新ブラウザが登場した際、一時期 "Mozilla Firebird" の名称を使用したため多少の混乱があったが、2004年2月10日にmozilla.orgがブラウザの名称をMozilla Firefoxに変更したことで決着した。[1]

2004年2月23日、Firebird 1.5がリリースされた[8]。ポーティングのため2000年よりソースコードをC言語からC++へ変更する開発が行われてきたが、このリリースは初めてC++コードベースを使った安定版である。クエリ最適化の改良、SQL92準拠の式、SQL:1999準拠のSAVEPOINT、明示的なロックが追加された[9]

2006年11月12日、Firebird 2.0がリリースされた[10]64ビットアーキテクチャのサポート、FROM句での入れ子テーブル、ロック時のタイムアウトでの式の利用が追加された[11]。さらに、バージョン 2.1にて、データベーストリガ再帰クエリSQL:2003準拠のMERGE文が追加された[12]

2010年10月4日、Firebird 2.5がリリースされた[13]。これまでスレッドモデルで実装されたSuper Serverと、プロセスモデルで実装されたClassic Serverの2つのサーバーモデルを並行して開発してきたが、バージョン2.5では新たにSuper Classicと称するサーバーモデルが追加される。Super Classic版では、Super Server版のボトルネックとなっていた統合型キャッシュを見直し、スレッド毎にキャッシュバッファを実装することで、これまで弱点とされてきたSMPへの対応を強化し、スケーラビリティが向上する予定である。その他に、正規表現や外部データベースへの接続が追加された[14]

2016年04月19日、Firebird 3.0がリリースされた[15]。これまでスレッドモデルで実装されたSuper Serverと、プロセスモデルで実装された Classic Serverの2つのサーバーモデルを並行して開発し、バージョン 2.5では新たにSuper Classicと称するサーバーモデルが追加されたがFirebird 3.0実行形式ファイルの単一化が施された(デフォルトはSuper Server)。さらにウィンドウ関数や統計関数がサポートされ、各種制限の緩和、データベースごとのコンフィグレーション、スクローラブルカーソル、パッケージなどが追加された[16]

2021年06月01日、Firebird 4.0がリリースされた。アーキテクチャや操作に根本的な変更を加えることなく、メタデータ識別子の長さの拡張(63文字まで)、10進浮動小数点(DECFLOAT)、NUMERICおよびDECIMALの最大精度を38桁に向上、INT128(128ビット整数)の導入、暗号化および暗号ハッシュのための組み込み関数など、新しいデータ型や多くの改良が導入された。[17]

2024年01月11日、Firebird 5.0がリリースされた。このリリースでは、パフォーマンス、マルチスレッド処理 (バックアップ、リストア、スイープを含む)、SQL クエリ プロファイリングの領域が改善され、スケーラビリティが向上し、SQL 言語の多数の機能強化が行われています。[18]

管理ツール[編集]

受賞[編集]

  • 2009. SourceForge Community Choice Award: Best Project for enterprise. Finalist on Best Project and Best Project for Government.
  • 2007. SourceForge Community Choice Award: Best Project for enterprise, Best user support.

脚注[編集]

  1. ^ https://xtech.nikkei.com/it/article/NEWS/20070624/275673/
  2. ^ “Inprise/Borland Introduces InterBase 6.0 Now Free and Open Source on Linux, Windows, and Solaris”. (2000年7月16日). オリジナルの2004年12月6日時点におけるアーカイブ。. https://web.archive.org/web/20041206174134/www.borland.com/news/press_releases/2000/07_16_00_ib6.html 2009年1月29日閲覧。 
  3. ^ Borland.com: Inprise/Borland Introduces Interbase 6.0 Now Free and Open Source on Linux”. Linux Today. 2009年1月29日閲覧。
  4. ^ Firebird History”. 2009年1月31日閲覧。
  5. ^ Paul Reeves. “What's happening to InterBase”. Borland User Group. pp. 2. 2009年1月29日閲覧。
  6. ^ IBPhoenix Community News Archive” (2000年3月11日). 2009年1月29日閲覧。
  7. ^ IBPhoenix Community News Archive” (2000年4月11日). 2009年1月29日閲覧。
  8. ^ “Firebird Relational Database 1.5 Final Out”. Slashdot. (2004年2月23日). http://developers.slashdot.org/article.pl?sid=04/02/23/201230 2009年1月31日閲覧。 
  9. ^ Helen Borrie (2007年11月30日). “Firebird 1.5.5 Release Notes”. Firebird Project. 2009年1月31日閲覧。
  10. ^ Dmitry Yemanov. “Firebird 2.0 Final Release Launches in Prague”. 2009年2月5日閲覧。
  11. ^ Helen Borrie (2009年1月22日). “Firebird 2.0.5 Release Notes”. 2009年2月5日閲覧。
  12. ^ Helen Borrie (2008年7月15日). “Firebird 2.1 Release Notes”. 2009年2月7日閲覧。
  13. ^ Alexey Kovyazin. “Firebird 2.5 Introduces New Audit Features and Improved Scalability”. 2010年10月6日閲覧。
  14. ^ Helen Borrie (2008年7月2日). “Firebird 2.5 Release Notes”. 2009年2月9日閲覧。
  15. ^ Alexey Kovyazin. “Firebird 3.0 is released”. 2016年5月7日閲覧。
  16. ^ Helen Borrie (2016年4月28日). “Firebird 3.0 Release Notes”. 2016年5月7日閲覧。
  17. ^ Helen Borrie,Dmitry Yemanov (2021年6月1日). “Firebird 4.0 Release Notes”. 2021年12月16日閲覧。
  18. ^ Helen Borrie,Mark Rotteveel(2024年01月10日). “Firebird 5.0 Release Notes”. 20240-01-16閲覧。

外部リンク[編集]