これは、InterSystems FAQサイトの記事です。

ある処理において、データを無期限に保存する必要がなくグローバルの強力な性能が必要になる場合に、IRISTEMP/CACHETEMP データベースに保存される一時グローバルが使用されます。
IRISTEMP/CACHETEMPデータベースはジャーナルされないので、一時グローバルの使用ではジャーナルファイルは作成されません。

IRISTEMP/CACHETEMP データベースは、システムで一時ストレージ用に使用され、ユーザも同じ用途で使用することができます。

一時グローバルとIRISTEMPデータベースの詳細については、以下のドキュメントをご覧ください。
一時グローバルと IRISTEMP データベース

0 0
1 270

これは InterSystems FAQ サイトの記事です。

TRYブロック内で任意のカスタムエラーを発生させたい場合、以下のように throw で例外を渡すことが可能です。

以下のサンプルでは、Stcount が 1 より小さい場合にカスタムエラーを発生させています。

0 0
0 202

これは InterSystems FAQ サイトの記事です。

メモ:xxx にはネームスペース名が入ります。

xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。
^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。

xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。
^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。

注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません

詳細は以下ドキュメントをご覧下さい。

0 0
0 82
記事
· 2022年10月5日 4m read
Djangoへようこそ

IRIS における Python サポートの最近の改善と、InterSystems による Python DB-API サポートへの継続的な作業により、 Django プロジェクトに IRIS サポートを実装しました。Python DB-API の使用により、他のデータベースと連携することが可能です。

Django で、IRIS にデータを保存する単純なアプリケーションを試してみましょう。

ToDo アプリ

0 0
0 228

これは、InterSystems FAQサイトの記事です。

管理ポータル:システムエクスプローラの使用には、%DevelopmentリソースのUse特権が必要です。
システムエクスプローラでの参照のみ利用可能とする権限をユーザに付与したい場合は、%DevelopmentリソースのUse特権(※1)と、該当のデータベースリソース(※2)への参照特権(R)を付与したロールを作成し、これをユーザに与えます。
※1.「%Development:U」を付与している場合はターミナルやスタジオも参照のみで使用可能となります。
※2.参照したいデータベースに割り当てられているリソースが%DB_DEFAULTリソースになっており、このデータベースのみに参照権限を設定したい場合は、事前に、このデータベース用の独自リソース(%DB_<データベース名>)を作成し、該当データベースに割り当てるようにします。

0 0
0 99

開発者の皆さん、こんにちは!

この記事では、システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル でご紹介した内容を、お手元のIRIS、IRIS for Healthを利用して体験いただくための手順を解説します。

なお、ワークフローコンポーネントでどんなことができるのか?の概要説明については、ウェビナーをご参照ください。

A.事前準備

1) InterSystems IRIS または、IRIS for Healthのインストール環境をご用意ください。

まだインストール環境がない場合は、コミュニティエディション(コンテナ版かキット版)をご利用ください。

0 0
0 200

これは InterSystems FAQ サイトの記事です。

クエリパフォーマンスを左右するクエリプランは、テーブルチューニングを行った結果の統計情報を元に生成されます。

ある環境で期待したプランになったけれど、他の環境では意図したプランにならない場合、(期待したプランとなる)既存環境からテーブル統計情報をエクスポートして別の環境にインポートし、同じ統計情報をもとにしたクエリプランで実行することができます。

0 0
0 26

大規模言語モデル(OpenAI の GPT-4 など)の発明と一般化によって、最近までは手動での処理が非現実的または不可能ですらあった大量の非構造化データを使用できる革新的なソリューションの波が押し寄せています。 データ検索(検索拡張生成に関する優れた紹介については、Don Woodlock の ML301 コースをご覧ください)、センチメント分析、完全自律型の AI エージェントなど、様々なアプリケーションが存在します。

0 0
0 24

前回の記事では、pButtonsを使って履歴パフォーマンスメトリックを収集する方法を説明しました。 すべてのデータプラットフォームインスタンス(Ensemble、Cachéなど)にはpButtonsがインストールされていることがわかっているため、私はpButtonsを使用する傾向にありますが、 Cachéパフォーマンスメトリックをリアルタイムで収集、処理、表示する方法はほかにもあり、単純な監視や、それよりもさらに重要な、より高度な運用分析とキャパシティプランニングに使用することができます。 データ収集の最も一般的な方法の1つは、SNMP(簡易ネットワーク管理プロトコル)を使用することです。

0 0
0 261

この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けていくつかの可能性のあるアプローチをを紹介し、議論したいと思います。 今回は以下のようなトピックを取り上げます。

0 0
0 437

これはInterSystems FAQ サイトの記事です。

コンソールログ(message.log/cconsole.log)に、以下のようなログが出力される場合があります。

MM/DD/YY-hh:mm:ss:sss (pid) 2 CP: Pausing users because the Write Daemon has not shown
signs of activity for xxx seconds. Users will resume if Write Daemon completes a
pass or writes to disk (wdpass=yyyy).


このメッセージは、コントロールプロセスが出力しています。
このプロセスは、ライトデーモン(WriteDaemon)等の主要なシステムプロセスを監視しています。

0 0
0 292

これはInterSystems FAQ サイトの記事です。

2つのステップにて作業します。

クラス定義の移行

クラス定義を別システムへ移行するため、XML形式またはUDL形式(拡張子.cls)のファイルにエクスポートします。

スタジオでのエクスポート手順は以下の通りです。

[ツール] > [エクスポート]

> [追加]ボタンで移行したいクラスを複数選択

> [ローカルファイルにエクスポート]にチェック

> ファイルの種類がXMLであることを確認し、ファイル名を入力し、[OK]

この後、別システム上のスタジオで、エクスポートしたXML、UDLファイルをインポートします。

この手順で、クラス定義は移行できます。

スタジオでのインポート手順は以下の通りです。

[ツール] > [ローカルからインポート]

> 上記手順で出力したXML、UDLファイルを指定します。

0 0
0 269

これは、InterSystems FAQサイトの記事です

Windowsでは、以下イメージ名のプロセスを監視対象としてください。

[irisdb.exe]
重要なシステムプロセスが含まれています。
※ 監視対象にすべき重要なシステムプロセスを確認する方法は、添付をご参照ください。

[IRISservice.exe]
IRISインスタンスをサービス経由で扱う為のプロセスになります。
このプロセスが終了すると、IRISインスタンス自体には直接影響はありませんが、IRIS の停止(サービスの停止)ができなくなります。

0 0
0 1.7K

以前紹介した記事 (お読みいただいたでしょうか) では、GitHub とパーフェクトに統合する CircleCI のデプロイシステムについてカバーしました。 なのにどうしてさらに掘り下げる必要があるのか? それは、GitHub には GitHub Actions という独自の CI/CD プラットフォームがあり、詳しく見ておく価値があるからです。 GitHub Actions を使えば、外部のサービスを使用する必要はありません。

この記事では、GitHub Actions を使って InterSystems Package Manager のサーバー部分である ZPM-registry を Google Kubernetes Engine (GKE) にデプロイする、ということを試したいと思います。

0 0
0 426

これはInterSystems FAQ サイトの記事です。

SELECT のみを実行できるユーザを作成するには、ユーザかロールに対してテーブルへのアクセス権限を設定することで対応できます。

設定は、管理ポータルか、GRANT 文を実行することで設定できます。GRANT 文については、以下ドキュメントもご参照ください。
InterSystems SQL リファレンス - GRANT【IRIS】
CachéSQLリファレンス - GRANT

管理ポータルでの設定は、ユーザまたはロールの編集画面内「SQLテーブル」タブを使用します。

0 0
0 415

これは、InterSystems FAQサイトの記事です。

以下に当てはまる場合、差分バックアップではなくフルバックアップが取られます。

・リストの中に1つでもフルバックアップを取っていないデータベース(DB)が含まれるとき
・リストの中に読み込み専用のDBが含まれるとき
 →読込専用DBはバックアップが取れないため、対象リストのDBは毎回フルバックアップが取られます

ReadOnlyマウントしたDBをバックアップしようとすると、以下のようなログが出力されます。

WARNING - the following directories could not be backed up 
 c:\intersystems\ensemble\mgr\xxx\ (Database is readonly)


読込専用DBはバックアップリストから除く必要があります。

もし、読込専用DBをバックアップする場合は、別途バックアップする必要があります。

0 0
0 148

これは InterSystems FAQ サイトの記事です。

データベース暗号化は、ディスクヘの書き込みまたはディスクからの読み取りで暗号化と復号が実行されるため、アプリケーションのロジックに手を加える必要はありません。

この機能のドキュメントについては、以下ご参照ください。

マネージド・キー暗号化【IRIS】

マネージド・キー暗号化


暗号化データベース作成までの流れは、以下の通りです。

(1) 暗号化キーの作成

0 0
0 180

これは InterSystems FAQ サイトの記事です。

クラス定義のプロパティの表示順は、スタジオのプロパティウィザードを利用して登録した場合は、末尾に追記されます。

また、エディタ上の任意の場所でプロパティ定義文を記述する場合は、その場所に追記され、クラス定義が登録されます。


つまり、定義者が記述した順番に登録されます。

(スタジオが並び換えを行ったりはしません。)

作成したクラス定義が、PersistentやSerialのようにデータベースに格納する属性を持ったクラス定義である場合、”初回のコンパイル”で クラス定義に対応するグローバル変数の定義情報=ストレージ定義を作成します。

初回コンパイル以降に、プロパティ定義の追加が行われれば、そのプロパティに対応するグローバル変数のスロット番号を、末尾に追加し、ストレージ定義を更新します。

以下の例は、クラス定義に対応するストレージ定義の例です。

(初回コンパイル時の状態)

0 0
0 119

これは InterSystems FAQ サイトの記事です。

下記のWebゲートウェイのエラーメッセージ/システム応答に対して、個別のエラーページを設定することができます。

  • サーバエラー
  • サーバビジー
  • サーバが利用可能ではありません
  • サーバタイムアウト
  • 接続が閉じられました

設定は、Webゲートウェイ管理画面( [管理ポータル] > [システム管理] > [構成] > [Webゲートウェイ管理] )で行います。

[デフォルトパラメータ] メニュー内の [エラーページ] セクションで、各エラー発生時に表示させるhtmlページのファイル名またはリダイレクトさせるURLを設定します。

0 0
0 191
記事
· 2021年2月24日 3m read
ECPはどのように使うのが正しい?

以下のドキュメントでご紹介しています通り、ECPは分散キャッシュ用のアプリケーションサーバーを並列に増設することで、処理量に応じてスケールアウトすることを主目的として設計されています。

ECP機能紹介

従ってインターシステムズデータプラットフォーム上で稼働する複数のアプリケーション間の簡便なデータ交換手段としてECPをご使用いただくことは推奨していません。

以下その理由についてご説明します。

データ量の増加、処理量の増加に伴いスケーラビリティに関する要件も今後益々厳しくなる中、将来にわたってより良いスケーラビリティ性能を得られるようインターシステムズの開発部門は、より良いアルゴリズムの開発や処理のチューニングをECPに対して継続的に行っております。


その成果は順次最新バージョンに反映していきます。

0 0
0 308

これは InterSystems FAQ サイトの記事です。

InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。

(%ZSTARTルーチンは%SYSネームスペースで作成します)

SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。

^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。

詳しくは、以下ドキュメントをご参照ください。

0 0
0 177

これはInterSystems FAQ サイトの記事です。

ファイルサイズを取得する専用メソッドはありませんが、%Net.FtpSession クラスの sendCommand() メソッドを通してFTPのSIZEコマンドを呼び出し、サイズを取得できます。

簡単な利用例をご紹介します。

まず、以下の様なクラスを定義します。

0 0
0 223

これは InterSystems FAQ サイトの記事です。

ジャーナルレコードの「時間」には、ジャーナルバッファを初期化したときの時間が登録されています。

ジャーナルレコードの時間は、ジャーナルバッファ毎に記録されているため、同じジャーナルバッファ内のジャーナルレコードはすべて同じ時間になります。

なお、ジャーナルバッファは、64KBのサイズで255個存在していて、1つのジャーナルバッファが満杯になった場合、次のジャーナルバッファへレコードを追加するように順番に使用されます。

ジャーナルレコードの時間は、次のバッファへレコードを追加する前に行われる初期化の時間が記録される仕組みになっています。

0 0
0 106

これは InterSystems FAQ サイトの記事です。

ジャーナル切り替えのタスクが実行時にエラー(例:FILEFULL)となり、その原因となるエラーを解消後も一時停止(Suspend Leave)状態となっているのであれば、以下の操作により復旧可能です。

管理ポータル: [システムオペレーション] > [タスクマネージャ] > [タスクスケジュール表示] より、以下の操作を行います。

  1. ジャーナル切り替え(Switch Journal) "詳細" をクリック
  2. "一時停止" をクリック
  3. タスク実行が一時停止された場合にタスクを再スケジュールしますか? はい
  4. "すぐに実行する" をクリック
  5. "再開" をクリック
  6. "すぐに実行する"

タスク詳細にて "一時停止:"が空欄になり、"次回スケジュール時刻:" が再開後の次のスケジュール(例えば2021-04-17 00:00) になっていれば、復旧完了です。

0 0
0 216

これは InterSystems FAQ サイトの記事です。

InterSystems Data Platformは、データベースキャッシュやルーチンキャッシュなどの共有メモリを、起動時に割り当てます。

バージョン2007.1以降をWindows上で動作させる際、Windows特有の共有メモリに関する問題が生じることが判明しています。

詳細については、以下の技術資料をご参照ください。

Windows上での共有メモリの割り当てについて

また、以下の記事もあわせてご覧ください。

0 0
0 383
記事
· 2021年6月1日 1m read
OSのコマンドを実行する方法

これは InterSystems FAQ サイトの記事です。

OSのコマンド実行する場合、$ZF(-100) を使用します。

do $ZF(-100,"",program,args) // Windows コマンドを【同期】実行します。
do $ZF(-100,"/ASYNC",program,args) // Windows コマンドを【非同期】実行します。


mkdir, copy などのOSシェルコマンドを実行する場合は、/SHELL もあわせて指定します。

do $zf(-100,"/shell /async","mkdir","c:\temp\x")

詳細は以下のドキュメントを参照してください。

0 0
0 243

はじめに

近年、オープン認証フレームワーク(OAuth)を使って、あらゆる種類のサービスから信頼性のある方法で安全かつ効率的にリソースにアクセスするアプリケーションが増えています。 InterSystems IRIS はすでに OAuth 2.0 フレームワークに対応しており、事実コミュニティには、OAuth 2.0 と InterSystems IRIS に関する素晴らしい記事が掲載されています。

しかし、API 管理ツールの出現により、一部の組織はそのツールを単一の認証ポイントとして使用し、不正なリクエストが下流のサービスに到達するのを防ぎ、サービスそのものから承認/認証の複雑さを取り除いています。

0 0
0 138