Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Ensemble のデータ・ストレージの制御

この章では、Ensemble によってデータが格納される場所を制御する方法を説明します。Ensemble のネームスペースによってデータが格納される場所は、Caché データベースです。Caché データベース・ストレージを制御する方法に関する一般情報は、"Caché システム管理ガイド" を参照してください。この章では、Ensemble のインストール環境にとって有用ないくつかの補足情報を提供します。

この章では、以下について説明します。

Ensemble によって DICOM データが格納される場所については、"Ensemble DICOM 開発ガイド" の “格納場所を制御するための DICOM プロダクションの構成” を参照してください。

ルーチンとグローバルの個別のデータベース

新規ネームスペースを作成する際は、ルーチン (コード) が格納されているデータベースとグローバル (データ) が格納されているデータベースを指定します。新規ネームスペースの場合、ルーチンとグローバルに個別のデータベースを指定することをお勧めします。多くの既存のネームスペースで、ルーチンとグローバルの両方を格納する 1 つのデータベースが使用されています。このようなデータベースを 2 つの個別のデータベースに分離することはできますが、データベース間でのルーチンのコピーなどの処理を伴うため、通常はそこまでする価値はありません。

Note:

Ens.ProductionOpens in a new tabEns.Rule.RuleOpens in a new tabなどの Ensemble クラスは、動的に更新できますが、ルーチン用データベースに格納されます。このため、Ensemble ネームスペースで動的データをミラーリングする場合は、ミラーにルーチン用データベースを含める必要があります。

プロダクションのコンパイルは常に、そのプロダクションが実行されているシステム上で行う必要があります。Caché コードをあるシステム上でコンパイルして、“プリコンパイル” されたデータベースを別のシステムにコピーできますが、この操作を Ensemble のネームスペースについて実行することは避けてください。

プロダクションとネームスペース

ほとんどの場合、プロダクションは同一のネームスペース内で定義され実行されますが、プロダクション・クラスを定義したネームスペースとは別のネームスペースでプロダクション・クラスを認識できるようにするために、Caché パッケージ・マッピングを使用できます。パッケージ・マッピングを使用して、複数のネームスペースでプロダクションを認識できるようにしている場合は、それらのネームスペースのうちの 1 つのみを指定してプロダクションのコンパイルと実行を行う必要があります。そのプロダクションを別のネームスペースでコンパイル、変更、または実行してはいけません。同一のプロダクションを複数のネームスペースで実行または変更すると、診断困難な問題が発生することがあります。どのような場合であっても、この操作を行ってはいけません。パッケージ・マッピングを使用してデータベースをネームスペースにマップしていない場合は、この問題について配慮する必要はありません。

Ensemble の認証情報パスワードの格納場所

ネームスペースを作成すると、Ensemble では、そのネームスペース用の認証情報パスワードを格納するための別個のデータベースが作成されます。これらのパスワードを別個のデータベースに保持することで、すべてのネームスペース・データを暗号化するという処理負荷を生じることなく、この機密アカウント情報を暗号化できます。

認証情報パスワード用データベースは、そのネームスペースのデフォルトのグローバル用データベースのサブディレクトリ内に作成されます。このデータベース名とサブディレクトリ名は、ネームスペースのデフォルトのグローバル用データベースの名前に "SECONDARY" を付加したものです。例えば、デフォルトのグローバル用データベースが LABS である場合は、二次データベースの名前は LABSSECONDARY となります。 認証情報パスワード用データベースは、このデータベースに基づいて名前が付けられた (例 : %DB_LABSSECONDARY) 、一般アクセスできないリソースによって保護されます。ほとんどの状況下で、どのユーザもこのリソースに対する権限を持っている必要はありません。Ensemble では、このデータはこのデータベース内の ^Ens.SecondaryData.Password というグローバルに格納されます。"Ensemble リリース・ノート" に記載されている互換性についての注意 “認証情報パスワードの格納に使用する新しいグローバルおよびデータベース” を参照してください。

Note:

一次 Ensemble データベースをミラー・データベースとして作成した場合は、認証情報パスワード用の二次データベースは一次データベースと同じ設定に基づいて自動的にミラーリングされます。既存の Ensemble データベースにミラーリングを追加した場合は、二次データベースにもミラーリングを明示的に追加する必要があります。ミラーリングの詳細は、"Caché 高可用性ガイド" を参照してください。

Ensemble の一時データの格納場所

Ensemble では、プロダクションの実行中に一時データが作成されますが、プロダクションが停止されるとこのデータは削除されます。ほとんどの場合は、この一時データを意識する必要はありませんが、まれなケースとして、エラー状態から回復する際にこの一時データの取り扱いが必要になる場合があります。新規ネームスペースの場合は、デフォルトでは一時データは CACHETEMP とは別個のジャーナル化されていないデータベースに格納されます。このデータベース名とサブディレクトリ名は、ネームスペースのデフォルトのグローバル用データベースの名前に "ENSTEMP" を付加したものです。例えば、デフォルトのグローバル用データベースが LABS である場合は、一時データベースの名前は LABSENSTEMP となります。 このデータベースは、デフォルトのグローバル用データベースを保護するリソースと同じリソースによって保護されます。例えば、以下のグローバルがこのデータベースに格納されます。

  • ^CacheTemp.EnsRuntimeAppData — プロダクションを実行するために必要な一時データが含まれています。デフォルトでは、新規ネームスペースの場合、このグローバルはネームスペース・グローバルの格納に使用するデータベースの名前に ENSTEMP を付加した名前のデータベースに格納されます。例えば、ネームスペース TEST を作成してグローバルを TESTGL に格納するように指定した場合、このグローバルは TESTGLENSTEMP に格納されます。

  • ^CacheTemp.EnsJobStatus — プロダクションが開始されるとエントリが書き込まれて、プロダクションが停止されるとそのエントリは削除されます。

  • ^CacheTemp.EnsMetrics — プロダクションのメトリック・データが含まれています (プロダクション・モニタによって表示されるメトリック・データなど)。

FeedbackOpens in a new tab