本文へジャンプ

Informix C-ISAM

ISAM ファイルを管理する C 言語関数ライブラリー製品

Informix® C-ISAM は、ISAM(Indexed Sequential Access Method)ファイルを効率的に管理するC言語関数のライブラリーです。 C-ISAM は RDBMS のようなオーバーヘッドを伴わず、アプリケーションなどからレコードに素早く効率的な直アクセスを提供します。

 

主な特長は以下の通りです。

上記リンクをクリックすると、ページ内の該当箇所に移動します

 

素早いデータ検索

Informix C-ISAM では、特定のデータを取得するためにレコードを厳密に調べる必要はありません。 C-ISAM B+ ツリー・インデックス・アーキテクチャーが、データ検索を素早く容易なものにします。 余分なレコードを検索することなく、特定データの断片を見つけるためのレコードを示すキーとしてインデックス・エントリーを用います。 更に C-ISAM では、効率的なインデックスの管理と処理のために、キーを圧縮する技術を採用しています。 キーを圧縮することで、高速な応答と傑出したパフォーマンスを実現しています。

 

X/Open 標準に準拠

C-ISAM は、業界標準の UNIX ファイル・アクセス・メソッドを用います。 X/Open 標準に準拠した C-ISAM は、ISAM の X/Open XPG3 テスト群に適合するように設計されており、XPG4 の仕様として追加された状態変数のサポートと同様に、可変長レコードをサポートします。



X/Open グローバル・ランゲージのサポート

Informix C-ISAM V7 は複数言語をサポートするために、Informix global language support(GLS) を使用しています。 Informix 実装の GLS は、X/Open XPG4 仕様を基にしたものです。 GLS は、製品を使用する国や地域によって異なるルールやフォーマットで文字列やプリント・データ、容認される通貨の入力などを C-ISAM が適用できるように、シングルバイトおよびマルチバイト・キャラクターをサポートします。 また、X/Open 準拠の GLS は、データベース・アプリケーションのワールドワイド・サポートを提供し、同じ機能を保持しながらアプリケーションを複数言語環境に展開することを可能にします。 

 

柔軟性の高いインデックス・オプション

Informix C-ISAM のインデックス機能は、多数の ISAM ファイル・インデックスに対応します。 インデックスは 8 パーツまで有することができ、それぞれのパーツを異なるデータ型にすることが可能です。 Informix C-ISAM で、複数のフィールド、単一のフィールド、もしくはフィールドのパーツ上にインデックスを構築することができ、同じインデックスの異なるパーツでデータを昇順もしくは降順に仕分けることが可能です。 また、C-ISAM では多重化キー値、およびユニーク・キー値に対応します。 インデックスの作成後は、レコードの変更に伴って自動的にインデックスが更新されます。

 

データ整合性のサポート

C-ISAM はデータの整合性を保持するためにいくつかのメカニズムを提供します。 ロギング機能やリカバリー機能と同様に、トランザクション管理がシステムのイベントやディスク障害にあったデータの復旧を可能にし、ロック機構がデータの並列利用を管理します。 bcheck ユーティリティは、インデックスの整合性を確保します。 



トランザクション管理

Informix C-ISAM は、データ管理に付加的なセキュリティを提供するトランザクション管理用の組込みルーチンを有しています。 これらのルーチンを用いて、トランザクションの始まりと終わりとを定義することにより、複数の操作を単一のトランザクションとして取り扱うことができます。 必要に応じて、データの整合性を保証し、不完全なトランザクションの遂行を回避するために、トランザクションの開始時にロールバックすることができます。


ロギングとリカバリー

ロギング機能はログファイルに各トランザクションを記録することにより、データ整合性の確保を促進します。 進行中の作業をロールバックしなければならない場合、ログファイルから ISAM ファイルが復旧されます。 また、ログファイルは、ISAM ファイルが変造されたり破壊された場合にリカバリー機構を提供します。


ロック

Informix C-ISAM は、同じ列に複数ユーザーが同時アクセスした場合に、データ整合性を確保するためのロッキング・オプションを用意しています。 トランザクションが開始された場合、レコードを修正する C-ISAM ルーチンがそれらのロックも行います。 トランザクションがコミットされるかロールバックされるまで、レコードはロックされたままになります。 これらフィールド・レベルもしくはレコード・レベルのロック機能は、複数同時ユーザーからの内部参照によって生じるデータの不整合を防止します。


bcheck

bcheck プログラムは、データの整合性を維持するために、ISAM インデックス・ファイルをチェックして修正する Informix C-ISAM ユーティリティ・プログラムです。 このプログラムは、インデックスの整合性に問題が生じたときには、いつでも起動します。 ( 一般的には、インデックス更新中のシステム障害が原因となります。)

 

ISAM システム・メンテナンス

Informix C-ISAM は、ISAM システムのメンテナンスを効率化し、組込みルーチンでメンテナンス・タスクを書くための所要時間を削減します。 Informix C-ISAM をアプリケーションにリンクすれば、以下のメンテナンス・タスクを組込みルーチンが実行します。



ファイル構成

C-ISAM ファイルは二つの OS ファイルで構成されます。 一つはデータ・レコードを保持し、もう一つはインデックス情報を保持します。 データ・ファイルの拡張子は「.dat」、インデックス・ファイルの拡張子は「.idx」です。 これら二つのファイルは、単一の ISAM 論理ファイルとして常に一緒に用いられます。


インデックス構成

C-ISAM インデックスは、キーを含む B+ ツリーで構成されます。 ISAM インデックス・ファイルにおける固有の登録であるキーは、一つのレコードもしくは複数のレコードを示す値であり、レコード番号によって認識されます。 例えば、キーを従業員番号とすることもでき、B+ ツリーは階層で整理したポインターを有します。 これらのポインターは、インデックス・ツリーにおける別のレベルやデータ・レコードを表します。 レコードを見つける場合は、適切な Informix C-ISAM 機能が実行されて検索に応じたキー値が返されることになります。 Informix C-ISAM 機能はインデックスを通して高速に検索を行います。 キー値で適合するものを見つけると、データ・レコードを読み取るのにポインターを用います。 その後、Informix C-ISAM は、データを要するプログラムにデータ・レコードを返します。

IBM、IBM ロゴ、ibm.com、Informix, PartnerWorldは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml(US)をご覧ください。

Information Management software

メールでお問い合わせ

まずはお気軽にご相談ください。