Btrieve
Btrieve(ビートリーブ)とは、1980年代はじめに米国ソフトクラフト[1]が開発したISAMライクなレコード・マネージメント・システムであり、現在では後継製品Pervasive PSQL [2]のTransactional EngineとしてファイルI/Oの中核になっている。日本では1987年よりエージーテック社が販売。
ノベルのNetWareにサーバ版がバンドルされ1990年代にはかなり広く使われた。このため、クライアントサーバモデルのイメージが強いが、サーバを必要としないスタンドアローン用の製品もある。
Btrieveは他の資料では関係データベース管理システム (RDBMS) とされることもある[3]が、データの管理はファイルごとに独立しており、ファイル間の関連付けまでは管理していない高機能なIAMシステムと言える。また、データの取り扱いの単位はレコードでRDBMSのようなフィールド単位の管理は行っていないため、レコード・マネージャと呼ばれることもある。ISAMよりも優れているのは、複数データ更新の一貫性を保証するトランザクション処理と複数のレコードをまとめて読み書きできるEtendedオペレーション[4]を備えていることである。
データファイルは、Btrieveファイルと呼ばれる固定長ページサイズで管理されている独自のファイル形式になっている。Btrieveファイルは、データレコードを格納するデータページ、インデックスを格納するインデックスページから構成されており、ページ単位にディスクと Btrieveエンジン (Transactional Engine) のメモリーキャッシュ間で読み書きされる。ファイル名については制限がないが、ファイルの拡張子は.preなどの一部の予約されている名称を除き、自由につけることができる[5]。Btrieveファイルは互換性が高く、1995年にリリースされた Btrieveバージョン6.15で作成されたデータファイルを現行バージョンのPervasive PSQL v11で読み書き可能である[6]。
アプリケーションインタフェースは、BTRV関数を呼び出すプラットフォームに依存しない方法[7]を使用し、C/C++言語、COBOL、BASICなどの高級言語から使用するための言語インタフェースモジュールが提供されている。なお、SQL製品と統合されたPervasive.SQL以降の製品では、ODBC APIなど[8]を使用するSQLアプリケーションからもBtrieveファイルにアクセスすることができる。
脚注
[編集]- ^ ソフトクラフトは後にノベルに買収されたが、1994年にデータベース部門はビートリーブ・テクノロジーズとして独立し、社名変更によりパーベイシブとなった。パーベイシブは2013年4月、Actianに買収された。
- ^ Btrieveは7.0以降、パーベイシブのSQL製品と統合されてその中核エンジンとなった。Btrieveを名乗る製品は7.0が最後で、それ以後の製品名はPervasive.SQL、Pervasive PSQLを経て現在はActian PSQLとなっている。
- ^ BtrieveそのものはRDBMSではないが、SQL 製品と統合されたPervasive.SQL以降の製品はRDBMSと言える。
- ^ Extended オペレーションはレコード複数件読み込むだけでなく、レコードの一部分を指定しての読み込み、条件を指定しての読み込みも行うことができ、SQLのSelect文に近いデータの取り扱いが可能。
- ^ Btrieveファイルの拡張子は .btr, .dat, .mkd などが比較的多く使われているが予約されている名称以外であれば自由につけられるため、拡張子からBtrieveファイルであることを判断することは不可能。
- ^ 読み込みだけであれば、もっと古い1990年頃の Btrieveバージョン5.0で作成されたデータファイルも可能。
- ^ ソースレベルの互換性は、16ビットDOSと64ビットWindowsでBTRV関数の記載が変わりがないほど高い。
- ^ Pervasive PSQL v11 では、Btrieve インターフェイスの他、ODBC、JDBC、ADO.NET、PDACなどのインターフェイスが用意されている。