医療システムを席巻するFirebird!
InterBaseとは
Firebirdを説明する前にまずはInterBaseとは何かについて簡単に説明していきましょう。
InterBaseは1981年に開発が始まり、1983年に最初のバージョンが作られた非常に歴史のあるデータベースです。
参考までに、1979年に現在のオラクル社(当時Relational Software社)が最初のRDB製品「Oracle V2」をリリースし、1981年にIBM社が、米IBMサンノゼ研究所にて1974年から行われていたRDBの大規模実験システムであるSystem Rプロジェクトの成果を製品化した「SQL/DS(SQL Data System)」をリリースしています。このことからもInterBaseがRDBの黎明(れいめい)期から存在している製品であることが分かると思います。
InterBaseは最初のバージョンから非常にコンパクトでメモリ効率に優れたデータベースとして設計されています。また、当時からバイナリデータを取り扱うBLOB型のデータ型にサブタイプを設け、さまざまなバイナリデータの取り扱いを可能にしていたり、配列型のデータ型を装備しているなど非常に先進的な機能を持つRDBでした。
1992年に日本語環境をサポートしたInterBase 3.2Jがリリースされ、日本でも基幹系のデータベースとして利用されるようになりました。InterBaseはInterBase Software社によって開発されていましたが、1991年にボーランド社に買収され、ボーランド社の製品として開発が進められていきます。
オープンソース版InterBaseはボーランド社がオープンソース提供の方針を変更したため、InterBase 6.0だけがオープンソースとして公開されましたが、その後は通常の有償の製品となりました。現在は引き続きエンバカデロ・テクノロジーズ社の製品として開発・販売されています。
一方、InterBase 6.0から生まれたFirebirdですが、2006年11月12日にFirebird 2.0、2008年4月18日にFirebird 2.1がリリースされており、現在はFirebird 2.5の開発が進められています。
軽いフットプリントのFirebird
FirebirdはMySQLやPostgreSQLと異なり、非常に軽いフットプリントで使いやすいデータベースです。この特徴のため、ORCAプロジェクトだけではなく、多くの業務ソフトウェアパッケージのエンジンとして利用されています。Firebirdの特徴をいくつかとりあげ紹介していきましょう。
1つ目は、履歴型アーキテクチャを採用していることです。一般的にリレーショナルデータベースではSELECT文を処理している場合でも読み取りロックが発生します。しかし、Firebirdはデータを履歴として管理しているため、ほかのトランザクション処理によって書き込みが行われている最中であっても、同一データに対してSELECT文の処理によって最新の値を取得することができます。もちろん、ほかのRDBと同様に書き込み中にはいっさい読みとりを行わないようにすることも可能です。
2つ目が、組み込み用途から大規模環境までの幅広いプラットフォームをサポートしていることです(図2)。Firebirdは、Windows 2000/XP/Vista/2003、Linux、MacOSX(Intel、 PowerPC)、Solaris(Sparc、Intel)といった32ビット/64ビットの一般的なデータベースのプラットフォーム環境だけでなく、DebianのMIPS版、ARM版に対応した製品も存在しており、軽いフットプリントを利用した組み込み環境での利用も可能になっています。
また、まったく同一の機能でシングルユーザーでの利用に適したEmbedded Server版が用意されていることも特徴の1つです。
3つ目が「SQL:1992」「SQL:1999」「SQL:2003」準拠であることです。ANSI SQL-92エントリレベルに準拠しているだけでなく、SQL:1999やSQL:2003の標準に準拠するように作られているので、汎用性がとても高いのです。
次ページでも引き続きFirebirdの特徴について紹介していきましょう。