firebird 04.10.12 7:35 PM ページ1 9 8 ★ ★ ★ ★ 軽量&保守性に優れたオープンソースRDBMS Firebird 最★新★動★向 Firebird 日本ユーザー会 加藤 大受 KATO Daiju ●[email protected] ★ はじめに ●インデックスのアーキテクチャ改良 バージョン2.0 以前のFirebird のインデックスは, 2004 年9 月4 日,数多くのオープンソースコミュニ FirebirdのベースとなっているBorland社のInterBase ティが一同に集まって開催された『オープンソースカ の初代アーキテクトだったJim Starkey 氏が1984 年に ンファレンス 2004』で,Firebird プロジェクトの 開発した最初のバージョンで実現していたアーキテク Project AdministratorであるNickolay Samafatov(ニ チャを踏襲しており,インデックスが設定されている コライ サモファトフ)氏が来日し,Firebirdのアーキ データのコピーをインデックスのB ツリーにも保持し テクチャに関するテクニカルセミナーが行われました. ていました.インデックスを使った検索が行われると, 当初2 時間の予定を1 時間延長するほどの熱の入った インデックスに格納されているデータで該当するもの そのセミナーで,Firebird の今後のロードマップが示 にはマークを付け,そのマークの論理和などを利用し されましたので,この場を借りて今後のロードマップ て検索を実現していました.Firebird のインデックス をご紹介したいと思います. はプリフィックス圧縮という圧縮アルゴリズムを採用 ★ C++ に書き直された Firebird 2.0 していましたが,実際のデータをデータページとイン デックスページの両方に持っているため,大量のデー 本誌が発売される頃にはすでにFirebird 2.0のβ版が タ変更や削除などが行われるとインデックスの再構築 リリースされていると思います.2.0 はFirebird プロジ が必要となり,パフォーマンスの低下が起きる可能性 ェクトで当初より進められてきたC 言語からC++ 言語 がありました.Firebird 2.0ではインデックスはレコー への書き直しが終了し,すべてC++ 言語で書かれた製 ド番号だけを持つことになるため,従来のバージョン 品としてリリースされます.C++ 言語に書き直される のようにデータページとインデックスページにデータ ことにより,メモリ周りとパフォーマンスの改善が実 を二重に持つ必要がなくなり,I/O処理の軽減とパフ 現されています.また,ソースコードのクリーンアップ ォーマンスのアップが実現されています. も行われ,非常に読みやすいコードになっています.注 インデックスのアーキテクチャが変更されましたので 目すべき機能としてはインデックスのアーキテクチャの 単一のデータベースファイルでデータとインデックスの 改良と新しいオンディスク構造体(ODS)の採用,導 管理を行っているバーチャルI/O機能であるオンディス 出テーブル(derived table)が挙げられます. ク構造体も新しくなっており,Firebird 1.5からの移行 にはバックアップ/リストア処理が必要となります. 198● WEB +DB PRESS Vol.23 firebird 04.10.12 7:35 PM ページ1 9 9 軽量&保守性に優れたオープンソースRDBMS Firebird 最★新★動★向 ●導出テーブルの採用 SQL 文関連の新機能としては導出テーブルの採用, CANCEL 文,EXECUTE BLOCK 文の採用がありま す.導出テーブルは仮想テーブルとは異なり,SELECT 文によって取得されたテーブルのことです.Firebird は大きなアーキテクチャの変更を伴っていますので, 今後のFirebirdプロジェクトの方向性を大きく決定す べき製品となると思います. ★ Oracle との互換性を実現する Fyracle 2.0では導出テーブルに別名が付けられるようになりま オープンソースではないですが,Firebird 関連のプ す.CANCEL 文はその名の通り,問い合わせを中止 ロジェクトとして,Janus Software社が開発している, するSQL文です.EXECUTE BLOCKはトリガやプロ Oracle のPL/SQL をFirebird 上で実行するFyracle が シージャの記述言語であるDSQLで使用できる名前の あります.Fyracle はPL/SQL コンパイラとランタイ ないプロシージャで,1 回しか実行しないプロシージ ムの2 種類があり,PL/SQL コンパイラは有償で,ラ ャなどを構築したいときに便利に利用できます. ンタイムはフリーで提供されており,Fyracle を使う この他に,オプティマイザ周りにもさまざまな機能改 ことにより,Oracle対応のさまざまなソフトウェアを 良が行われているだけでなく,オープンソースのメモリ Firebirdに移植することが可能になっています.Fyracle デバッガツールであるvalgrindツールを統合し,メモリ によって,Oracle対応のアプリケーションをオープン 周りの不具合の発見をしやすくするなどの試みが行われ ソースのRDBMS であるFirebird に移植できるように ています. なり,RDBMS のコストの削減を実現できるようにな ★ Firebird 3.0 筆者の今までの経験から考えますと,Firebird 2.0 ります. Janus社では現在Oracle 8i対応のPL/SQLをコンパ イルするFyracleコンパイラを有償で販売しています. が正式にリリースされるまでにはβ版の登場から半年 Janus社では将来Oracle 9i対応がリリースされたタイ 程度の時間を必要とすると思いますが,すでに来年の ミングでOracle 8iのものは無償で公開する予定だそう 春にはFirebird 3.0 のβ版のリリースが予定されてい です.Oracle 8i 対応のFyracleコンパイラが無償公開 ます.Firebird 3.0はInterBaseの初代アーキテクトだ されることでより多くのアプリケーションがFirebird ったJim Starkey 氏が現在開発している,64 ビット版 対応になっていくものだと思われます. のFirebird を開発しているVulcan プロジェクトと Firebird 2.0,ロシアのFirebird Windows 版のオープ ンソースプロジェクトであるYaffil(すでにYaffil のメ ●Janus Software 社Fyracle について(英文) http://www.janus-software.com/fb_fyracle.html ンバーはFirebird プロジェクトに参加し,Yaffil プロ 今回のニコライ氏の来日はユーザー会の個人正会員 ジェクトの成果のマージを行っています)の3 つのプ や法人会員のみなさんの会費と協賛金によって実現す ロジェクトがマージされて3.0になる予定です.Vulcan ることができました.今後もFirebird 日本ユーザー会 プロジェクトではオープンソースの分散ロックマネー ではみなさんに役に立つ情報の発信やセミナーの開催 ジャ(DLM)を利用し,クラスタリングの対応や を行い,Firebirdの日本での利用促進を続けていきま SMP 対応のさらなる拡張などの大規模対応を実現す す.これからもみなさんのご支援をよろしくお願いし る予定となっています.また,Java VM の搭載による ます. Java プロシージャの提供なども予定されています.こ Firebird日本ユーザー会のWebサイトでもさまざま のVulcanプロジェクトとFirebirdプロジェクト,そし な情報を提供しています.ぜひ,Webサイトも参照し てYaffilプロジェクトで実現された細かなオプティマイ てみてください.# ザの改良などが合わさってFirebird 3.0としてリリース されます.また,国際化の強化についても検討されて おり,UCS-4の対応が予定されています.Firebird 3.0 http://www.firebirdsql.gr.jp ★ WEB +DB PRESS Vol.23 ●199
© Copyright 2024 Paperzz