Cachéの3つの顔

  Caché には3つの顔があります。
  ・階層構造データベースとしての顔 -> ダイレクト・アクセスという方法でデータにアクセスすることができます。
  ・リレーショナル・データベースとしての顔 -> SQLアクセスという方法でデータにアクセスすることができます。
  ・オブジェクト指向・データベースとしての顔 -> オブジェクト・アクセスという方法でデータにアクセスすることができます。
  
  これらの3つの顔(データベースの形式とアクセス方法)は、全く関連性が無いと考えられるようです。 しかし、Caché においては、これら3つの顔は別々の顔ではなくて、見る角度が違うだけのことなのです。
  アプリケーション・システムを構築する場合、それぞれの場面で最適なデータベースの使い方があるはずです。
  例えば、帳票作成であれば、SQLODBC経由で使用する方法が一般的であり、コスト(開発/運用)をセーブすることが可能です。 あるいは、Caché においては、トランザクション処理を行うときには、オブジェクト・アクセスの方が使い勝手が良い(システムの安定稼動/高速運転が可能)とされています。 その他、一般的ではないようなアプリケーション・システム(例えば、人工知能的なもの)を構築する場合には、ダイレクト・アクセス方法でのアプリケーション・システム構築が可能です。
  
  そして、これらの3つの顔は、同時に利用することが可能です。ある1つのアプリケーション・システムにおいて、帳票作成をするときにはSQLを利用する。 トランザクション処理をするときには、オブジェクト・アクセスを利用する、というように混在して使用することが可能です。
  
  このようなことが可能になる理由は、CachéSQLコマンドやオブジェクト・アクセス・コマンドをCaché Object Script に変換して実行しているからです。
  つまり、Caché にとっては、SQLを利用している、オブジェクト・アクセスを利用している、ということは外部(アプリケーション・プログラム)の問題であると言うことです。 唯一、それぞれのアクセス方式でアクセスされたときに、それぞれのコマンドをCaché Object Script に変換するという処理が行われているだけです。
  
  従って、SQLだと処理が遅くなる、オブジェクト・アクセスだと処理が遅くなる、ということは、少なくともCaché の内部処理レベルでは発生しません。 アプリケーション・プログラムのコードの書き方によって、処理スピードに違いが出ることは十分に予想されることではありますが。

戻る