【 ここから本文 】
- TOP
- > Topics : オープンソース
- >
オープンソース
ソーシャルブックマークに登録 :
印刷用ページの表示
オープンソースDBの成熟度を計る[後編]
各製品の長所と短所を知り、採用・導入のシナリオを検討する
(2007年09月20日)
企業でのオープンソース・ソフトウェアの利用が活発化している昨今、データ活用の基盤となるデータベースにおいても、オープンソースのRDBMS(リレーショナル・データベース管理システム)が採用されるケースが増えてきている。だが、自社の業務内容やITシステムの状況に合致する製品の選定、導入は決して易しいプロセスではない。後編となる今回は、前編に引き続き、代表的なオープンソースDBの特徴を概観したうえで、オープンソースDBの進化の方向性および導入のシナリオについて考察する。
木村明治
キムラデービー 代表
Firebird http://www.firebirdsql.org/
商用DBから分岐した軽量かつ堅牢なDB
安定版:1.5.4、1.0.3/最新版:2.0.1/次期版:2.1
成り立ち
Firebirdは、コードギア(旧ボーランド、インプライズ)が開発した商用RDBMS「InterBase」を起源としている。InterBase自体は1983年に最初のバージョンが発表された、歴史ある製品である。2000年に「InterBase 6.0 Open Edition」を発表した時点で一度、ソースコードが公開されたが、その後撤回されて現在も商用RDBMSとして販売されている。このとき公開されたソースを元に、2002年、InterBase 6.0との完全互換性を目指したオープンソースDBとしてFirebird 1.0が誕生した。
技術・機能の特徴
■一昔前のマシンでも軽快に動作
Firebirdは、ベースとなったInterBaseの思想を受け継ぎ、メモリやディスク容量が潤沢ではない環境でも軽快に動作するのが売りである。
例えば、Firebirdの最新Windows版においても、メモリはOSの標準容量、ハードディスクは20MB以上もあれば動作する。なお、他のオープンソースDBと同様、Windows、Linux、FreeBSD、Solaris、HP-UX、Mac OS X(PPCおよびインテル版)に対応しているが、特にWindowsは10年以上前から対応しており、Windows 9x系までサポートする。
■柔軟な構成を可能にするインプロセス・ライブラリ
一般的なRDBMSでは、クライアント/サーバ(C/S)構成をとるのが一般的だが、Firebirdでは、C/Sのほかに、インプロセス・ライブラリにより組み込みDBとしての利用も可能だ。その際には、クライアント・プログラムをほとんど変更することなく、両モードを切り替えることができる(図5)。まずは組み込み構成で構築し、マルチユーザーやリモートで使いたくなった際に、C/S構成に変更することが容易に行えるのだ。
| 図5:組み込み構成とクライアント/サーバ構成 |
また、RDBMSでは、物理的なDBファイルは、指定ディレクトリ以下に複数のファイルで構成するのが一般的だが、Firebirdでは1つのDBに対して、1つの物理ファイルで構成する方式をとる。なお、指定により複数ファイルで構成することも可能だ。こうして、アプリケーションのデータ・ストアとしてハンドリングしやすい構成をとれるようになっている。
■過不足のないトリガ、プロシージャ、ビュー機能
軽量を身の上とし、Windows 9xにも対応しているからといっても、Firebirdは決して非力な環境に向けた目的限定型のRDBMSではない。むしろ、くせのない形でさまざまな用途に対応可能だ。SQL文は標準仕様と大きく異なることはなく、他のDBからの移行や一からの構築もスムーズに行える。ビューは更新可能なものを作成でき、「WITH CHECK OPTION」も設定可能だ。
トリガやストアド・プロシージャはPSQL(手続き型SQL)で、ユーザー定義関数はC/C++やDelphi言語で作成可能だ。これらは10年以上の実績がある。
■MPLから派生したIPL/IDPLをライセンスに採用
Firebirdのライセンスには、OSI承認のMPL(Mozilla Public License)のバリエーションであるIPL(Interbase Public License)とIDPL(Initial Developer's Public License)が採用されており、いずれも商用・非商用にかかわらず無料で使える。IPLはInterBase由来のソースコードに、IDPLはFirebirdで新規に起こされたソースコードに適用される。
最新版/次期版の強化ポイント
2006年11月に2.0が発表され、最新版は2007年3月にリリースされた2.0.1となる。インデックス構造の改善とインデックス長上限の緩和、副問い合わせ(導出テーブル)、CANCEL構文、EXECUTE BLOCK構文、シーケンスや新しいカーソル構文のサポート、オプティマイザとバッファ・キャッシュの改善、従来からあるホット・バックアップに加えて、差分バックアップ・ツールの追加などが行われている。
次期版である2.1では、DBコアにあまり手を入れない形で便利な機能を追加する。DBトリガ、グローバル一時表、共通表式(CTE)や再帰問い合わせ、LIST関数やMERGE文などである。現在アルファ版が公開中で、今年中にはリリースされる見込みである。
選ぶ理由と選ばない理由
Firebirdの最大の長所は、「小さく始めて、大きく育てる」ことが可能な点だ。わずかなフットプリントながら、C/Sへの移行が可能であり、運用コストも低い点が支持を集めている。また、適用形態によらない、完全なフリーを実現している点も大きい。
一方、大規模環境での運用には機能が十分ではない点が欠点として挙げられる。それゆえ、大規模ユーザー事例の数も不足している。また、日本語情報や技術者の数も現状では十分とは言えない。
Column 1
58カ国/1万以上のユーザー・ベースと成熟したエンタープライズ機能を持つIngres
前編の図2に示したように、Ingresの先祖であるUCB版Ingresは、PostgreSQLの遠い先祖にあたるが、それ以外にも、「Sybase」「Microsoft SQL Server」「Tandem Non-Stop SQL」「CA-Universe」「Britton-Lee」「Wang PACE」といったDBの由来となっている。一方、商用のIngresは、旧イングレス、アスク、コンピュータ・アソシエイツ(現CA)を経て、2006年にはCAから分離独立した新生イングレスからGNU GPLと商用のデュアル・ライセンスで提供されている。
このように紆余曲折を経てはいるが、Ingresは58カ国/1万以上のユーザーを擁し、他のオープンソースDBが最近のバージョンでサポートないしはサポート予定のエンタープライズ向け機能を古くから備え、成熟度を高めている。例えば、レプリケーションは1994年に、クラスタリングやテーブル・パーティショニングは2004年にサポート済みである。
2007年2月、イングレスは新たな試みとして、ソフトウェア・スタックのOSとDBを統合した「Icebreaker」を発表した。同ソフトも含めて顧客基盤の拡大とブランドの再構築を目標に活動中である。
各製品の長所と短所を知り、採用・導入のシナリオを検討する
















