Firebird (データベース)

Firebird（ファイアバード）は、InterBaseから派生したオープンソースの関係データベース管理システム (RDBMS)。オープンソースで開発されており、Mozilla Public Licenseを元にしたIPL(InterBase Public License)と IDPL (Initial Developer's Public License)（商用・非商用問わず利用できるが、オリジナル〈ここではFirebirdを指す〉のソースコードを改変したプログラムを利用する場合は、その変更箇所のコードを公開しなくてはならない）によってライセンスされている。
特徴.
PostgreSQLやMySQL(InnoDB)のMVCC（多版同時実行制御）と同様のMGA（マルチ・ジェネレーション・アーキテクチャー）による高度なトランザクション管理機能を有する。ストアドプロシージャや、トリガー、UDF（ユーザー定義関数）等の商用データベースに通常備わっている機能を網羅している。ただしオブジェクトの命名則が厳しい(Firebird 4.0で拡張)、プライマリキーのAUTO INCREMENTが用意されていない(Firebird3.0で導入)など、やや旧式な仕様もある。なおPHPなどアプリケーションからの接続には、InterBase対応の関数・ライブラリを流用できる。
2007年6月に開催された「オープンソースカンファレンス2007.DB」で行われた公開ベンチマークテストでは高評価を得ているが、解説書籍の出版が少ない、レンタルサーバではサポートされていないなど日本国内での認知度はまだまだ低い。
特筆すべき機能として、有償ではあるが米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のソースコードが公開され、それから1週間のうちにSourceForgeにFirebirdプロジェクトが登録された。
2002年3月11日、Firebird 1.0が Linux、Windows、Mac OS X向けにリリースされた。それから2ヵ月後には、Solaris、FreeBSD 4、HP-UXへも移植された。
Mozilla Foundationの新ブラウザが登場した際、一時期 "Mozilla Firebird" の名称を使用したため多少の混乱があったが、2004年2月10日にmozilla.orgがブラウザの名称をMozilla Firefoxに変更したことで決着した。
2004年2月23日、Firebird 1.5がリリースされた。ポーティングのため2000年よりソースコードをC言語からC++へ変更する開発が行われてきたが、このリリースは初めてC++コードベースを使った安定版である。クエリ最適化の改良、SQL92準拠の式、準拠のSAVEPOINT、明示的なロックが追加された。
2006年11月12日、Firebird 2.0がリリースされた。64ビットアーキテクチャのサポート、FROM句での入れ子テーブル、ロック時のタイムアウトでの式の利用が追加された。さらに、バージョン 2.1にて、データベーストリガ、再帰クエリ、準拠のMERGE文が追加された。
2010年10月4日、Firebird 2.5がリリースされた。これまでスレッドモデルで実装されたSuper Serverと、プロセスモデルで実装されたClassic Serverの2つのサーバーモデルを並行して開発してきたが、バージョン2.5では新たにSuper Classicと称するサーバーモデルが追加される。Super Classic版では、Super Server版のボトルネックとなっていた統合型キャッシュを見直し、スレッド毎にキャッシュバッファを実装することで、これまで弱点とされてきたSMPへの対応を強化し、スケーラビリティが向上する予定である。その他に、正規表現や外部データベースへの接続が追加された。
2016年04月19日、Firebird 3.0がリリースされた。これまでスレッドモデルで実装されたSuper Serverと、プロセスモデルで実装された Classic Serverの2つのサーバーモデルを並行して開発し、バージョン 2.5では新たにSuper Classicと称するサーバーモデルが追加されたがFirebird 3.0実行形式ファイルの単一化が施された（デフォルトはSuper Server）。さらにウィンドウ関数や統計関数がサポートされ、各種制限の緩和、データベースごとのコンフィグレーション、スクローラブルカーソル、パッケージなどが追加された。
2021年06月01日、Firebird 4.0がリリースされた。アーキテクチャや操作に根本的な変更を加えることなく、メタデータ識別子の長さの拡張(63文字まで)、10進浮動小数点（DECFLOAT）、NUMERICおよびDECIMALの最大精度を38桁に向上、INT128（128ビット整数）の導入、暗号化および暗号ハッシュのための組み込み関数など、新しいデータ型や多くの改良が導入された。