Firebird 〜 オープンソースデータベースの導入と運用の実際

Firebird 〜 オープンソースデータベースの導入と運用の実際 レビュー記事

[ ブックレビューコーナー 目次 ]

(株)毎日コミュニケーションズ様のご厚意により, 書籍 "Firebird 〜 オープンソースデータベースの導入と運用の実際" を ブックレビューコーナー にご献本いただきました. この本のレビューをして頂くべく, Linux Users ML や本サイトにおいて 公募 を行い, これにご希望頂いた方々より感想などをレビュー記事にまとめていただきました.

ここに, レビューアの方々から寄せられたレビュー記事を公開します. (原稿到着順)

毎日コミュニケーションズ様および レビューアの皆様のご厚意に感謝いたします.

なお, 以下のレビューは初版を対象としています.


Reviewed by 谷川剛一 (dev@agapesystem.com) さん

「Delphi 使いには物足りない? が, Firebird の世界を広げる一冊」

Linux の使用歴
約 6 年
UNIX の使用歴
Linux のみ
Linux Box の主な用途
Web/Mail/FTP サーバー, Firebird 用サーバー, CVS, VPN (Vtun), その他 (サイボウズ, 社内用 Wiki など)
Linux 以外に利用している OS
WindowsXP
Linux と Linux 以外の OS の使用頻度の比
3:7

第一人者による書き下ろし

Firebird の初めての解説書です…という謳い文句と共に発売された本書. 確かにその言葉に偽りは無いのだが, Firebird と互換性のある InterBase についての解説書は, 実は初めてではない. アスキーより出版されている 「データベース Linux」シリーズの 2 冊は, 本書より数年前に出版された InterBase に関する優れた解説書で, 私もこれらの本で InterBase に目覚めたと言っても過言ではない. なぜこのことにあえて触れたかというと, 「データベース Linux」シリーズの著者の一人が, 本書の著者である加藤大受氏だからである. 氏は Linux Japan 誌にも InterBase についての記事を連載されていたこともあり, 著者を見て迷わず飛びついた! というのが, 正直なところである.

導入とリファレンスに最適

「導入と運用の実際」というサブタイトルにふさわしく, 導入 (インストール) に関しては非常に分かりやすく解説されている. インストールを解説している OS は, Windows, Linux, FreeBSD, MacOS X. また解説している開発・運用環境は, Perl, Python (Zope), Java, PHP, ODBC, Delphi/Kylix である. ここまで調べ上げるには, 大変な労苦が必要だろう. それだけでも本書は「保存版」と言える価値がある.

ところで, 製品版の InterBase を買えばおそらく誰もが感じるのが, 「なぜマニュアルがこんなに分かれているの?」ということだろう. 少なくとも Version5.5 の時は, マニュアルが 5 冊に分かれていた. しかもタイトル・ボリュームがどれも似たり寄ったりで, 調べたいことに対し, どのマニュアルを開けばよいか, わかりにくい. (最悪, 目次を 5 回見なければならない!) それが本書で 1 冊に編纂されているのだから, 非常にありがたい. Firebird/InterBase を利用する開発者は, リファレンスとして手元に置くと便利だ. 特に巻末の付録に収められている豊富なリファレンスは素晴らしい. 実際, 本書を会社へ持っていったところ, 同僚の新人君は飛びつくように本書を参照していた. もっと早く買ってあげれば良かったと, つくづく思う.

Delphi 使いには少し物足りない?

Linux コミュニティの場でこういう発言は申し訳ないのだが, 私の仕事は 8 割方, Delphi である. RDBMS も 8 割方, Firebird. もちろん Firebird を動かすサーバー OS に Linux を採用することは良くある. Delphi には, Firebird の性能をフルに引き出せる, InterBase Express というミドルウェアがあるのだが, 高機能な反面, ややこしい面もある. 特にトランザクション, ロック, 排他制御などを厳密に理解せねばならない. 前述のアスキーの本は, この分野に大変明るい (関連する Delphi のヘルプミスまで指摘してあったりする). しかし本書の場合, それらの点がそれほど多くは語られていないように感じた.

ストアドプロシージャやトリガーといった機能については, 構文はもちろん, それがどのような使われ方をするのか豊富なサンプルで説明されている. ただ, 膨大なサンプルを一通り読まないとその真価が分かりにくいのが少し残念な気もする. 代表的な利用例 (テーブルの変更履歴を記録するトリガー, 連番主キーをセットするトリガーなど) は Tips 集のような形でまとめられていると良かったかもしれない. また, 個人的には Firebird の選択プロシージャはかなり強力と感じているのだが, この点も多くは語られていないのが少し勿体ない感じがした. それと強力な UDF も…っと, 辛口になりすぎるのでやめておこう.

Firebird の世界を広げる一冊

少々辛口のレビューになってしまって著者には申し訳ない気もするが, これだけの情報量を収めた本を母国語で読めるのは大変恵まれたことだと思う. Delphi からバリバリと使いこなすには少々物足りないが, 逆に Delphi 以外でもこんなに使えるんだということを知らしめてくれ, 「今度は Zope から使ってみようか」という気にさせてくれる. これを機に Firebird も PostgreSQL/MySQL と並び, レンタルサーバーのサービスメニューに当たり前にラインナップされる日が来ることを楽しみにしたい.

最後に, 次なる Firebird 本を出版される著者・出版社のために, 些細な要望を伝えさせて頂くと,

  1. 著者の経験に基づく主観 (isc4.gdb をバックアップしておくこと, など) は 囲み枠等で目立たせて! そうした意見には価値があると思う.
  2. 紙が少し厚すぎた. リファレンス的な用途には, ちょっとめくりにくいと思った. > 出版社殿

最後までお読み下さり, ありがとうございました.


Reviewed by 高山滋彰 (tak_31@k.vodafone.ne.jp) さん

「Windows を使っている人にはよいかも」

Linux の使用歴
4 年
UNIX の使用歴
2 年
Linux Box の主な用途
データ収集整理加工
Linux 以外に利用している OS
Windows98SE
Linux と Linux 以外の OS の使用頻度の比
9:1

エクセルで顧客管理をするのに限界を感じ, Linux+Apache+Perl+MySQL で簡単なシステムを作った. 本書を参考にしてデータベース部分を Firebird で置き換え, Perl からデータベースを利用する部分を少し書き換えて, MySQL と比較しようとしたが挫折した. 簡単に言うとどこに何が書いてあるのかわかりにくく, インターネットのホームページでなく, 付録 CD-ROM 付きの解説書を参考にしているメリットがあまりない. 以下理由などを述べる.

  1. 本書が送られてくるまで, Firebird とはどんなものかホームページなどをみて予習をしていたが, 第 1 部の概要は, だいたいそれらと同じようなことが書いてある. 実際につかってみないとわからないこともあるので, 読み流す.
  2. Firebird のインストールは rpm 形式のものを展開するだけで, 一瞬で終わった. あまりに早くインストールが終わったので本当にインストールできたのかあれっと思ったが, ちゃんとできていた.
  3. コマンドラインで SQL を使って簡単なテスト用データベースを作ったが, テーブルの削除の仕方とデータベースファイルが複数ある時の切り替え方が分からず迷った. 索引を引いてもわからない. 付録 B のコマンドリファレンスを見ても DROP についての記載がない. なぜ記載されていないのか理由がわからない. テーブルの削除の仕方及びデータベースファイルの切り替え方についてインターネットで調べた.
  4. IBConsole というアプリで Firebird にアクセスできるみたいなのだが, 第 2 章と第 4 章の記述を読むと Windows 版の IBConsole しか付録の CD-ROM にはいってないように勘違いする. よく読むと日本語未対応の Linux 版の IBConsole が存在することもわかる. さらによくよく読むと日本語パッチのあててある筆者のソースコードの存在がわかるが, Delphi6 でコンパイルしなければならず, Delphi6 をインストールするには, インストールキーを手に入れなければならない. 面倒すぎる. コマンドラインで充分だ.
  5. Perl からの使用方法のところは参考になりそうだった. Windows 版の IBPerl はなさそう. 第 12 章は JAVA+Tomcat について, 付録 C には, Apache+Tomcat の組み合わせについて書かれているので, パズルのように頭をひねれば, Apache+Tomcat+Perl の組み合わせが実現できそうなのだが, 面倒なのでやめる.
  6. Linux 機で Firebird を試用することをあきらめ, 試しに Windows98 機に変更してみると, Firebird のインストールから最後まですいすいと本書の流れに沿ってほぼ事がすすめられる. よくみたら, 参考画面の写真も IE ばかりだ.

結論

Windows で Borland 製品ばかりを使っていた人には Firebird でなにができるのかざくっと知るにはよいかもしれない. しかし, そんな人には, Linux や MacOS に関する記載の部分は邪魔なだけであろう. Firebird を使ってみたい Linux 使いには, 必要な部分をインターネットで検索する方が遙かに有用だと思う. ある部分は Linux で説明し, また別の部分は Windows で説明して, 付録の CD-ROM からソフトをインストールしようとすると Windows 版の実行ファイルしかなかったり, Linux 版のソースコードしかなかったり, 無いと思っていたものが有ったりする. 疲れる. 1 つのプラットフォームに絞って目的, 対象読者をはっきりさせて, Firebird 特有のポイントを丁寧に解説してくれた方がいいと思う. よくばりすぎて読みづらい. あえて Firebird にしなければならない理由は本書からは読みとれない. 参考になるプログラムの解説書でもない. 索引が貧弱で辞書的利用もしにくい. 高いし, おすすめしない.


Reviewed by 田島弘隆 (tajima@hirochan.org) さん

「Firebird 使いへの最初の一歩に」

Linux の使用歴
3 年
UNIX の使用歴
10 年
Linux Box の主な用途
メール読み書き, 開発ほか日常生活環境として
Linux 以外に利用している OS
FreeBSD, Solaris, Windows
Linux と Linux 以外の OS の使用頻度の比
8:2

はじめに

データベースの実装は商用, 非商用問わず多数存在し, Firebird は商用データベースの 1 つであるボーランド社の InterBase から派生したオープンソースのデータベース実装です. 残念ながら Firebird に関する日本語での情報は少なく, 導入の障壁となっています. 本書は Firebird の数少ない日本語で読める書籍であります.

気になるインストール, メンテナンス作業について

新規にデータベースを導入する際に知りたい情報は, インストール作業と運用時のメンテナンスです. 本書ではインストールについて Windows, Linux, FreeBSD そして MacOS X の環境について記述されていますが, 非常に簡素な記述であり少し不安になります.

また, データベースのバックアップなど運用時のメンテナンス作業について Windows GUI 環境を想定した簡素な記述があるだけで, Linux など UNIX 環境での記述はほとんどありません. Firebird を利用する上で UNIX を使いたい方にはこの点は非常に不満があると思います.

各種ツールからの Firebird 使用例が多数

データベースは単体で使用するより, Perl, PHP, Python など他ツールから操作されるケースが多数です. 本書には Firebird の他ツールからの具体的な利用法が多数例示されています. 特に Web システムからの Firebird 利用を意識した例を多数掲載しているため, 開発初期の手助けとなります.

ただ, 例示に関する説明が読みにくい印象を受けました. 重要なコマンドや Firebird とのインターフェース部分についての説明が本文中に散っており, 後日参照する際に探すのが大変です.

付録部分が便利

付録には Firebird を扱う上で使用するコマンドラインツールと, 忘れがちな SQL コマンドについてまとめられております. 開発時にリファレンス的に使用でき非常に便利です. また, Firebird の重要な情報が多数記述されたリリースノートが和訳されており助かります.

本書をお薦めする方

  1. Firebird に初めて触れる方
  2. 他ツールからの Firebird の利用法を知りたい方

まとめ

Firebird に関する情報に飢えていた私にとって, 本書を読んでみて多少がっかりしました. 説明のない用語が突然でてきたり, 後半には数ページに渡ってソースコードが羅列されるなど読みにくい印象を受けました.

しかし Firebird を扱う上で基本的な部分についてはしっかり押えておりますので, 導入初歩について日本語で情報を得たい方にお薦めします.


Reviewed by 中妻 穣太 (johta@ad.il24.net) さん (HomePage)

「実戦的内容を目指した良書」

Linux の使用歴
2 年
UNIX の使用歴
2 年
Linux Box の主な用途
ファイアウォール・ゲートウェイ, Web サーバ
Linux 以外に利用している OS
Windows 2000
Linux と Linux 以外の OS の使用頻度の比
4:6

1. 動機

私はネットワーク構築や Web アプリケーション構築などをやってきましたが, データベースを直接触ったことはありませんでした. そこでオープンソース RDBMS を触ってみたいと常日頃思っており, さて PostgreSQL か MySQL か…と思っていたところに本書を知り, 「FireBird」という新たな選択肢の存在が浮かびました.

そのコピーには「Python/Zope との接続が簡単」とあります. 普段 Zope を使っている私は, RDBMS の側から Zope のことについて触れられている書籍を欲していましたが, PostgreSQL や MySQL の書籍にはそういうものはありませんでした. これはぜひ FireBird, インストールするしか! と, レビューを申し込んだ次第です.

このような個人的背景がありますので, 本レビューは「本書を参考に実際に FireBird をインストールし, Zope と接続してみる」という操作を行い, その中で本書を参照していく上でのインプレッションとさせていただきたいと思います.

2. インストール

今回私が使用した環境は, 以下のようになっています.

ファイアウォールと Zope は既に動いており, そこに FireBird Server と IBConsole を加えるという手順になります.

さて, 本書では Linux 上でのインストールは rpm 形式と tar.gz 形式が紹介されていましたが, Debian ユーザである私はさっそく apt-cache search firebird. やはりあります. apt-get で簡単にインストールがすみました.

問題になったのは IBConsole でした. 本書付属の CD-ROM から IBConsole をインストールしましたが, 実行すると以下のようなエラーが表示されます.

"InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality."

つまり gds32.dll という dll ファイルが必要だということです. このファイルについては本書に記述がなく, Web 上で調べた末, IBClient をインストールする必要があることがわかりました.

また, ファイアウォールの存在も問題になりました. 上記のようにファイアウォールを挟んだリモート構成となっているので, IBConsole と FireBird Server との間でどんな通信が行われるかわからないと, ファイアウォールの設定ができないのです.

本書においては IBConsole と FireBird Server が同一機にあるスタンドアロン構成しか触れられておらず, 上記のようなよく見かけるであろう構成について必要な情報が一切ないというのは不満が残るところです. 結局これも Web 上で調べ, TCP 3050 を許可すればよいことがわかりました.

さて無事に IBConsole と接続できたところで, Zope との接続です. ところが, 付属の CD-ROM にはアダプタである kInterbasdbDA が Win 版しかありません. やむなくアダプタの作者のサイトから tar.gz をダウンロードして Zope プロダクト用ディレクトリに展開しましたが, Zope 再起動時にプロダクトのインストールに失敗しました.

冷静に考えれば, 当然 Python のアダプタである kinterbasdb を先にインストールする必要があるのですが, 本書にはそのように書いてありませんでした. 本書の手順を頭から順に試せば引っかからないのですが, 辞書的な使用法に耐えられる工夫もほしかったと感じます.

3. 各種雑感

4. 総括

本書は, 私が行ったような「逸脱」には弱いですが, 敢えて一本道にすることで, 確実に使える実践書を目指したようにも受け取れます. ぜひ版を重ねてさらなる良書となり, FireBird の普及に貢献されることを期待したいと思います.


[ ホーム | マップ | ニュース | 検索 | ドキュメント | リンク | プロジェクト ]
このサイトに関するご意見・ご要望は Webmasters までお願い致します.