規約

PDF版はこちらです

Firebird日本ユーザー会規約

第1章総則

(名称)
第1条 本会は、Firebird日本ユーザー会という。
(事務所)
第2条 本会は、事務所を東京都世田谷区駒沢二丁目11番5号に置く。
(目的)
第3条 本会は、国内における情報技術産業に関わる人々のみならず広く一般市民に対して、オープンソースのリレーショナルデータベース・Firebirdの普及と発展に関する事業を行い、低コストで高機能なリレーショナルデータベースを提供することを持って情報化社会の発展に寄与することを目的とする。
(活動の種類)
第4条 本会は、前条の目的を達成するため、次の種類の活動を行う。
(1)Firebird及びミドルウェア、関連ツールなどの研究開発及び普及促進
(2)Fireibrdに関する情報の公開、海外情報の紹介
(3)会員相互および外部との技術的・人間的交流
(事業の種類)
第5条 本会は、第3条の目的を達成するため、次の事業を行う。
(1)Firebird関連技術に関する調査研究、情報収集、配布。
(2)Firebirdの研究会、講習会、インターネットホームページの開設。
(3)その他本会の目的を達成するために必要な事業。

 

第2章会員

(種別)
第6条 本会の会員は、次の2種とする。
(1)正会員本会の目的に賛同して入会した個人及び団体
(2)準会員本会の事業を賛助する為入会した個人又は団体
(入会)
第7条 会員の入会について、特に条件は定めない。
2 会員として入会しようとするものは、理事長が別に定める入会申込書により、理事長に申し込むものとする。
3 理事長は、前項の申し込みがあったとき、正当な理由がない限り、入会を認めなければならない。
4 理事長は、第2項のものの入会を認めないときは、速やかに、理由を付した書面をもって本人にその旨を通知しなければならない。
(入会金及び会費)
第8条 会員は、総会において別に定める入会金及び会費を納入しなければならない。
2 大学及び短期大学、大学校、専修学校、各種学校、高校、中学等の学生については会費を免除することが出来る。この場合、免除を受けようとするものは理事長が別に定める会費免除申請書により、理事長に申し込むものとする。
3 学生の範囲の詳細については、理事会にて定めることとする。
(会員の資格の喪失)
第9条 会員が次の各号の一に該当する場合には、その資格を喪失する。
(1) 退会届の提出をしたとき。
(2) 本人が死亡し、若しくは失そう宣告を受け、又は会員である団体が消滅
したとき。
(3) 継続して1年以上会費を滞納したとき。
(4) 除名されたとき。
(退会)
第10条 会員は、理事長が別に定める退会届を理事長に提出して、任意に退会することができる。
(除名)
第11条 会員が次の各号の一に該当する場合には、総会の議決により、これを除名することができる。
(1) この規約に違反したとき。
(2) 本会の名誉を傷つけ、又は目的に反する行為をしたとき。
2 前項の規定により会員を除名しようとする場合は、議決の前に当該会員に
弁明の機会を与えなければならない。
(拠出金品の不返還)
第12条 既に納入した入会金、会費その他の拠出金品は、返還しない。

 

第3章役員

(種別及び定数)
第13条 本会に、次の役員を置く。
(1) 理事3人以上~10人以内
(2) 監事1人以上
2 理事のうち1人を理事長、1人を副理事長とする。
(選任等)
第14条 理事及び監事は、総会において選任する。
2 理事長及び副理事長は、理事の互選とする。
3 役員のうちには、それぞれの役員について、その配偶者若しくは三親等以内の親族が1人を超えて含まれ、又は当該役員並びにその配偶者及び三親等以内の親族が役員の総数の3分の1を超えて含まれることになってはならない。
4 特定非営利活動促進法第20条各号のいずれかに該当する者は、本会の役員になることができない。
5 監事は、理事又は本会の職員を兼ねてはならない。
(職務)
第15条 理事長は、本会を代表し、その業務を総理する。
2 副理事長は、理事長を補佐し、理事長に事故があるとき又は理事長が欠けたときは、理事長があらかじめ指名した順序によって、その職務を代行する。
3 理事は、理事会を構成し、この規約の定め及び総会または理事会の議決に基づき、本会の業務を執行する。
4 監事は、次に掲げる職務を行う。
(1) 理事の業務執行の状況を監査すること。
(2) 本会の財産の状況を監査すること。
(3) 前2号の規定による監査の結果、本会の業務又は財産に関し不正の行為又は法令若しくは規約に違反する重大な事実があることを発見した場合には、これを総会又は所轄庁に報告すること。
(4) 前号の報告をするために必要がある場合には、総会を招集すること。
(5) 理事の業務執行の状況又は本会の財産の状況について、理事に意見を述べること。
(任期等)
第16条 役員の任期は、2年とする。ただし、再任を妨げない。
2 補欠のため、又は増員により就任した役員の任期は、それぞれの前任者又は現任者の任期の残存期間とする。
3 役員は、辞任又は任期満了後においても、後任者が就任するまでは、その職務を行わなければならない。
(欠員補充)
第17条 理事又は監事のうち、その定数の3分の1を超える者が欠けたときは、遅滞なくこれを補充しなければならない。
(解任)
第18条 役員が次の各号の一に該当する場合には、総会の議決により、これを解任することができる。
(1) 心身の故障のため、職務の遂行に堪えないと認められるとき。
(2) 職務上の義務違反その他役員としてふさわしくない行為があったとき。
2 前項の規定により役員を解任しようとする場合は、議決の前に当該役員に弁明の機会を与えなければならない。
(報酬等)
第19条 役員は、その総数の3分の1以下の範囲内で報酬を受けることができる。
2 役員には、その職務を執行するために要した費用を弁償することができる。
3 前2項に関し必要な事項は、総会の議決を経て、理事長が別に定める。

 

第4章会議


(種別)
第20条 本会の会議は、総会及び理事会の2種とする。
2 総会は、通常総会及び臨時総会とする。
(総会の構成)
第21条 総会は、正会員をもって構成する。
(総会の権能)
第22条 総会は、以下の事項について議決する。
(1) 規約の変更
(2) 解散及び合併
(3) 事業計画及び収支予算並びにその変更
(4) 事業報告及び収支決算
(5) 役員の選任又は解任、職務及び報酬
(6) 入会金及び会費の額
(7) 借入金(その事業年度内の収入をもって償還する短期借入金を除く。第49条において同じ)その他新たな義務の負担及び権利の放棄。
(8) 事務局の組織及び運営
(9) その他運営に関する重要事項
(総会の開催)
第23条 通常総会は、毎年1回開催する。
2 臨時総会は、次に掲げる場合に開催する。
(1) 理事会が必要と認め、招集の請求をしたとき。
(2) 正会員総数の5分の1以上から会議の目的を記載した書面により招集の請求があったとき。
(3) 監事が第15条第4項第4号の規定に基づいて招集するとき。
(総会の招集)
第24条 総会は、前条第2項第3号の場合を除いて、理事長が招集する。
2 理事長は、前条第2項第1号及び第2号の規定による請求があったときは、その日から30日以内に臨時総会を招集しなければならない。
3 総会を招集する場合には、会議の日時、場所、目的及び審議事項を記載した書面により、開催の日の少なくとも5日前までに通知しなければならない。
(総会の議長)
第25条 総会の議長は、その総会に出席した正会員の中から選出する。
(総会の定足数)
第26条 総会は、正会員総数の2分の1以上の出席がなければ開会することはできない。
(総会の議決)
第27条 総会における議決事項は、第2 4条第3項の規定によってあらかじめ通知した事項とする。
2 総会の議事は、この規約に規定するもののほか、出席した正会員の過半数をもって決し、可否同数のときは、議長の決するところによる。
(総会での表決権等)
第28条 各正会員の表決権は平等なものとする。
2 やむを得ない理由により総会に出席できない正会員は、あらかじめ通知された事項について、書面をもって表決し、又は他の正会員を代理人として表決を委任することができる。
3 前項の規定により表決した正会員は、前2条及び次条第1項の規定の適用については出席したものとみなす。
4 総会の議決について、特別の利害関係を有する正会員は、その議事の議決に加わることができない。
(総会の議事録)
第29条 総会の議事については、次の事項を記載した議事録を作成しなければならない。
(1) 日時及び場所
(2) 正会員総数及び出席者数(書面表決者又は表決委任者がある場合にあっては、その数を付記すること) 。
(3) 審議事項
(4) 議事の経過の概要及び議決の結果
(5) 議事録署名人の選任に関する事項
2 議事録には、議長及び総会において選任された議事録署名人2名が、記名押印又は署名しなければならない。
(理事会の構成)
第30条 理事会は、理事をもって構成する。
(理事会の権能)
第31条 理事会は、この規約に別に定める事項のほか、次の事項を議決する。
(1) 総会に付議すべき事項
(2) 総会の議決した事項の執行に関する事項
(3) その他総会の議決を要しない業務の執行に関する事項
(理事会の開催)
第32条 理事会は、次に掲げる場合に開催する。
(1) 理事長が必要と認めたとき。
(2) 理事総数の3分の2以上から理事会の目的である事項を記載した書面により招集の請求があったとき。
(理事会の招集)
第33条 理事会は、理事長が招集する。
2 理事長は、前条第2号の場合にはその日から14日以内に理事会を招集しなければならない。
3 理事会を招集するときは、会議の日時、場所、目的及び審議事項を記載した書面により、開催の日の少なくとも7日前までに通知しなければならない。
(理事会の議長)
第34条 理事会の議長は、理事長がこれにあたる。
(理事会の議決)
第35条 理事会における議決事項は、第33条第3項の規定によってあらかじめ通知した事項とする。
2 理事会の議事は、理事総数の過半数をもって決し、可否同数のときは、議長の決するところによる。
(理事会の表決権等)
第36条 各理事の表決権は、平等なるものとする。
2 やむを得ない理由のため理事会に出席できない理事は、あらかじめ通知された事項について書面をもって表決することができる。
3 前項の規定により表決した理事は、前条及び次条第1項の適用については、理事会に出席したものとみなす。
4 理事会の議決について、特別の利害関係を有する理事は、その議事の議決に加わることができない。
(理事会の議事録)
第37条 理事会の議事については、次の事項を記載した議事録を作成しなければならない。
(1) 日時及び場所
(2) 理事総数、出席者数及び出席者氏名(書面表決者にあっては、その旨を付記すること) 。
(3) 審議事項
(4) 議事の経過の概要及び議決の結果
(5) 議事録署名人の選任に関する事項
2 議事録には、議長及びその会議において選任された議事録署名人2人が記名押印又は署名しなければならない。

 

第5章資産

(構成)
第38条 本会の資産は、次の各号に掲げるものをもって構成する。
(1) 設立当初の財産目録に記載された資産
(2) 入会金及び会費
(3) 寄付金品
(4) 財産から生じる収入
(5) 事業に伴う収入
(6) その他の収入
第39条削除
(管理)
第40条 本会の資産は、理事長が管理し、その方法は、総会の議決を経て、理事長が別に定める。

 

第6章会計

(会計の原則)
第41条 本会の会計は、特定非営利活動促進法第27条各号に掲げる原則に従って行わなければならない。
第42条 削除
(事業年度)
第43条 本会の事業年度は、毎年4月1日に始まり、翌年3月31日に終わる。
(事業計画及び予算)
第44条 本会の事業計画及びこれに伴う収支予算は、毎事業年度ごとに理事長が作成し、総会の議決を経なければならない。
(暫定予算)
第45条 前条の規定にかかわらず、やむを得ない理由により予算が成立しないときは、理事長は、理事会の議決を経て、予算成立の日まで前事業年度の予算に準じ収入支出することができる。
2 前項の収入支出は、新たに成立した予算の収入支出とみなす。
(予備費)
第46条 予算超過又は予算外の支出に充てるため、予算中に予備費を設けることができる。
2 予備費を使用するときは、理事会の議決を経なければならない。
(予算の追加及び更正)
第47条 予算成立後にやむを得ない事由が生じたときは、総会の議決を経て、既定予算の追加又は更正をすることができる。
(事業報告及び決算)
第48条 本会の事業報告書、財産目録、貸借対照表及び収支計算書等決算に関する書類は、毎事業年度終了後、速やかに、理事長が作成し、監事の監査を受け、総会の議決を経なければならない。
2 決算上剰余金を生じたときは、次事業年度に繰り越すものとする。
(臨機の措置)
第49条 予算をもって定めるもののほか、借入金の借入れその他新たな義務の負担をし、又は権利の放棄をしようとするときは、総会の議決を経なければならない。
第7章規約の変更、解散及び合併
(規約の変更)
第50条 本会が規約を変更しようとするときは、総会に出席した正会員の4分の3以上の多数による議決を経なければならない。
(解散)
第51条 本会は、次に掲げる事由により解散する。
(1) 総会の決議
(2) 正会員の欠亡
(3) 合併
2 前項第1号の事由により本会が解散するときは、正会員総数の4分の3以
上の承諾を得なければならない。
(残余財産の帰属)
第52条 本会が解散(合併による解散を除く)したときに残存する財産は、特定非営利活動促進法第11条第3項に掲げる者のうち、同種の活動を行っている特定非営利活動法人又は公益法人に譲渡するものとする。
(合併)
第53条 本会が合併しようとするときは、総会において正会員総数の4分の3以上の
議決を経なければならない。

 

第8章公告の方法

(公告の方法)
第54条 本会の公告は、本会の掲示場に掲示する。

 

第9章事務局

(事務局の設置)
第55条 本会に、本会の事務を処理するため、事務局を設置する。
2 事務局には、事務局長及び必要な職員を置く。
(職員の任免)
第56条 事務局長及び職員の任免は、理事長が行う。
(組織及び運営)
第57条 事務局の組織及び運営に関し必要な事項は、総会の議決を経て、理事長が別に定める。

 

第10章雑則

(細則)
第58条この規約の施行について必要な細則は、理事会の議決を経て、理事長がこれを定める。

附則
1 この規約は、本会の成立の日から施行する。
2 本会の設立当初の役員は、別表のとおりとする。
3 本会の設立当初の役員の任期は、第16条第1項の規定にかかわらず、本会の成立の日から平成17年3月31日までとする。
4 本会の設立当初の事業年度は、第43条の規定にかかわらず、本会の成立の日から平成17年3月31日までとする。
5 本会の設立当初の事業計画及び収支予算は、第44条の規定にかかわらず、設立総会の定めるところによる。
6 本会の設立当初の入会金及び会費は、第8条の規定にかかわらず、次に掲げる額とする。
(1) 正会員個人年会費一口3,000円
団体年会費一口30,000円
(2) 準会員個人年会費一口無料

別表

設立当初の役員

役職名

氏名

理事長

加藤大受

副理事長

山田健一

理事

武田浩一

同

えんどうやすゆき

同

宮副英治

同

三浦しゅう

同

林務

監事

近藤貞夫


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=75

What’s new in Firebird v1.5

 

Back to Firebird Project HOME
この文書はFirebirdの1.0リリースに対してバージョン1.5で行われた最も重要な変更について示したものです。Firebird 1.0について詳しい方が対象となります。変更点と強化点の全てを記すと膨大なため、ここでは強調すべき点にとどめます。全ての変更点については、 Firebird 1.5のリリースノートをご覧下さい。(6言語のPDF File があります)

新しいコードベース

今回のリリースでは、オリジナルのCからC++への移植されたコードによってビルドされています、その作業は2000年に始められていました。広範囲にわたるコードのクリーンアップとバグ・フィックスが続けられてきました、並行して新規のメモリ管理と言語(訳注:SQL、API等)の拡張が行われました。

オプティマイザの強化

v.1.5の開発プロセスの間に、SQLクエリー・オプティマイザは検査され、いくつかの強化と修正が行われました。その結果、クエリーのスピードは30%から60%も向上しました。
 

新アーキテクチャー
New Architectures

Windowsプラットフォームに新しく2つの特筆すべき機能として、クラシックサーバとエンベディットサーバが追加されました。ここ8年間にわたって、Windowsではクラシックサーバが存在しませんでした。クラシックサーバによってマルチプロセッサを有効に活用できるので、Windows版スーパーサーバの制限を逃れることが出来ます。使い勝手の面では、Windows版クラシックサーバは実験的でしかありません。エンベディッド・サーバはDLLとして提供され、シングルクライアントとしてFirebirdスーパーサーバに接続する機能を包含しているので、スタンドアロンアプリケーションやブリーフケースアプリケーションを効果的に短期間に開発することが可能となります。
 

新しい言語フィーチャー

 SQL92準拠の、CASE、COALESCEそしてNULLIFを含むいくつかの重要な新しい言語フィーチュアが加わりました。これらやその他の新しい言語実装の構文に関しては、リリース・ノートの中の言語拡張の部分を参考にしてください。  

包括的トリガー

 今では1つのトリガによって、Before又はAfterトリガで、そのトリガ内で必要とするすべてのDMLアクションをカバーさせるために、条件付きのインサート/更新/削除アクションを書くことができます。 (訳注:for insert or updateのようなマルチトリガのことです)
 これは、1フェーズで複数のトリガを行うアビリティを損なわずに、トリガの作成や保守をいっそう容易にします。

 

データベース・エリアス

 新しいaliases.confファイルでは、データベース用のサーバー・サイド・エイリアスを指定することができます。したがって、クライアント側でデータベースの完全なパスを用意する必要はありません。
 クライアント・アプリケーションから新しい Server[/Port]:Alias構文 で接続することができます。 

 

Varcharのトリミング

Varchar型のデータは、実データ長+2byteの長さでright trimされて返されます。注意:クライアントがサーバにリクエストをする際にTrimが行われます、Firebird 1.5のクライアント(fbclient.dll 又は libfbclient.so)はTrimを行います、この場合接続先のサーバが1.5以前のバージョンであってもTrimは行われます。以前のバージョンのクライアントを利用する場合には、たとえ接続先が1.5以降のサーバであったとしても、Trimは行われません。
 

インデックス数の拡張

リリース1.0と1.5の両方で、テーブル毎に定義可能なインデックス数の最大値は64から256に拡張されています。

 

Execute Statement

このPSQLの拡張によって、適切な dynamic SQLを記述した文字列を実行することによって、あたかも登録済のDSQLであるかのように実行されます。トリガーとストアドプロシージャの中で利用可能です。(訳注:テーブル名等を動的に変更するトリガーやストアドプロシージャが、この機能によって可能になりました)

 

新しいコンテクスト変数

CURRENT_CONNECTIONとCURRENT_TRANSACTIONが追加されました:これらはInterger型の値を持ちます。システムによって決定され、アクティブな接続と現在のトランザクションに関する値を一つずつ返します。DSQLとPSQLで使用可能です。
 

名前付制約の強化

名前付参照整合性制約のインデックスは、今ではユーザー定義識別子で指定されるかもしれません。

警告:

このフィーチュアを利用する場合、データベースは(Firebird)v.1.0.xまたはInterBaseにダウングレード出来ないでしょう。

トランザクション・セーブ・ポイント

 SQL99準拠の新しいユーザー・セーブ・ポイント(別名:ネストしたトランザクション)は、トランザクションをロールバックすることなく、ビジネスロジックエラーを扱う便利な方法を提供します。 DSQLにおいてだけ有効です。

 

新しい設定ファイル

 いくつかのファイル名がこのリリースで変更されました。
新しい名称は、殆どの場合「FireBird」または「fb」のバリエーションを含みます。例えば、以前のgds32.dllは今はfbclient.dllと呼ばれます。
 それらの1つが現在firebird.confという名称で提供される拡張設定ファイルです。
 ファイアバード1.5は高められたセキュリティ設定と、いくつかの有効なチューニングオプションを、このファイルでの設定によって提供します。 

当時の外部画像の一部は取得できないため、表示していません。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=73

Interview with Jim Starkey on InterBase World

Interview with Jim Starkey
2003 / 2 / 9
2004 / 3 / 1 翻訳版 DelphiマガジンVol.33 掲載
Written by Marina Novikova
on InterBase World (URL http://www.interbase-world.com/)
翻訳:林 務(株式会社アペックス)

 本インタビューは、InterBase World のWebサイトでMarina Novikova氏によって公開されたものを、Marina氏とJim氏の許可によって翻訳したものです。
 Jim Starkey氏は言わずとしれたInterBaseの産みの親として、Firebird / Yaffilのプロジェクトメンバーに大きな影響を与えています。このインタビューの中ではオープンソースに興味がないとか、Firebirdには余り関わるつもりがないと言われていますが、2003年12月からはFirebirdの64bitCPU対応のためのVulcanプロジェクトに参加してます。DmitryやNickolay等の若手エンジニアとのコラボレーションに期待が高まります。
 Marina Novikova氏はロシアの企業で英文翻訳とテクニカル・ライターをするかたわら、InterBase Worldの管理者をなさっています。Marina氏はInterBase Worldで、毎週のようにインタビューやレビューを更新されているのですが、このインタビューは、技術的なことやビジネスに関することだけでなく、各ゲストの人となりがよく現れていて、私はいつも楽しみにしています。


Marina Novikova:  学歴をお聞きしてもよろしいですか? また、これまで働いた中でどこが一番気に入っていましたか?

Jim Starkey: 私がコンピュータに関わり合うようになったのはちょうど高校生になった頃のことでした。地方の大学は政府から補助金をもらって、高校の生徒達にFORTRANを教えていたのです。一番最初にパンチカード(ググッてみてね)を打ったときは、曲がってしまったことを覚えています。最初に触れたコンピュータはIBMの7040だったのですが、とても大きな部屋を専有するくらいばかでかくて、そのくせメモリは全部で32Kバイトしかなかったのです。翌年私は15歳になったのですが、その時に最初のコンピュータ言語をデザインしました。その言語は機械語とアセンブラをまねしたものでした。それ以来ずっとコンピュータと関わり続けています。 私の学位は、実は純粋数学に関するものなんです。私の公式のコンピュータ・サイエンスに関するバックグラウンドは、たった一つの特別プロジェクトコース に関するものだけです。 私の最初の「本当」のコンピュータに関する仕事は、 インターネットの先駆けであるARPAnet のためのデータベースマシンを作り上げるためのプロジェクトに関する調査でした。それは、アメリカ・コンピュータ社( 7人の有名人による会社 ) で行われました。そこにいた間、Codd博士のリレーショナル・データベースに関する初期の論文に出会ったのです。リレーショナル・データベース理論は、ばかげたほどアカデミックな言葉によって論じられていましたが、いったんその姿を現すと、じつに純粋で、単純で、エレガントだということがよくわかりました。そんなわけで、コンピュータが最初に私にとりついて、2番目はリレーショナルデータベースだったというわけなんです。  私の第 二 の「本当」の仕事はDECでのものでした。DECはとても働きやすいところでした。それは、もうほとんど無政府状態といったほうがいいでしょうね。私は、 Datatrieve と呼ばれる非常に成功した製品を作り上げました。実はこれ、マネージャがばかげた政治的な策略のためにキャンセルしたんですが、それは何の意味も無かったんです。そこで私は次のような月次報告書を書き始めました「Problems:プロジェクトはキャンセルされた。これが元に戻せないのであれば、開発スケジュールに影響を及ぼすであろう」。やはり、それも何の役にも立ちませんでした。第 2 のバージョンは、予定どおりに出荷されました ( まだキャンセルされたままでしたが ) 。こんなにマネジメントが最善の努力をしているにもかかわらず成功する会社は賞賛に値しますよね。しかし、ゴードン・ベルが DEC を離れたので、私も辞める時がきたのを悟りました。

Marina Novikova: あなたは、非常に興味深いプロジェクト Netfrastructure にかかわってますね。こういえば当たっているのかわからないのですが、Netfrastructureは、 SMP に最適化された SQL ‐サーバで、Java サポートをビルド・インしたものなのでしょうか?

Jim Starkey: Netfrastructure の背景にある本質的アイデアは、コンテンツ、プレゼンテーション、それからロジックを分離することです。コンテンツは「コンテンツ・ストア」に存在しているのですが、それはJDBC に準拠したマルチユーザでSQL‐ベース、トランザクション‐ベースの「コンテンツ・ストア」なのです。我々はそれをデータベースとは呼んではいません、というのも私はデータベース・マーケットが大嫌いだからなのです。そういうわけで、それは「コンテンツ・ストア」なのです。コンテンツ・ストア、OK?プレゼンテーションは本当に気の利いたページ生成エンジンとJava仮想マシンに統合されたロジックによってハンドリングされています。全てのコンポーネントは共通のロール・ベースのセキュリティ・スキーマを共有しています。 データベース(えーと、コンテンツ・ストアね)のアーキテクチャーはInterbase/Firebirdとは根本的に異なるものです、それはコンピューティング・プラットフォームの根本的な変化を反映しているからです。私が最初のバージョンのInterbaseを設計してアポロ DN320に実装したとき、それは十分に速かったし、随分お金もかかったし、2メガバイトを使い切ったものでした。今では、地方の商店街で売っているような最も安価なマシンでさえ128MBのメモリを積んで、何百ドルかでギガバイトまで拡張することもできます。賢明な人でしたら、ギガバイトのメモリを2MBで利用するのと同じ使い方はしないでしょう。エンジンはシングルプロセスで、マルチ・スレッドに対応して、SMPに連動します。 Netfrastructureの別の側面で興味深いのは、アプリケーションのトポロジーが逆転するということです。アプリケーションはデータベース・エンジンの内部で実行されます。そう、あたかも巨大なストアド・プロシージャのようにね。JDBCメソッドの実行は半ダースの機械語なんだけど、実際にはスレッドスイッチ、コンテクスト・スイッチ、プロトコル・スタックを下っていって、プロトコル・スタックを上っていって、データベース・エンジンに対してサーバ・レイヤーから呼ばれ、検証されて、それから恐らく各ステップで引数が変換されて、そしてまた元に戻されているわけです。そんなわけで、我々は、 2、 3 ダースのナノセコンドと大体 10 ミリセカンドの間の差異について論じているんです。それは10の何乗にもになってしまう。どんなデータの移動に対してもこれは起きてしまう。それから、もちろんだけど、この仕事は徹底したセキュリティ環境の元で行われています。つまり、アプリケーション言語はサンドボックス の中で見事に動いて見せなくてはならないわけです、Javaである以上ね。そういうことで、自分でJava仮想マシンを書き上げてしまったのです。

Marina Novikova: みんなが言っていることですが、Netfrastructureを一から作り上げることで、あなたが元々 Interbase/Firebird で使われていて、もっとも理解しているマルチ・ジェネレーション・アーキテクチャのアイデアを実装するのを助けたのでしょうか。言い換えれば、あなたは、次世代の Firebird 開発者に対して、どうやって小さくて速いサーバーを作り上げればいいのかについて、わかりやすくデモンストレーションを行ったのでしょうか。私の言っていることは当たっているかしら?

Jim Starkey: 私は、マルチ・ジェネレーション・アーキテクチャのアイデアを実装するのを助けたわけではありません、確かに私はそれを発明しました。しかし、それは私が DECにいた時のことです。そうまだ私がInterbase を始める前のことです。DEC は、私と一緒にやろうとはしなかったので、結局自分自身でそれを作り上げました。 NetfrastructureとInterbase/Firebird の間の大きな違いは、 Netfrastructure がディスク上ではなくメモリ上でのマルチ・ジェネレーション であることなのですが、Interbase/Firebird はディスク上でジェネレーションを保持しています。この変更には 2 つの主な理由があります。一番目は、メモリが安くなって豊富に使えるようになったということ。二番目は、 Interbase は共有メモリを使わないクラスタ向けに設計されていたので、ディスクを使うしかなかったのです。そんなわけで、素晴らしいことに Netfrastructure は Firebird より最低でも 10 倍速くなったのですが、実は本当に重要なものは私がスイープについて説明する必要がなくなったことなのです。

Marina Novikova: そうすると、あなたの意見によれば、Interbase/Firebird のマルチ・ジェネレーション・アーキテクチャはサーバの開発上の妨げとなるのでしょうか?非常に多くの更新があった場合、ガーベッジ・コレクションは更に遅く予測できない状態になるということでしょうか。

Jim Starkey: とんでもない。あなたが InterBase/Firebird のディスク書込みの簡潔さをを伝統的なトランザクションログと比較するなら、マルチ・ジェネレーション は、簡単に勝つでしょう、それはディスクのオーバーヘッドがより少ないという統計で現れるでしょう。ブロックヘッドだけがボトル・ネックを作り出すでしょうが、 Interbase/Firebird は競合しているシステムと比べてより少ないブロックヘッドしか発生させません。

Marina Novikova: あなたは、 Java がデータベース・ウェブ・アプリケーション開発者にとって最も良い選択であると思いますか?

Jim Starkey: 絶対的で正統的なアーキテクチャがあるので、Java はすばらしい言語です、小さくてシンプル、そして堅固です。しかし、それが何にでも向いているかと言えばそうではありません。Javaは、アプリケーションの意味を表すためには非常に良いプログラミング言語です – 小さくて、シンプルで、優雅で、堅固。サンドボックス実行モデルは、アプリケーションコードが通常ふさわしくないとされる場所での実行を許します、データベース ( えーと、コンテンツ・ストアね ) システムの内部でのようなところでね。一方、 Java における文字列の扱いに関するパフォーマンスは悲惨なほどです、それからスレッド同期化のプリミティブな部分、2つ の状態を持つMUTEX も、哀れなほど遅いのです。Netfrastructure では、アプリケーション・ロジックのために Java を使用していますが、コンテンツ・マネジメントとページ生成に関してはC++を残しています、そのことは実装が物語っているんですが。

Marina Novikova: どうして、Interbase/Firebird のインデックスはユニ・ディレクショナルなのでしょう?またどうして、Interbase/Firebird のインデックスはバランスド・ツリーではなくて、シンプル・ツリーなのでしょうか ( 我々が利用可能なソースがある、現在のバージョンでも確認することができるのですが )? それは、 Interbase/Firebird アーキテクチャの制限によるものなのですか ?

Jim Starkey: それは全て1 つの個人的な見解に還元されます : 私は、チューニングが嫌いなんです。コンピュータやソフトウェアは、スマートであるべきだと思っています ( 最適化なんてことについて考えなくてもすむようにね ) 。 この問題は、クラスタ化インデックスと非クラスタ化インデックスの対立なのです。伝統的なデータベース・インプリメントは、インデックスページとデータベースページの間でインデックスが飛び跳ねて歩き回らなくてはなりません。開発者はそのことを非常に迅速に学んだのですが、このことはディスク・アクセスにとって大変悲観的な結果をもたらします。そのため、彼らはレコードの物理的オーダがインデックスオーダと一致するように、クラスタリングを発明したのです。しかしこのことはスペース管理の問題と、ページ・オーバーフロー、 書き戻しのストラテジー、最適化の問題、それから全般的な混乱状態へ陥らせました。データベースのユーザは、物理構造、論理構造、アクセスパス・ストラテジー、それからインデックス設計を計画しなければならなくなってしまいました。そして、それらが必然的に引き起こす悪い結果に対して、データベース開発者はユーザの設計が悪いと非難したわけです。 そんなわけで私は、代替インデックス技術を開発したんですが、 それはbtree を Datacomputerの 反転と結合したものです。全般的なアイデアは、非常にシンプルなものです。インデックスとデータページの間を渡り歩くよりむしろ、インデックスは最初にスキャンされて、スパース・ビット・ベクターにおいて選択されたレコードを示すビットをセットし、ビット・オーダーに従ってレコードを処理し、それはまたディスク上の物理的配置にしたがっているわけです。このことは、いくつかの大きな勝利の鍵を持っています。一番目は、全てのインデックスは、うまく取りまわされたクラスタ化インデックスのように動作します。二番目には、インデックスバケットは、 二相ロッキングに支配されません。三番目に、ブーリアン、つまり「AND」と「OR」に関する操作について、ビットマップを媒介として実質的にコストなしに実行可能となります、つまりオプティマイザーが代替インデックス間で選択をする必要性そのものを消去してしまうのです。 そんなわけで、それは全く問題とならないのです、つまり最低でもインデックスが昇順か降順かということについてはね。インデックスが最初にスキャンされ、それからレコードがその次にフェッチされます。あなたがレコードを並び替えたいと思うなら、物理的順番でレコードをフェッチしてそれを並び替えるこの方法は、ランダムアクセスと共にディスクアームを鳴らしてフェッチするよりも「いつでも」速いのです。そして更に多くのレコードが関連し、さらに多くのソートがあれば尚更です。 インデックスの中を渡り歩くことが意味をなす唯一の時間というのは、あなたが 何百万ものレコードの中で、最初のいくつかを問い合わせた時だけです。実際のところ、これはdBase エミュレーションをしていた間は、デフォルトで起こりうるケースでした。そんなわけで、我々は賢明にも、バイナリ・アクセス言語を付加し、こうしたケースを理解するオプティマイザを準備し、インデックスを渡り歩いているのです。 Interbase/Firebird は普通の btree ( 元々バランスがとれている ) です。私は、バケットを空にして再結合するためのコードを書きませんでした。なぜなら、データの統計が通常安定していて、従って、スペースは再使用されるであろうし、もっと他に私が行うべき多くの重要なことがあると思ったからなのです。いつかは、重要なことをやり尽くして、バケットの再結合に手をつけることになるだろうと、信じていますが。

Marina Novikova: Interbase/Firebird は、完全なリレーショナルDBMS ですよね? 結局のところ、Forced Writesオプションが有効でない時、各トランザクションはそれぞれのコミット後に必ずしもセーブされるとは限らないわけですが。ACID におけるD は、 Durability を意味しているので、トランザクションがコミットされるなら、それは小さなハードウェア・エラーの場合には失われないことが確実でなくてはなりません。Interbase/Firebird においてはForced Writes をしなければならないわけですが、しかし、これは、オペレーションのスピードを減少してしまいます。このことについて何かお話し頂けますか?

Jim Starkey: そうですね。Interbaseは、信頼性の高いディスクを持つ堅牢なオペレーティングシステム上で動くように設計されましたが、Unix では、これは、パフォーマンスと絶対的信頼性の間でのトレード・オフを意味しました。私は、トレード・オフが好きではないのですが、そこにはそれがあったわけです。シリアル・ライト・ログ は、トレード・オフをほとんど消去するでしょうが、クラシック・モデルにおいてはそれを実行することは不可能です。Netfrastructure は、シリアル・ライト・ログのためのアーキテクチャーになっています。しかし、バッテリバックアップを持つ Linux はこれまで決してクラッシュしたことがありませんので、私は自分のトロくさいインプリメントのおかげで、睡眠時間を削られずにすんでいます。

Marina Novikova: Interbase 6 のソースコードが公開された後で、多くの興味深いものがあることが分かりました、不幸にも実現することがなかったものですが、例えば、式に対するインデックス、 双方向のカーソル、 XNETや、その他のものです。どうして、それらの開発者がそのアイデアを完成しなかった、と思いますか? これは、アーキテクチャの制限によるものですか、あるいは時間が足りなかったとか、または他の何かの不足のためだったのでしょうか? それから、あなたは、 オープンソースのDBMS についてどうお考えですか? Linux は今上昇傾向にありますが、オープンなデータベースは今後、DBMS マーケットのかなりの部分を占めると思いますか ?

Jim Starkey: オープンソースプロジェクトのアキレス腱は、意思決定の方法にあると思います。コンセンサスに最も依存しているのですが、革新に関するコンセンサスは、とてもとても難しい。そんなわけで、オープンソースプロジェクトは、標準化へ向かう傾向があると思っています。Linux は、良くも悪くも、Posix と Unix に基礎を置いている。OK 、それらは20 年間の間に陳腐化してきたものだが、ふーむ、たしかにうまく動いています。一方、 SQL はテーマではあっても標準化されていません。現実の標準は、あらゆる目的に対してほとんど役に立たないもので、インタオペラビリティに沿って作成されたものにすぎないのです。確かなことは、プロジェクトを組織化するために必要なものは何もないということなのです。 データベース ( とコンテンツ・ストアね ) システムが扱うべき重要で、興味深い問題は山積みです。例えば、ウェブの基礎は検索です。どのようなデータベースシステムが、オープン・コンテクスト検索をサポートしているでしょうか? 私が知る限り、一つだけです。どのようなデータベースが、ユーザープロファイルに基づくデータを自動的にフィルタリングするでしょうか? 私が知る限り、一つだけです、それはコンテンツ・ストアと呼ばれています。 Firebirdの連中は、セキュリティ・ホールをふさぎ、システムを安定させ、バグを修正し、問題点を取り除く良い仕事をしてきました。そのシステムは、うまくマイナーチェンジすることを必要としていて、いまではそれは一つの答えを持っています。しかし、私はそういったことによって、データベース・テクノロジーにおける世界的リーダーとしての Interbase の伝統的な役割が取り戻せるとは思いません。Interbase/Firebirdは異種接続性、 二相コミット、カスケーディング・トリガ、ユーザー定義関数、イベント・アラータ、BLOBフィルタ、配列サポート、 双方向のマルチベンダーゲートウェイ等を持つ最初のデータベースでした。しかしその後、私はオープンソースプロジェクトが革新を促しているのを全く見ていないのです。 私はこれが少し難しいことだということを知っていますが、私はオープンソースプロジェクトとしての Interbase を決して開発することはないでしょう 。私は政治家ではなく技術者です。私は、自分が急進的な新しいデータベースアーキテクチャに関してコンセンサスを作らなかったということを強く確信しています。私は革新を信じ、そして革新は、一貫したビジョンを必要としています。私はオープンソースの中でそうしたビジョンを見たことがありません。しかし、私はこれだけは知っています。Firebird がクラシックとスーパー‐サーバのコードベースを分離しない限り、どちらも、どこへ行くことも出来ないでしょう。それぞれが、他方の開発を抑制してしまっているからです。

Marina Novikova: あなたは、そうした多くの発明に満足していますか? Netfrastructure ではあなたの夢やアイデアを実現したわけですが、Interbaseと Firebird の開発をどのように評価していますか? あなたがFirebirdの発展を見ることは興味深いことで、喜ばしいと思っていらっしゃるのでしょうか?例えば、アーキテクチャの変更のような重要な改善、メインバグの修正、 DSQL の拡張、パフォーマンスの改善等々ですが。

Jim Starkey: 私は、一群の発明をしてきましたが、それら全てを愛しています。VAX Datatrieve は、 VAX を離れて存続し、オラクルの爪から逃れ、 DECを離れて存続し、コンパックを離れて存続し、そしてHPの製品としてまだ生き続けています。私はVAX Datatrieveを気に入っています。それから、私にはとんとわかりませんが、どういうわけか PDP-11 のDatatrieve は、同じくまだ利用可能です。私はそのこと自体にとても驚いています。開発者が Firebird の様々な部分の周辺に腕を伸ばすのを見ることは、興味深いことですが、私は、誰かがFirebirdと共に走り出すのを待ち続けています。おそらく、誰かがそうするでしょうね。私が Firebird に活発にかかわっていたなら、自分がしただろうと考えているのは以下のような事です :1. シャム双生児となっているクラシックとスーパーサーバを分割すること、それによってそれぞれが生きながらえることが出来る。2. SQL をふさわしいエンジンに移動する間、レガシー・インタフェースとして BLR を維持すること。DSQL を捨てること。3. 2 レベルのネーム・スペースを導入すること4. スーパーサーバに対する知的に防御できる、有効なセキュリティを実装すること5. トリガ、ストアド・プロシージャ及びUDF のために Java バーチャル Machine を埋め込むこと6. スーパー‐サーバのためにシリアル・ライト・ログを実装すること ;書込みに注意を払わなくてもいいように

Marina Novikova: あなたは、オリジナルの Interbase アーキテクチャにおけるいくつかのあなたのアイデアが次の開発者によって不正確に理解され、もしくは誤って実現されていると思いますか?

Jim Starkey: どちらもないですね。アイデアもアーキテクチャも、最初から十年間にわたって利用可能なプラットフォームに完璧に適合していました。私が別のデータベースシステムを作らなければならなかったのでしたら、アポロ DN320 のために、マルチ・レベルなネーム・スペースを持つネイティブなSQLを作ったでしょうね、でも、他のものほとんど同じになったでしょう。 私が現代のマシン上ですべてをやり直さなければならないのであれば、再びすべての点で Netfrastructure を書くことになるでしょうね。しかしその時は、システムテーブルをケース・インセンシティブにするでしょう。それから、インデックスキーに関するアンの言うことを聞かないといけないですね。

Marina Novikova: Interbase/Firebird/Yaffilのコミュニティ全体に対して、望んでいることがあればお聞かせ下さい。

Jim Starkey: 過去から学びなさい。将来のために設計しなさい。もはや1984 年ではないのです。それにふさわしい扱いをしましょう。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/site_rsrc/images/92/interview_jim_starkey.html

設立総会のご案内

Firebird日本ユーザー会

~ 設立総会のご案内 ~

 

  昨年5月にユーザー会設立のために準備会を立ち上げて、ようやく1年が経過しようとしております。この間、議論を重ねてまいりましたが、この度以下の通りFirebird日本ユーザー会の設立総会を行うことを決定いたしましたのでご報告致します。

日時:2004年4月3日(土) 午後2時~
場所:タイムインターメディア社会議室
地図:http://www.timedia.co.jp/company/map

※当日、総会後に懇親会を予定しております。(詳細未定)

 Firebird日本ユーザー会を設立する目的は、国内における情報技術産業に関わる人々のみならず広く一般市民に対して、オープンソースのリレーショナルデータベース・Firebirdの普及と発展に関する事業を行い、低コストで高機能なリレーショナルデータベースを提供することを以て情報化社会の発展に寄与することにあります。

 また、この目的を達成するために、以下の活動を行います。

  1. Firebird及びミドルウェア、関連ツールなどの研究開発及び普及促進
  2. Firebirdに関する情報の公開、海外情報の紹介
  3. 会員相互および外部との技術的・人間的交流

 さらに、上記の目的を達成するために、以下の事業を行います。

  1. Firebird関連技術に関する調査研究、情報収集、配布
  2. Firebirdの研究会、講習会、インターネットホームページの開設
  3. その他本会の目的を達成するために必要な事業を行います。

 ユーザー会への参加は、会費を頂く個人・法人の正会員と無料の準会員の二種類となります。会費は個人正会員が年間三千円、法人正会員が年間三万円とさせていただく予定です。

 上記の目的等につきましては、以下に規約案を掲載いたしますが、設立総会にて最終的に決定されるものですので、現時点での決定事項ではございません。

  Firebird日本ユーザー会スタートアップグループは、日本においてFirebirdのさらなる普及を目指すため、Firebirdに関心を持つ、個人・非営利組織・企業の皆様方のご参加とご協力を頂きたいと思います。

 ・Firebird日本ユーザー会 規約案 ( PDF版 )

 

2004年3月1日
Firebird日本ユーザー会
スタートアップグループ 代表 林 務

 


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=71

Firebirdの特徴 (Factsheet)

Firebirdプロジェクトのホームページはこちらです

 Firebird 1.5は、フル機能を備えたSQLデータベースエンジンです。軽量で、設定や管理に最小限の労力しか必要としないにもかかわらず、大変強力です。シングルユーザーによる単一のデータベース利用から全社規模のエンタープライズ向けシステムまで、容易に拡張可能です。1つのFirebirdサーバは、それぞれが複数のクライアント接続を持っているような、複数の独立したデータベースを扱うことができます。なによりもFirebirdは真のオープンソース製品であり、商業使用も含め一切のライセンス使用料は必要ありません。

Firebirdの特徴

  • A.C.I.D. :  FirebirdはRDBMSに必須とされるAtomicity(原子性)、Consistency(一貫性)、 Isolation(分離性) 、Durability(耐久性) を提供します。

  • MGA: Firebirdの独特の特徴である「マルチ・ジェネレーション・アーキテクチャー」によって、どのような場合でもデーターベース・エンジンは同じレコードの複数のバージョンを扱うことが出来るので、全てのトランザクションは他の並行するトランザクションの影響を受けずに自身のバージョンを持つことが出来ます。(読込は書き込みをブロックしませんし、書き込みは読込をブロックしません) FirebirdはMGAによって、OLAP(訳注:オンライン分析処理)と同程度にOLTP(訳注:オンライン・トランザクション処理)にも向いています。 

  • ストアドプロシージャ: FirebirdのPSQL(手続き型SQL)を使用すると、容易に強力なストアド・プロシジャーを作成することができます。ストアドプロシージャは完全にサーバーサイドでデータの処理を行います。特別なフレーバーとして、サーバー上で一行毎にデータ計算可能な、クライアントサイドから「仮想テーブル」のように見え、取り扱い可能な「セレクタブル・ストアド・プロシジャー」があります。(帳票作成時に特に役立ちます)
  • イベント: ストアド・プロシジャーとトリガは、「稼動中のデータベース」をTCP/IPポート上のクライアントからモニタ可能なイベントを生成できます。

  • ジェネレータ: ジェネレータ(別名:シーケンス)のコンセプトは、オート・インクリメントを簡単に実装できるようにすることで、それ以上のものではありません。ジェネレータは各トランザクションから独立した、持続性の値を持つのInt64型のカウンタです。もちろん、他の目的にも使用することが出来ます。

  • 読込専用データベース: 例えばデータベースエンジンのエンベッド版と共にCD-ROMでデータベースを配布するような場合には、このフィーチャーは配布を容易にする手助けとなります。
  • フル・トランザクション制御: 単一のクライアントアプリケーションは、複数の並行するトランザクションを利用することが出来ます。クライアントは各種の分離レベルをトランザクション毎に完全に制御することが出来ます。2相コミット・プロトコルによって、複数のデータベース間での一貫性を保証することが出来ます。また、複数のトランザクション・セーブ・ポイントや、楽観的ロックもサポートしています。

  • オンラインバックアップ: バックアップ時にデータベースをシャットダウンする必要はありません。バックアップのプロセスは、バックアップを開始した瞬間のデータベースの状態をスナップショットとするので、ユーザーはバックアップ中も作業を続行することが出来ます。そのため、24時間連続稼働が可能となっています。

  • トリガー: それぞれのテーブルは多くの行レベルのトリガーを持っています、それはINSERT・UPDATE・DELETEの前後に起動されます。トリガーの中では、PSQLの力を余すところなく使うことが出来るだけでなく、デフォルト値、データの一貫性、例外処理等々を利用することが出来ます。また、Firebird 1.5では新機能として「ユニバーサル・トリガー」が実装されました。この機能によって、一つのトリガーで、あるテーブルに対するInsert・Update・Delete一度に設定することが可能となりました。

  • 外部関数: ユーザー定義関数ライブラリ(UDF)はC、C++、Delphi等の言語によって書かれ、DLLやSO形式でエンジンに簡単にプラグインすることができます。UDFによって、Firebirdサーバーの「内部」関数を拡張することが可能です。

  • カスケード可能な参照整合性宣言: テーブル間の親子関係をn-level の深さで一貫性を保ち検証することができます。

  • 文字セット: FirebirdはUNICODEを含む多くの文字セットと多様なコレーションを実装します。

標準SQL規約への適合

FirebirdはSQL92のEntry Level 1 に完全に準拠しています。また、SQL-99規格のほとんどを実装しています。さらに、より実用的な機能を追加しています。
Firebirdは、DML/DDL文、FULL/LEFT/RIGHT[OUTER] JOIN 文法、UNION、DISTINCT句、サブクエリ(IN、EXSITS)、内部関数(AVG、SUM、MIN、MAX、COALESCE、CASE)、整合性制約(PRIMARY KEY、UNIQUE、FOREIGN KEY)、当然ですがSQLデータ型一般、等を利用出来ます

Firebird はドメイン、フィールドレベルのチェック制約、View、例外、SQLロール、きめ細かな権限管理についても実装しています。詳細については、リリースノートとFirebird Refrence Guide をご覧下さい。

ハードウェア要求

Fireibrd は殆どどのようなハードウェア上でも動作します。とても非力なハードウェアでも役に立ちます、特に、Linux上で力を発揮するでしょう。どのようなRDBMSも、パフォーマンスに影響を及ぼすお約束の問題があります。物理メモリ(スタートには16MB程度で間に合うでしょう)、ストレージ・サブシステムの速度(RAIDシステムのような)等々。もちろん、お勧めのハードウェア構成は読者がデータベースに望んでいることによって異なります。例えばどのくらいの大きさになりますか?どの程度の同時接続ユーザーが見込まれますか?あなたは最小限の設定でスタート出来ます。そして、必要があれば後でサーバーを強化すれば良いのです。

 

利用可能なOSプラットフォーム

 Firebirdにもっとも多く使用されるOSはLinuxとWindows(ターミナルサーバーとCitrixメインフレームを含みます)です。Firebirdは、他にMacOS XやSolaris、それにHP-UXのプラットフォームをサポートしています。
 苦痛を伴うことなく、あるプラットフォームから他のプラットフォームにデータベースを移転することが可能です。単にトランスポート可能な形式でバックアップをとり、移転先のプラットフォームで復元するだけです。

接続性

Firebirdは、以下を含む多くの接続方法をサポートします:
C/C++およびDelphiのためのネイティブなコンポーネントパッケージ、ODBC、JDBC(JayBird)、PHPドライバ、OLEDBドライバ、dbExpress、.NETデータプロバイダ。そして最終的にはfbclient.dll(.so)を使用することによってAPIの直接呼び出しを行うことが出来ます。

サイズ限界 

Firebirdは実際に巨大なデータベースを扱えます。データベースは複数のファイルによって構築することが出来、それぞれのファイルサイズはOSが提供するファイルサイズの限界まで拡張可能です。単一のデータベースファイルのサイズに関する理論的な限界は64テラバイトですが、殆どの場合はOSやファイルシステム、そしてHDDの残り容量により制限されます。

Server engine versions

データベース・エンジンには3種類のバージョンがあります。それぞれに互換性があり、それぞれに異なった特徴をもっています。

  • クラシック・サーバー(1クライアント接続毎に1プロセス型。SMP及びハイパー・スレッディング対応)
  • スーパー・サーバー(全接続は1モジュールでハンドリングされる。現状ではSMP及びハイパースレッディング非対応)
  • エンベデッド・サーバー(単一のDLL又はSOファイルにエンジンの全機能を内蔵。シングル・ユーザー、シングル・データベース使用向け)

    上記の全てのバージョンは同一のデータベース・ファイル形式を使用するので、いつでも好きな時に相互に切り替える事が可能です。

ライセンス 

Firebirdは、Mozilla Public License1.1と同じ条件の、IPL(InterBase Public License)でライセンスされます。Firebirdの使用は完全にフリーであり、顧客に対しても完全にフリーで配布することができます。
 あなたが自分のプロダクトをどのようにライセンスするかに関わらず、あなたのプロダクトのためのソース・コードを公開する必要はありません。けれども、データベースエンジンそのものを修正する場合には、修正したソース・コードに対して誰でもアクセス出来るようにしなければなりません。

ツール

多くのツールが Firebird で役に立ちます。いくつかはフリーで、いくつかは商用のものです。管理ツール、開発者向けのツール、UDFライブラリ、接続ツール、その他にもたくさんあります(下記のリンク・セクションを参照)。

サポートと資料

Firebirdプロジェクトのホーム(www.firebirdsql.org)では、プロジェクトに関するたくさんの有用なリンクが掲載されています。 

 IBPhoenix社では長年の経験を積んだ専門家による多様なサポート契約を提示し、かれらのウェブサイトにはハウトゥや高度に技術的なドキュメンテーションなどの、より多くの技術情報があります。

コミュニティ

常に成長を続けるFirebirdユーザーのコミュニティと、いくつものニュースグループが素早いオンラインサポートを行います。それらのファイアバードに関するメーリングリストはプロジェクトのウェブサイトに全てリストされています(このページの下部にリンクがあります)。

歴史

Firebirdは、2000年8月にボーランドがオープン・ソースとしてリリースしたInterBase 6.0のソース・コードに基づいており、InterBaseは今を遡ること20年前(1984年)からリレーショナル・データベース製品としての利用されてきた実績を持ちます。


Firebirdリンク

ダウンロード: Firebirdパッケージはこちらをクリックして見つけることが出来ます

ドキュメント: 詳細はこちらのリンクをご覧下さい

ライセンス: The complete IPL

ツールと管理プログラム: こちらのリンクをご覧下さい

コミュニティ: ニュースグループとメーリングリストはこちらに一覧があります


ファイアバード・プロジェクトの原動力のひとつがFirebirdSQL財団です。
プロジェクトを発展させ、継続することを支援するために、資金を集め、開発者に対して補助金を交付することによって、ファイアバードの開発を支援する個人やスポンサー企業の組織です。財団はプロジェクトの資金調達のためにスポンサー企業を歓迎するのと同じように、企業や個人の新メンバーを歓迎します。FirebirdSQL財団については以下のURLをご覧下さい。
http://www.firebirdsql.org/index.php?op=ffoundation⊂=jp&id=main_jp

(c) 2003 by The Firebird Project. All names of products and companies mentioned herein are trademarks of their respective owners.
Firebird プロジェクト・ホームへ戻る

当時の外部画像の一部は取得できないため、表示していません。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=70

動作検証資料

 Firebird動作検証資料

Win系

1.5.1

1.5.0

1.0.3

ミドルウェア

Win 2k Pro

 ○

○

○ 

・Delphi5Pro UP2 + IBX(Delphi5・6付属品)
・Jsva/jsp+JDBC

Win 2k SV

 

○

○

・Jsva/jsp+JDBC

Win XP Pro

 ○

○

 ○ 

・Delphi6Pro UP2 + IBX(Delphi6付属品)
・Jsva/jsp+JDBC
・Firebird .NET Provider1.5.2 for .NET Framework1.1 + VB.NET2003
・PHP4/ODBC

Win XP HOME

     ?   ?  

Win 98

    ○   ? ・Firebird .NET Provider1.5.2 for .NET  Framework1.1
・VB.NET2003

Win Me

     ?   ?  
RedHat系

1.5.1

1.5.0

1.0.3

ミドルウェア

Redhat7.x以前  

△
*1

○

Redhat8.0  

○

○ 

・D6/IBX
・PHP4
Redhat9.0  

○

○ 

・D6/IBX
・PHP4
FedoraCore1  

○

 ○

・D6/IBX
・PHP4
・PHP5
Redhat9.1

○

     
 
RedHat
Enterprise系

1.5.1

1.5.0

1.0.3

ミドルウェア

AS2.1  

△
*1

○

 
AS3.0  

○

   
ES2.1  

△
*1

○

 
ES3.0  

○

   
WS2.1  

△
*1

○

 
WS3.0  

○

   
SUSE

○

     
 

○

     
 
Knoppix系

1.5.1

1.5.0

1.0.3

ミドルウェア

中神仕様  

○

   
 
Debian 系

1.5.1

1.5.0

1.0.3

ミドルウェア

Debian GNU/Linux 3.0  ○

?

  ・PHP4/ODBC
Free-BSD系

1.5.1

1.5.0

1.0.3

ミドルウェア

         
HPUX系

1.5.1

1.5.0

1.0.3

ミドルウェア

         
Mac-OS
Darwin系

1.5.1

1.5.0

1.0.3

ミドルウェア

MacOS X 10.3.5 Panther  ○
(※2)
– – ・IBConsole
・IBOConsole
・PHP5 – ibase関数群
・ODBC
・C API
net-provider系

1.5.1

1.5.0

1.0.3

ミドルウェア

         
sinixz系

1.5.1

1.5.0

1.0.3

ミドルウェア

         
 
solaris-sparc系

1.5.1

1.5.0

1.0.3

ミドルウェア

         
solaris-x86系

1.5.1

1.5.0

1.0.3

ミドルウェア

         
   募 集
 当ページでは、動作実績情報を募集しております。「動作確認及び動作しませんでした」の情報があればFirebird日本ユーザー会のメーリングリストか当ページの管理者までメールしてください。
*1 GCCをgilbc 2.3.2-4以降の構成に入れ替えると、動作する所までは確認できています。
※RedHat7.3での構築方法についてはこちらのドキュメントが参考になります。
※2 但し、ClassicServer版のみ。ソースからビルドしてもSuperServerでは動作しない。動作しない状況はNPTL関連のものに酷似しているので、まさにそうだろう。PHPと一緒に使う方法などはこちらを参考に。
注)本資料はFirebirdユーザー会メーリングリストでの情報を基に作成した資料であり、動作保証するものではありません。
  また、各ミドルウェア固有の問題に関する検証資料ではありません。

旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=68

ダウンロード

Firebirdのインストールなどに必要なリソースのダウンロードのためのリンク集です。
最新の情報は出来る限りソースフォージのFirebirdプロジェクトで確認して下さい。

管理ツール & ドライバ

FlameRobin 0.8.3









FlameRobin 0.8.3日本語インストーラ(Windows32ビット版)
FlameRobin 公式ページ

Firebird .NET Data Provider

Version 2.1.0 for .NET 2.0

Version 2.5.0 Alpha 2 for .NET 3.5/2.0

JayBird
JDBC ドライバ

Jaybird 2.1.6 (Critical)

Patch release, 19 July 2008. Details HERE.


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=67

PHP4 RPM for Redhat Linux9

 

■Redhat Linux9 用 PHP4.2.2 RPM — InterBase / Firebird Support

 Redhat Linux9 付属のRPM(php-4.2.2-17.i386.rpm)では、interbase関数のサポートがされていないため、SPECファイルを編集してRPMを作成してみました。

 php-4.2.2-17.1.i386.rpm
 php-interbase-4.2.2-17.1.i386.rpm
 php-manual-4.2.2-17.1.i386.rpm

 インストール後に、/etc/php.iniを編集して、以下の行を追加して下さい。

; Dynamic Extensions ;
extension=interbase.so

 Apaceh2.0対応なので、–with-DEAPIオプションがいるのかいらないのか不明ですが、合わせて追加してあります。

 php.17.1-mod_interbase.spec

 ※RPM4は今回初めてさわったのですが、rpm -ba とかではなく、rpmbuild -ba とコマンドが分離されていたので、少々とまどいました。

by T.Hayashi (2004/2/1)

■マルチバイト関係Configure追加

 前回のビルドでは、mbstring関係が抜けていました。具体的には以下の3つのオプションが有効になっていませんでした。

‘–enable-mbstring’ ‘–enable-mbstr-enc-trans’ ‘–enable-mbregex’

 上記のオプションを有効にしたRPMは以下になります。

 php-4.2.2-17.2.i386.rpm
 php-interbase-4.2.2-17.2.i386.rpm

 specファイルはこちらです。

 php.17.2-mod_interbase.spec

by T.Hayashi (2004/2/7)

 


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=66

BLOBのインサートテスト

 

■BLOBのインサートテスト (2004/1/17 林 務)

 firebird-jp-generalに投稿した、BLOBのインサートに関するテストプログラムとレポートです。

BLOB_INSERT_TEST_0-2.LZH (IBX版)
BLOB_INSERT_TEST_BDE_0-2.LZH (BDE版。BDEがインストールされていないと実行できません。)
BLOB_INSERT_RSC.LZH (使用した画像リソース。実行には不要です。)
※変更点(ver.0.2)
・コネクションタイムを統計から排除。
・iniファイルでサーバを設定しないとエラーログを吐く不具合修正。

・使用方法
①CREATE.SQLのSQL文をISQL等で実行して下さい。
 データベースのパスは必要に応じて変更して下さい。

②DM_BLob.iniを編集して下さい。

[DATABASE]
SERVER=Localhost
DBFILE=E:DBBLOB1.FDB
UserID=SYSDBA
Passwd=masterkey

説明の必要はないかと思いますが、先ほどのファイル配置に合わせて変更し、またIDとパスワードを適宜設定して下さい。

③BlobIns.exeを実行して下さい。
④スピンエディットでインサート回数を設定し、Startボタンを押すと開始します。
⑤途中でStopボタンを押せば中断することができます。

■テスト(1) — Delphi6 + IBX6.08

サーバはローカルのFirebird 1.0.3へLocalhostでローカル接続しました。

マシンスペックは、Pentium4 2.4G + Mem 1GB + Diskは新品のSeagate 160GBです。

10万レコードのインサートを行った結果が以下のようになりました。

※下の最大値・平均値は、開始時のコネクションタイムが入ってしまっていました。ただいま追試中です。
— 100000回 Insert の平均 :  65.19925ミリ秒
— 100000回 Insert の最大 :  3134ミリ秒
— 100000回 Insert の最小 :  20ミリ秒

— 100000回 Insert の平均 :  21.23ミリ秒
— 100000回 Insert の最大 :  70ミリ秒
— 100000回 Insert の最小 :  10ミリ秒

ファイルのサイズは以下のようになりました。

2004/01/17  14:21        2,048,008,192 BLOB1.FDB
2004/01/17  14:21        2,048,008,192 BLOB2.FDB
2004/01/17  14:21        2,048,008,192 BLOB3.FDB
2004/01/17  14:21        2,048,008,192 BLOB4.FDB
2004/01/17  14:21        1,231,175,680 BLOB5.FDB

■テスト(1)-2 — Delphi6 + IBX6.08 10万行インサート後の追加

テスト結果(1)の10万行インサート後に、再度コネクトし100行のインサートを行った。

— 100回 Insert の平均 :  30.05ミリ秒
— 100回 Insert の最大 :  761ミリ秒
— 100回 Insert の最小 :  10ミリ秒

■テスト(1)-3 — Delphi6 + IBX6.08 with Firebird 1.5 RC8

テスト(1)-1と同一の内容を、Firebird 1.5 RC8で行った結果。
※と思ったら、10,000回になってました。要追試。

— 10000回 Insert の平均 :  20.7689ミリ秒
— 10000回 Insert の最大 :  41ミリ秒
— 10000回 Insert の最小 :  10ミリ秒

— 100000回 Insert の平均 :  10.75ミリ秒
— 100000回 Insert の最大 :  261ミリ秒
— 100000回 Insert の最小 :  10ミリ秒

■テスト(1)-4 — Delphi6 + IBX6.08 with Firebird 1.5 RC8 1万行インサート後の追加

テスト(1)-2と同一の内容を、Firebird 1.5 RC8で行った結果。
※これも1万行インサート後なので、要追試。

— 100回 Insert の平均 :  23.53ミリ秒
— 100回 Insert の最大 :  330ミリ秒
— 100回 Insert の最小 :  10ミリ秒

— 100回 Insert の平均 :  16.47ミリ秒
— 100回 Insert の最大 :  651ミリ秒
— 100回 Insert の最小 :  10ミリ秒

■テスト(2) — Delphi6 + BDE

BDE版の結果です。接続方法をBDEに変更した他、BDEでのLocalhost指定がエラーとなるため、ローカル接続で計測しました。

— 100000回 Insert の平均 :  33.99ミリ秒
— 100000回 Insert の最大 :  81ミリ秒
— 100000回 Insert の最小 :  20ミリ秒

■テスト(2)-2 — Delphi6 + BDE 10万行インサート後の追加

テスト結果(2)の10万行インサート後に、再度コネクトし100行のインサートを行った。

— 100回 Insert の平均 :  2006.08ミリ秒
— 100回 Insert の最大 :  198465ミリ秒
— 100回 Insert の最小 :  10ミリ秒

ログは以下のようになっています。

0回目Insert時間 —  198465ミリ秒
1回目Insert時間 —  10ミリ秒
2回目Insert時間 —  10ミリ秒
・・・以下大体同じ

■テスト(2)-3 — Delphi6 + BDE with Firebird 1.5 RC8

テスト(2)-1と同一の内容を、Firebird 1.5 RC8で行った結果。

— 100000回 Insert の平均 :  22.01ミリ秒
— 100000回 Insert の最大 :  280ミリ秒
— 100000回 Insert の最小 :  10ミリ秒

■テスト(2)-4 — Delphi6 + BDE with Firebird 1.5 RC8 10万行インサート後の追加

テスト(2)-2と同一の内容を、Firebird 1.5 RC8で行った結果。

— 100回 Insert の平均 :  2023.61ミリ秒
— 100回 Insert の最大 :  200238ミリ秒
— 100回 Insert の最小 :  10ミリ秒

■考察

 テスト(1)とテスト(2)で有意に差があるのが、10万件インサート後の再インサート時の問題です。BDEでは、0からのインサートではIBXより遅いものの平均してそれなりの速度でインサートに成功しています。しかし、いったん切断した後で再接続しインサートしようとした場合、1件目のインサートで極端に遅くなります。IBXも確かに再接続後の1件目が少し遅いのですが、問題とならない範囲です。
 このことから、大量のBLOBインサートを伴う、大規模データベースでは、BDEよりもIBXを使うべきであるという結論が導き出されるかと思います。(20041/17)


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/index.php?firebird_xsite=64

Interview with Paul Beach on InterBase World

Interview with Paul Beach
2003 / 1 / 31
2004 / 1 / 1 翻訳版 DelphiマガジンVol.32 掲載
Written by Marina Novikova
on InterBase World (URL http://www.interbase-world.com/)
翻訳:林 務(株式会社アペックス)

 本インタビューは、InterBase World のWebサイトでMarina Novikova氏によって公開されたものを、Marina氏とPaul氏の許可によって翻訳したものです。
 Paul Beach氏はボーランドでInterBase部門のマネージャーをやっておられました。2000年にボーランドがInterBaseをオープンソースとする直前に、経営陣と対立して辞職し、その後Ann Harrison氏とIBPhoenix社を立ち上げFirebirdプロジェクトを支援しています。
 Marina Novikova氏はロシアの企業で英文翻訳とテクニカル・ライターをするかたわら、InterBase Worldの管理者をなさっています。Marina氏はInterBase Worldで、毎週のようにインタビューやレビューを更新されているのですが、このインタビューは、技術的なことやビジネスに関することだけでなく、各ゲストの人となりがよく現れていて、私はいつも楽しみにしています。


Marina Novikova: まず、ご自身のことをお話下さい。趣味は何ですか、音楽はどんなものをお聞きになりますか、お気に入りの本(あるいは作家)はどんなものですか?

Paul Beach: 私が仕事以外で時間を一番割いているのは多分ガーデニングでしょうね。UKでは「アロットメント」と呼ばれているちょっとした家庭菜園をみんなが持っていて、19世紀に遡るんだけど、政府が家庭菜園割当法を制定したので、十分な大きさの庭を持っていなかった地方の人々に土地を割り当てて( そのために必要なだけの土地があったばあいだけどね ) 野菜を育てることを奨励したんですよ。私と妻は、現在 2 つの家庭菜園を運営していてよく育っています、自分たちで食べる分の全てをまかなうほどではないですけどね。 アスパラガス から ズッキーニまで、それからストロベリーやラズベリーなどの柔らかい果物なんかを作っています 。一般的に冬の間はやることがあまりないんだけど、それは春になって成長の季節がくるとめちゃめちゃ忙しくなるからなのかもしれないね。この話が退屈だったら、私は速い車が好きだって事を話そうかな。最近、TVR Chimarea 5.0のオーナーになったんだよね (http:/www.tvr-eng.co.uk を見てね。ただし、最近サイトが再構築されて、とーーーっても遅くなってしまったんだけど)
 音楽に関しては、私はパンク世代なんで、私の 10 代の頃はパンクを聞いて、それからバンドを見に行って過ごしたんだ、クラッシュ 、ジャム、 スティッフ・リトル・フィンガーズ メンバーズ、 ジョイ・ディビジョン、 ラモーンズ等々、今でも聞いてるよ。それからもっと最近の音楽に関しては、レディオヘッド、プラシーボなんかのインディーズ・バンドを聞いてるよ。
 本に関しては、私の学位は英文学なので、とってもたくさんの本を何年もの間に読んだよ、しかし、お気に入りは、パトリック・オブライエン 、フランク・ハーバート、 ウィルフレッド・オーエン、 バルザック、 ウィリアム・ゴールディング、アイザック・アシモフ、シェークスピア、ジョン・ドン、及び、トーマス・ハーディなんかだね ( 別になんでもありってわけじゃないんだけどね)。

Marina Novikova: ビールは飲みますか?もしそうなら、どんなのがお好きですか?

Paul Beach: 私は、元々は英国北部の出身なのですが、今は南部に住んでいます。ご存じない方も多いと思いますが、南部で出されるビールは北部とは全然違うんですよ (ちょっとした南北分断だね) 。私はもう何年も南部で生活しているますが、まだ南部のビールに慣れないんで、そのため私は主に白ワイン ( new world sauvignon blanc ) で押し通しています。にもかかわらず、両親に会うために北部に戻ったりするときは、地元のパブにふらりと立ち寄るのが大好きなんです。私は、英国のビターの全てを原料として、TetleyビールがLeedsで醸造された時のことに想いを至らせたりするんです。それからTheakstonビールもお気に入りなんですよ。

Marina Novikova: 今までもらった中で一番おかしかった(あるいは変な)プレゼントは何ですか?

Paul Beach: 私の妻によって地方の病院から救助された 2 匹の白黒の子猫。そいつらは元々野良猫だったので、とっても危険だった。爪と牙がすごくてね。そいつらは 6 ヶ月もかからずにソファーを木片に戻してしまったんだ、しかし、それ以来ずっと私たちは家で猫を飼っているんですよ。

Marina Novikova: 人生の中で、もっともエキサイティングだった日とか、最もすばらしい瞬間とかを覚えてらっしゃいますか?

Paul Beach: おそらく、私が大学でガールフレンドとよりを戻したときだろうね、我々は6 ヶ月位の間別れていたんだけど、私は彼女が私とのことを考え直してくれるといいなあと思っていた。彼女は考え直してくれて、彼女は今私の妻になっていて、そして、私たちはもう 21 年間以上いっしょにいるんだ。

Marina Novikova: どんなことが嫌いですか?人々がどんなことをするとイライラしますか?

Paul Beach: アイロンかけ ? こう言えば十分。感謝されない仕事。それから、他の人々については ? 何かをすると約束しながら、結局それをやらない人 。

Marina Novikova: 自由に使える時間がいくらかでもあったら、どんな風に使いたいですか?

Paul Beach: 家庭菜園だね。

Marina Novikova: 大きな夢というのは何かありますか?

Paul Beach: 激しい無意味な競争から抜け出すために十分なだけ稼いで、そして、どこか静かなところでちょっとした土地と小自作農地 ( 小さな農場 ) を買いたいですね。

Marina Novikova: Ann Harrisonは比較文学の学士号を持っていると言っていましたが、あなたの学歴をお聞きしてもいいですか?また、どうしてハイテク分野で仕事をしようと思ったのですか?

Paul Beach: 私は、 ノッテインガム大学で英文学の学士号を取りました。私がハイテクに関わるようになったのは本当に偶然で、私が大学を卒業したとき、私は、ジャーナリストになるつもりだったんですよ。しかし、80 年代初期にこの仕事はなかなか見つからなかった。それで私の友人が「システム アシスタント」の仕事を持ってきたんだ、その会社は新しい会計システムを製作していました( 「システムアシスタント」は雑用係ってところだね)。 私は、結局UKで初めての DEC VAX 11/750 のうちの一つで仕事をすることになって、DEC のプロフェッショナルになったんだ。私はそれがとても楽しかったので、夢中になってしまって、後ろを振り返ったりはしなかったね。

Marina Novikova: いつから、また、どうして、あなたは、 Borland で働き始めた (あるいは Borland を辞める前に、元々の ISC における仕事を始めた)のですか?

Paul Beach: 私は元々のISCで働いたことは無いですが、Cgnos社によってInterBaseに関わるようになったんです。Cognosは何年間にもわたって製品の代理店をしていました。Cognos社で私はリレーショナル・データベーステクノロジーの上級コンサルタントをしていました。
 BorlandはCognos社から私を雇い入れたんだけど、ちょうどヨーロッパのサポート部隊を組織するためにアシュトン・テイト社を獲得した直後だったんだな。その部隊はヨーロッパのInterBaseの顧客の面倒をみることになっていたんです。1995年の初頭に彼らは私を窓際に追いやって、その6ヶ月後に雇い直したんですよ。私は2000年1月に辞職するまでボーランドにとどまって、様々な管理的な地位を経験しましたんですが、私がボーランドにいた間、上位の経営陣が何をしているのか全くわからないことが何度もありました。

Marina Novikova: その時には、どんな職務があなたに与えられたのですか?

Paul Beach: ふー ? Borlandで私は多くのことをしましたが、ヨーロッパでのInterBase向けのサポートの面倒を見ることから始まって、それから世界規模でのInterBaseのビジネスの再構築をやり、製品マネジメントとマーケティングをやって、立ち上がったばかりのInterBase部門を運営して・・・。私はボーランドでの仕事は大体楽しかったと思っています、とてもダイナミックなところで時を過ごしたと思っているし、いつもテクノロジーの刃の上に立っていたわけだからね。それに、私はとても多くのことを学んだんです、特にボーランドで働いている少数だけどとてもクレバーな人々から、また間接的にボーランドに関わっている人々からね。

Marina Novikova: 自分の人生を3語で表すとしたらどうします?

Paul Beach: 分裂気質(かたぎ)。

Marina Novikova: これまでに百万遍も聞かれたことだと思うんですが、お聞きします、どうしてボーランドを辞めたのですか?チームを離れたとき、ボーランドがソースコードを公開すると思っていましたか?

Paul Beach: InterBaseの歴史の中で、Del Yokamが担当していた期間があり、InterBase はボーランドとは別の子会社として一度存在したことがあった。私たちは多くのファンをその時も持っていたし、とても一生懸命仕事をしたので、私たちは少なくとも自分たちの運命について責任を取らなくちゃならなかったんです。Yokmanが私たちを飲み込むことを決定したので、多くの仲間が辞めることに決めたんだけれど、まあ全員というわけではなかった。幾人かの居残った人間が、どうにか残っているチームをまとめて製品を前へ進めようとしていたんだ。
 1999年初頭のある時点で、新しいInterBase部門のゼネラルマネージャになることを求められたんだ、ボーランドはDale Fullerの下でなんとか落ち着こうとしていたときだった。しかし2000年の1月になって、私はとても難しいポジションに立たされたんだ。それはDale Fullerにとても出来そうにない事をやるよう求められたからだったんだが、彼はまた私たちとの間で結ばれた約束を果たさなかったのさ。私は(ボーランドが彼らを放り出したにもかかわらず)InterBaseを支持しているInterBase部門の社員に対して、自分が辞職するその時までは責任があると感じていたのだけど、それからほとんどのInterBase経営チームの他のメンバーが辞職して、それからサポートスタッフが辞職して、それからほとんどの技術者が辞職して・・・。これについては確かに同情すべき点があったと思うよ。
 私たちのほとんどがいなくなってしまう前に、幾人かがInterBaseをオープンソースにしてはどうかという提案をしていたんだ。Red HatがちょうどIPOを成し遂げたときで、Daleはその考えを気に入って、もっと詳細に調査することを決定した。この調査の一部として、私はDaleにAnnと一緒にInterBaseをオープンソース製品として扱う新会社の設立を進めることを聞かされたんだ。

Marina Novikova: InterBaseロードマップを見ていると(http://www.cvalde.com/IbRoadmap.htm) あなたはAnn Harrisonと一緒にIBPhoenixの基礎を構築しましたね。現在の職責はどうなっていますか?何か他のことをしたいと思っていますか?

Paul Beach: Annと私は今でもIBPhoenixを運営しています、そして会社はゆっくりとですが成長し続けています、私たちはいまこの数年間の間出来なかったことを出来るようになっています、特にFirebirdを育てるためのサポートと支援に関してですが。私はまたJim StarkeyとNetfrastructureの仕事をこつこつとやっています、それから製品の市場を開拓したりとかいろいろと、ね。

Marina Novikova: 3語で今の生活を表すとしたらどうなりますか?

Paul Beach: 熱狂的。一言で済むときに3語をどうやって使えばいいか勉強するように言ってくれてもいいですよ。:-)

Marina Novikova: InterBase は、ポピュラーな RDBMS であり、そして、 ボーランドは、世界中で何百万ものコピーを販売しています。なぜ、いまだに InterBase の英語の本がないのでしょうか ?

Paul Beach: 私が学者ぶっていうことじゃないんですが、ボーランドは実際には数百万も売っていません、おそらく、 1 年に数十万で決して数百万にはならないですね。
 種まき戦略として、多数の InterBase サーバが開発ツールによってタダで配られたことを思い起こして下さい。これは、おそらくここ数年の間 InterBase に起こったことでは一番いいことだったんじゃないかな。たとえ、それが偶然に起こったことだとしても・・・。それから、こういうことはよくあることなんだけど、今日の販売数はとっても疑わしいと思ってるね。特に、ユーザーと開発者には今では選択肢があるのだから。
 私はどうして英語の本がないかを知らないんだけど、おそらく Bill Karwin と私が本を書く余裕を見つけることが出来なかったからじゃないのかな。

Marina Novikova: InterBase7はMSSQLの価格と比較してみると、ちょっと高いように思います。TPCテストによればInterBaseはMSSQLより性能で劣っているんですが、このIBの価格体系についてお話ししてもらうことは出来ますか?IBの独特の適用範囲や、マネージャーの思考の停滞、あるいはマーケティングのトリックである「高いことはいいことだ」などによって、それを説明することは可能でしょうか?

Paul Beach: 最初に言っておかなくてはなりませんが、TPCテストはパフォーマンスの指標としては全く役に立ちません。TPCテストは大体にして現実の世界で実際に書かれているアプリケーションを反映していません。ベンチマークは常に実際にあなたが使っているアプリケーションで行わなくてはなりません、TPCの数字ではなくてね。
 InterBaseの現在のマーケティングと価格設定のポリシーはそれがオープンソースとなる前と比べてあまり変わっていないようです。外部の人間の視点から見ると、InterBaseがオープンソースになる前を見ていたとしたら、いま見ているものと同じです。ほとんど何も変わっていない。ボーランドの視点から見ると、あたかもInterBaseはオープンソースになっていないかのようで、例えていうと、何も起こっていないとでもいうか。でもそれは確かに起こって・・・、Firebirdがその証拠として生き続けているんです。

Marina Novikova: InterBaseを生業としている開発者にはどうしてこんなに仕事が少ないのでしょうか?例えばwww.job.comで探してみるとまったく見つかりません。このことをどうお考えですか?

Paul Beach: 何年にもわたってInterBaseを含む仕事の広告は増えてきています。あなたが InterBase について調べたのであれば、何も見つけられなかっただろうと、私は思いますよ。そういうやり方はいまでは正しくないからね。データベース開発者向けの大部分の広告は、通常は特定のデータベースに言及しないで、SQLのスキルを求めているんです。技術的によく熟練していることとSQLのスキルを持っていれば誰でも、 InterBase を使うことができるでしょう ( それらの人々が MS SQL、 Sybase 、オラクル、または、他のリレーショナルデータベース .. を使うことができるのと同様にね )

Marina Novikova: とても多くのロシアの開発者がFirebirdプロジェクトに参加して、開発に影響を与えているという事実について、どうお考えですか?

Paul Beach: 素晴らしいことだと思っていますよ、ロシアは何度も訪れましたし、ロシアでのカンファレンスで何度か話もしました。ロシアに行った時、大勢のロシアの開発者と会って、彼らはとても良い質問をする人々だったと思ったし、技術的に有能でしたね。

Marina Novikova: よく言われることだけどInterBaseはエイブラムスの戦車にインストールされているそうです。この情報を確認できますか?懐疑論者は弾道計算のために戦車にDBMSをインストールする必要は無いと言っています。でもこれが事実だとすると、何のために必要なんでしょう?

Paul Beach: 「マーケティング」話へようこそ、この話は何年もの間ちょっと手に負えないものになっていたね。何年も前に(記憶に頼って言っているんだけど)、InterBaseは米国陸軍向けの新型火器管制システム(AFTADS)を構築しているMagnavox社という会社とVAR契約を結んだんだ。そのシステムは、予測された標的を狙って射撃するように火器 ( 戦車を含む ) を制御するための中央射撃管制システムだった。InterBase は、このシステムのためのデータベースに選ばれたんだよ。なぜなら、砲弾が火を付けられたとき、局所的に火器管制システムを管理するサーバがクラッシュするかもしれないからなんだ。InterBase は、Magnavox社がテストした唯一のデータベースだった、それは自動的に回復して数秒でオンラインになるだろうとされていた。本当にこのシステムが実装されたのかどうかを私は知らないんだけど。しかし、あなたが言うように、それはInterBaseにとってとてもいい話だということになっている 。

Marina Novikova: InterBase Worldのコミュニティに一言何かお願いします。

Paul Beach: 長く続けて成功しましょう。


旧Firebird日本ユーザー会サイトから移行した過去記事です。内容は当時の記録です。記事内のリンクなどはリンク切れなどにご注意ください。

過去記事掲載時URL(閉鎖予定):http://tech.firebird.gr.jp/firebird/site_rsrc/images/92/interview_paul_beach.html