InterSystems SQL の基礎 : グローバルおよびマルチモデル・データ・アクセス
ここでは、InterSystems IRIS® データ・プラットフォームの基盤となっているストレージ構造であるグローバルの概念について紹介します。データの格納やデータへのアクセスをどのように行うことにしたかには関係なく、実行していることはグローバルの使用です。
グローバルは、リレーショナル・モデルを使用してアクセスするか、オブジェクト・モデルを使用してアクセスするか、または直接アクセスすることができます。このマルチモデル・アクセスの利点を説明するビデオ、および 3 つの代替方法を自分で試すことのできる実践演習については、"Exploring Multiple Data Models with GlobalsOpens in a new tab" を参照してください。
グローバルとは
InterSystems IRIS データ・プラットフォームの特徴の 1 つが、一度データを保存すると、複数のパラダイムを使用してそのデータにアクセスできるようになる機能です。例えば、InterSystems SQL を使用して、データを行と列で視覚化したり、ObjectScript を使用して、プロパティとメソッドを持つオブジェクトの観点からデータを考えることができます。アプリケーションでは、両方のデータ・モデルを組み合わせ、指定されたタスクに対して、より簡単で効果的な方のモデルを使用することも可能です。しかしながら、データをどのように書き込むか、またはデータにどのようにアクセスするかに関係なく、InterSystems IRIS では、グローバルとして知られる基盤となるデータ構造にデータが格納されます。
グローバルは、永続多次元スパース配列と考えることができます。
-
永続 — グローバルは、データベースに格納され、そのデータベースにアクセスできる任意のプロセスにより、いつでも取り出すことができます。
-
多次元 — グローバルのノードには、任意の数の添え字を指定できます。こういった添え字には、整数、10 進数、または文字列を使用できます。
-
スパース — ノードの添え字は、連続する必要はありません。つまり、格納された値のない添え字はストレージを使用しません。
グローバルのノードには、以下のようなさまざまな種類のデータを格納できます。
-
文字列
-
数値データ
-
文字ストリームまたはバイナリ・データ
-
リストや配列など、データのコレクション
-
他のストレージの場所への参照
記述したサーバ側コードさえも最終的にはグローバルに格納されます。
アプリケーション開発者がグローバルについて学ぶべき理由
グローバルに関する知識をほとんど、あるいはまったく持たずに InterSystems IRIS プラットフォームでアプリケーションを作成することはできますが、グローバルに対する理解を深めることをお勧めする理由がいくつかあります。
-
操作によっては、グローバルに直接アクセスすることで、より簡単に、あるいは効率的になるものがあります。
-
リレーショナル・データ・モデルまたはオブジェクト・データ・モデルに適合しないデータのカスタム・データ構造を作成できます。
-
システム管理タスクによっては、グローバル・レベルで実行されるものがあり、グローバルを理解することで、こういったタスクがより有意義なものになります。
InterSystems IRIS API を使用したグローバルへのアクセス
Python、Java、.NET 言語、Node.js、または C++ でアプリケーションを作成している場合、InterSystems IRIS には、ここで説明している 3 つのモデルを使用してデータを操作できるようにする API が用意されています。
-
JDBC、ADO.NET、DB-API、または ODBC を使用したリレーショナル・アクセス
-
InterSystems XEP API for Java および InterSystems XEP API for .Net を使用したオブジェクト・アクセス
-
InterSystems Native SDK を使用したグローバルへの直接アクセス
Note:
あらゆるアクセス形式がすべての言語でサポートされているわけではありません。
グローバルの詳細
以下にリストしたリソースを使用して、グローバルおよびグローバルへのアクセス方法について知識を深めてください。
グローバルおよびその構造
InterSystems Native SDK
-
Using the Native SDK for JavaOpens in a new tab (インタラクティブ・コース) — Native SDK for Java を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。
-
Native SDK for Java の使用法 (ドキュメント) — Native SDK for Java を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。
-
Using the Native SDK for .NETOpens in a new tab (インタラクティブ・コース) — Native SDK for .NET を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。
-
InterSystems Native SDK for .NET の使用法 (ドキュメント) — Native SDK for .NET を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。
-
Native SDK for Node.js の使用法 — (ドキュメント) Native SDK for Node.js を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。
-
Using the Native SDK for PythonOpens in a new tab (インタラクティブ・コース) — Native SDK for Python を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。
-
Native SDK for Python の使用法 (ドキュメント) — Native SDK for Python を使用して、グローバルにアクセスし、クラス・メソッドとクラス・ルーチンを呼び出す方法を紹介します。