#InterSystems IRIS for Health

0 フォロワー · 926 投稿

InterSystems IRIS for Health™は、世界で最も重要なデータを管理する医療アプリケーションの迅速な開発を目的に特別に設計された世界初、かつ唯一のデータプラットフォームです。 トランザクションの処理と分析、拡張可能な医療データモデル、FHIRベースのソリューション開発、医療情報の相互運用性に関わる標準規格への対応など、すぐに使える強力な機能を搭載しています。 これらすべての機能により、開発者は価値を実現し、画期的なアプリケーションをすばやく構築することができます。 詳細はこちらをご覧ください

記事 Tomohiro Iwamoto · 6月 8, 2020 24m read

VMware vSphereで実行する大規模な本番データベースのCPUキャパシティプランニングについて、お客様やベンダー、または社内のチームから説明するように頼まれることが良くあります。 

要約すると、大規模な本番データベースのCPUのサイジングには、いくつかの単純なベストプラクティスがあります。 

  • 物理CPUコア当たり1つのvCPUを計画する。 
  • NUMAを考慮し、CPUとメモリをNUMAノードに対してローカルに維持できるようVMの理想的なサイズを決定する。 
  • 仮想マシンを適正化する。 vCPUは必要な場合にのみ追加する。 

このことから、通常いくつかの一般的な疑問が生まれます。 

  • ハイパースレッディングにより、VMwareでは物理CPUの2倍の数でVMを作成できます。 これはキャパシティが2倍になるということか? できるだけ多くのCPUを使ってVMを作成すべきではないのか? 
  • NUMAノードとは? NUMAに配慮する必要があるのか? 
  • VMを適正化する必要があるが、どうすれば適正化されたことがわかるのか? 

こういった疑問につては、下の例を使って答えることにします。 ただし、ベストプラクティスは決定事項ではありません。 ときには妥協することも必要です。 たとえば、大規模なデータベースVMはNUMAノードに収まらない可能性が高く、それはそれでも良いのです。

0
0 12324
記事 Mihoko Iijima · 11月 12, 2020 3m read

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

システムルーチン ^DBSIZE を利用するとバックアップファイルサイズを見積もることができます(メモ1もご参照ください)。

^DBSIZE は、データベース・バックアップ・リストに選択されたデータベースを対象に、フルバックアップ/累積バックアップ/差分バックアップそれぞれのファイルサイズを見積もります。

なお、データベース・バックアップ・リストは、管理ポータルの [システム管理] > [構成] > [データベースバックアップ] > [データベース・バックアップ・リスト] から作成します。

 

詳細については、下記ドキュメントもご参照ください。

^DBSIZEによるバックアップ・サイズの見積もり【IRIS】

^DBSIZEによるバックアップ・サイズの見積もり

 

実行例は、以下の通りです。

USER>set $namespace="%SYS"   //または zn "%SYS"
 
%SYS>do ^DBSIZE
 
               Incremental Backup Size Estimator
 
 
What kind of backup:
   1. Full backup of all in-use blocks
   2. Incremental since last backup
   3.
0
0 371
記事 Hiroshi Sato · 3月 3, 2021 5m read

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

InterSystems製品を停止しないバックアップ方法は、3種類あります。


① 外部バックアップ
② オンライバックアップ
③ レガシー並行外部バックアップ

 

各詳細については、以下ドキュメントをご参照ください。


バックアップ方法について【IRIS】
バックアップ方法について
それぞれの特徴について、簡単に解説します。

① 外部バックアップ
外部バックアップでは、SANシステム等のストレージ機能を利用して、データベースファイル(InterSystems IRIS の場合は IRIS.DAT、Caché/Ensemble/HealthShareの場合は CACHE.DAT)のスナップショットを作成する間だけ、データベースへの書き込みを停止させます。
スナップショット作成中は、データベースへの書き込みは停止されますが、ユーザ・プロセスによるメモリ内の更新は引き続き実行できます。
しかし、スナップショット機能がなく、バックアップ対象のデータベースを、退避エリアにコピーするような場合、データベースファイル(*.DAT)のファイルサイズが大きければ大きい程、コピーに時間がかかります。
コピーに時間がかかれば、データベースへの書き込み停止時間も長くなります。

0
0 1015
記事 Mihoko Iijima · 4月 22, 2021 4m read

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

ルーチン(*.mac)の場合

ソースプログラムのコンパイル後に生成される *.obj のみをエクスポート/インポートすることでソースの隠蔽化を実現できます。

コマンド実行例は、EX1Sample.mac と EX2Sample.mac のコンパイルで生成される EX1Sample.obj と EX2Sample.obj をエクスポート対象に指定し、第2引数のファイルにエクスポートしています。

別ネームスペースに移動したあと、エクスポートした XML ファイルを利用してインポートを実行しています。

USER>do $system.OBJ.Export("EX1Sample.obj,EX2Sample.obj","/opt/app/routine.xml")

XMLエクスポートの開始 04/22/2021 18:18:32
オブジェクトコードをエクスポート中: EX1Sample.obj
オブジェクトコードをエクスポート中: EX2Sample.obj
エクスポートが正常に完了しました。 

USER>zn "test"  // ネームスペース移動

TEST>do $system.OBJ.Load("/opt/app/routine.
0
0 317
記事 Tomoko Furuzono · 6月 29, 2021 3m read

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

IRISのターミナルスクリプトを使用することで、コマンドラインからの入力作業なしで IRIS のユーティリティを実行することが可能になります。

また、IRISのルーチンやクラスをWindows のバッチファイルで実行する場合(irisコマンドで実行)は、「認証なし」もしくは「オペレーティングシステム認証」を指定していただく必要がありますが、パスワード認証のみしか使用できないような場合に、ターミナルスクリプトを使用して実行することができます。

ターミナルスクリプトを使用する場合、Telnetサービス(%Service_Telnet)を有効にしていただく必要があります。
手順は、以下のようになります。

--------------------------------------------------------------------------------------------

iristerm.exeを使用します。
これはプロンプトが返ってきてユーザが入力を必要とするもの(例えば^%GSIZEなど)にも有効です。
詳細は以下をご覧ください。import.scrの中身を変更することであらゆるIRISのユーティリティの実行に使用できます。

1. トピック下部にあるサンプル import.scr を、適当なディレクトリに配置して下さい。

0
0 929
記事 Hiroshi Sato · 10月 12, 2021 2m read

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

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

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

Class MyNet.FtpSession Extends %Net.FtpSession
{ Method getSize(fname As %String, ByRef size As %Integer)
{
set type=..Type  // 現Typeを保存しておく
do ..Binary()
set st=..sendCommand("SIZE "_fname) //SIZE <file name>
set size=..ReturnMessage
if type="Ascii" {
do ..Ascii()
}
quit
} }

上記で作成したクラスを使用したサンプルコードです。 

 set ftp=##class(MyNet.FtpSession).%New()
 write ftp.Connect(ftpsrv,user,pass)  // FTPサイトへ接続ができると1が返ります。
 do
0
0 373
記事 Hiroshi Sato · 12月 21, 2021 1m read

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

監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。


サンプルコードは以下のようになります。

 Set statement=##class(%SQL.Statement).%New()  
 Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
 Set rs=statement.%Execute()  
 Set tab = $char(9)
 While rs.%Next() {    
   Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
}
0
0 271
記事 Toshihiko Minamoto · 5月 17, 2022 9m read

はじめに

前の記事では、ObjectScript Package Manager を使用してユニットテストを実行するためのパターンについて説明しました。 この記事では、さらに一歩踏み込み、GitHub Actions を使用してテストの実行とレポート作成を行います。 私の Open Exchange プロジェクトの 1 つである AppS.REST に CI を実行するのが、やる気の出るユースケースでしょう(この導入編の記事は、こちらにあります)。 この記事のスニペットが使用されている完全な実装は、GitHub でご覧ください。ObjectScript Package Manager を使って他のプロジェクトで CI を実行するためのテンプレートとして簡単に利用できます。

紹介する実装の機能は以下のとおりです。

  • ObjectScript パッケージの構築とテスト
  • codecov.io によるテストカバレッジ測定のレポート(TestCoverage パッケージを使用)
  • テスト結果に関するレポートのビルドアーティファクトとしてのアップロード

ビルド環境

GitHub Actions に関する完全なドキュメントはこちらにあります。この記事の目的に準じ、この例で紹介される側面だけを詳しく確認します。

0
0 210
記事 Megumi Kakechi · 8月 30, 2022 4m read

これは InterSystems FAQ サイトの記事です。
InterSystems IRIS Data Platform(以下IRISと表記)ではマルチモデルのサポートにより、データに対して様々なアクセス手法を使用することができます。

主だったアクセス手法としてダイレクトアクセスSQLアクセスオブジェクトアクセスがあります。
 

ダイレクトアクセス は、IRISのネイティブ構造であるグローバルと呼ばれるキーバリュー型のデータに直接アクセスする方法です。

SQLアクセス は、リレーショナルデータベースシステムにアクセスするための標準言語であるSQLを使用してデータにアクセスする方法です。

オブジェクトアクセス は、オブジェクト指向言語でオブジェクトを操作するための表記法として幅広く利用されるドット記法を使用してデータにアクセスする方法です。


ダイレクトアクセスとSQLアクセスおよびオブジェクトアクセスでは、処理の抽象度が異なります。

抽象度が高くなるに伴い、内部的な処理のオーバヘッドが増加するため、単純な1スレッド単位でのアクセススピードの速さについては、ダイレクトアクセスが、SQLアクセスとオブジェクトアクセスに比較して速い場合が多いです。

しかしながら、今後SQLアクセスに関してより高速に処理できるよう様々な開発が進行中です。

0
0 515
記事 Megumi Kakechi · 2月 27, 2023 2m read

Question:

Windows環境にて、新規サーバにWebゲートウェイ(Web Gateway)をインストールしたところ「HTTP Error 503. The service is unavailable.」エラーで接続ができません。
対処法を教えてください。
 

Answer:

IRIS2022.1以降のバージョンでは、Visual Studio 2015 Visual C++ 再頒布可能パッケージ(64bit) のインストールが必須となりました。
IRISをインストールされているお客様は、IRISのインストール時に VC++ 2015 再頒布可能パッケージもインストールされるため気にする必要はありませんが、Webゲートウェイのみインストールされる場合は別途インストールする必要があります。

VC++ 2015 再頒布可能パッケージをインストールしていない環境に Webゲートウェイのみインストールした場合、Webゲートウェイ管理ページ(http://localhost/csp/bin/Systems/Module.cxw)にアクセスすると、
 Service Unavailable / HTTP Error 503. The service is unavailable.

0
0 320
記事 Megumi Kakechi · 5月 1, 2023 6m read

IRISTEMPというデータベースをご存じでしょうか?

特定の処理に対してデータを無期限に保存する必要がなく、「同一プロセス内でのみ使用したい場合」や「IRISが起動中のみ使用したい場合」に、IRISTEMPデータベースに保存されるグローバルを使用できます。
IRISTEMPデータベースに保存されるグローバルに対する操作は ”一切ジャーナルされない” ため、効率性を最大限にしたい作業に使用できます。

IRISTEMPデータベースに保存されるグローバル(データ)には、以下の種類があります。

------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.    システムテンポラリグローバル(IRISが起動中は全ネームスペース&プロセスからアクセス可能)
2.    プロセスプライベートグローバル(同一プロセス内でのみ、全ネームスペースからアクセス可能)
3.    GLOBAL TEMPORARY テーブル(テーブルは全ネームスペース、データは各プロセスでアクセス可能)
4.

0
1 320
記事 Toshihiko Minamoto · 7月 24, 2023 8m read

Python は世界で最も使用されているプログラミング言語になり(出典: https://www.tiobe.com/tiobe-index/)、SQL はデータベース言語としての道をリードし続けています。 Python と SQL が連携して、SQL だけでは不可能であった新しい機能を提供できれば、素晴らしいと思いませんか? 結局のところ、Python には 380,000 を超える公開ライブラリがあり(出典: https://pypi.org/)、Python 内で SQL クエリを拡張できる興味深い機能が提供されています。 この記事では、Embedded Python を使用して、InterSystems IRIS データベースに新しい SQL ストアドプロシージャを作成する方法を詳しく説明します。

サンプルとして使用する Python ライブラリ

この記事では、IRIS で SQL を扱う人にとって非常に便利な GeoPy と Chronyk という 2 つのライブラリを使用します。 

Geopy は、ジオコーディング(住所と地理座標の修飾)を住所データに適用するために使用するライブラリです。 これを使用すると、通りの名前から郵便番号と完全な住所を郵便局の形式で取得することができます。 多くのレコードには住所が含まれるため、非常に便利です。

0
0 427
記事 Megumi Kakechi · 1月 25, 2024 2m read

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

こちらの記事 では、HTMLのフォームからRESTを使って画像ファイルをアップロードする方法をご紹介しました。

お客様からは、ダウンロードする方法もあわせてお問い合わせいただくことがあるため、この記事では両方の方法に加え、イメージファイル以外にも対応したサンプルをご紹介します。

サンプルでは、HTMLのフォームから IRIS REST API を呼び出してファイルの「アップロード/ダウンロード」を行っています。


【手順】

  1. ファイルの選択 ボタン押下でアップロードするファイルを選択する。
  2. upload ボタン押下で、ファイルをREST通信によりIRISサーバにアップロードする。
  3. アップロードされたデータを %request.MimeData で受け取り、サーバの「C:\temp\upload」に保存する。
  4. Download File リンクを押下し、3 のフォルダに保存したファイルをローカルにダウンロードする。


サンプルプログラムの使い方は次のとおりです。

  1. User.REST.cls(またはUser.REST.xml) をUSERネームスペースにインポートする
  2. IRISサーバでRESTの設定を行う。ウェブアプリケーション:/csp/user/rest、ディスパッチクラス:User.
0
0 309
InterSystems公式 Masahito Miura · 5月 2, 2024 1m read

警告:"NOT %INLIST" を使用した SQL クエリが結果を返さない

インターシステムズは、一部の SQL クエリが不正な結果を返す原因となる 3 つ
の不具合を修正しました。 影響を受けるクエリの詳細については、以下を参照し
てください。

この問題は、以下の製品のリストにあるバージョンに存在します:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health™
  • HealthShare® Health Connect

同様に上記製品をベースとしたその他のインターシステムズ製品

影響を受けるバージョン:

  • 2021.1.3, 2021.1.4
  • 2022.1.3, 2022.1.4
  • 2023.1.0, 2023.1.1, 2023.1.2, 2023.1.3
  • 2024.1.0

以下の条件を満たすクエリで、誤った結果を返す可能性があります:
    WHERE 節に NOT %INLIST が含まれている
    そのリストに NULL 値がある

この不具合の修正は DP-430793 で解決します。この修正は、2022.1.5、2023.1.4、2024.1.1
以降のすべてのバージョンに含まれる予定です。修正はアドホックによる配布でも可能です。

0
0 127
記事 Megumi Kakechi · 7月 28, 2024 2m read

これは InterSystems FAQ サイトの記事です。
通常SQLCODE -114(一致する行が既に別のユーザにロックされています)のエラーはロックが競合した場合に発生します。

こちらはレコードロック競合があったり、ロック閾値を超える更新を行いテーブルロックに昇格した際に、そのテーブルレコードに対して別のプロセスよりSelectを行い共有ロックを取ろうとして失敗した(ロック待ちがタイムアウトとなった)場合に発生します。

Selectで共有ロックを取る場合というのは、IRIS の ISOLATION LEVEL がREAD COMMITTED(デフォルトはREAD UNCOMMITTED)で、Selectを行った場合です。

例:Sample.Personテーブルにテーブルロックがかかった状態で以下を実行する場合

USER>:sql
SQL Command Line Shell
----------------------------------------------------
 
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
0
0 186
記事 Mihoko Iijima · 12月 24, 2024 3m read

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

イベントログの削除には、Ens.Util.LogクラスのPurge()メソッドを使用します。実行時以下の引数を指定します。

第1引数:削除数(参照渡し)

第2引数:保持日数(デフォルト7)

 

メッセージの削除には、2種類の方法があります。

1) 2022.1.2以降の導入されたマルチプロセスで削除する方法

Ens.Ens.Util.MessagePurgeクラスのPurge()メソッドを使用します。実行時以下の引数を指定します。

第1引数:削除数(参照渡し)

第2引数:保持日数(デフォルト7)

第3引数:1を指定(Completeではないメッセージの削除を防止するための指定)

第4引数:メッセージボディも一緒に削除する場合は1を指定

第5引数:デフォルトは500(秒)が設定されていますが、大量のメッセージをパージするとクリアされたビットマップの最適化に時間を要して最適化が完了しない場合があるため、大量削除の場合は 10000000000など大きな値を指定します。

2) Ens.MessageHeaderクラスのPurge()メソッドを使用する方法。

実行時以下の引数を指定します。

0
0 73
記事 Tomoko Furuzono · 3月 23, 2025 1m read

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

クライアントーサーバ接続を担当するスーパーサーバで、SSLバージョン3とTLSバージョン1での通信が可能です。
このオプションを利用することで、通信上のデータを暗号化できます。

その他、Kerberosを使うことで通信上の暗号化も可能です。

0
0 55
記事 Megumi Kakechi · 7月 6, 2025 2m read

これは InterSystems FAQ サイトの記事です。
各InterSystems製品のサポートOS情報は、製品ドキュメントの「サポートプラットフォーム」情報で確認できます。

製品ドキュメントは、弊社ホームページ > サポート > ドキュメント よりご確認いただけます。

確認したい製品バージョンのドキュメント(例えば、InterSystems IRIS Version 2025.1)を開いていただき、「サポート対象プラットフォーム」リンクからご確認いただけます。

 

     ↓↓↓ 

 


※Cache & Ensemble の場合は(例えば、Cache & Ensemble Version 2018.1)、ドキュメント上部の Supported Platforms リンク 

※過去のバージョンは、
IRIS:
InterSystems IRIS 過去一覧 > バージョン > Supported Platforms > サポート対象プラットフォーム
Cache:
Caché & Ensemble 過去一覧 > バージョン > Supported Platforms > サポート対象プラットフォーム 各OSをサポートするInterSystems製品の一覧は用意しておりませんので、製品バージョンごとのサポートOSをご確認いただく必要があります。 例:
IRIS 2025.

0
1 65
記事 Megumi Kakechi · 8月 4, 2025 2m read

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

Webゲートウェイ管理ページで、サーバ毎の最大接続数を設定したり、最大接続に達した場合に待ち時間(キュー)や静的なビジーページを設定することが可能です。

実際にサーバに接続する最大接続数を設定すると、それに達した場合に待ち時間(キュー)で設定した秒数待って、それを過ぎても接続数に空きが出なかった場合に、静的なビジーページに移行するような設定が可能となります。

設定箇所は以下になります。
※Webゲートウェイ管理ページ:
例(URLは環境・バージョンによって変わります):
http://<webserver>/<instancename>/csp/bin/Systems/Module.cxw
 

★全サーバに適用される設定(デフォルトパラメータ)

サーバ単位の個別の設定がない場合は、こちらの設定が適用されます。

構成 > デフォルトパラメータ

最大接続:各サーバの合計接続数の最大数(既定:1024)。

0
1 72
記事 Mihoko Iijima · 12月 25, 2025 2m read

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

InterSystems 製品の内部日付時刻($HOROLOG)を利用して時刻を取得している場合、オペレーティング・システムが提供するアルゴリズムに基づいて季節的な時刻調整を行います。

そのため、オペレーティングシステムにてサマータイムの調整が行われる場合は、InterSystems 製品は、オペレーティングシステムで対応したサマータイム時刻で動作します。

注意点としては、$HOROLOG 値が大きく変更されるケースもあるため、時刻比較やこの値をキーにしたアプリケーションの処理などがもしある場合は、その変更を考慮していただく必要があります。

ご参考:「ローカル時刻調整のしきい値

なお、$NOW() 関数を使用して内部日付時刻を取得している場合は、オペレーティングシステムのサマータイムの調整に対応していませんのでご注意ください。

$NOW() 関数は、$ZTIMEZONEの値を使用してローカル時刻を決定しています。
$ZTIMEZONEは1年を通して連続的で、サマータイム(DST)などのローカル時刻の調整に対応していないためです。

また、小数点以下を含むタイムスタンプ値をサマータイム対応済のローカル時刻で取得したい場合、$HOROLOG では対応できませんので、以下の2つ方法のどちらかを利用して取得します。

0
0 57
記事 Mihoko Iijima · 7月 7, 2020 11m read

私たちのほとんどは、多かれ少なかれDockerに慣れ親しんでいます。 Dockerを使用している人たちは、ほとんどのアプリケーションを簡単にデプロイし遊んで、何かを壊してしまってもDockerコンテナを再起動するだけでアプリケーションを復元できる点を気に入っています。  

InterSystems も Docker を気に入っています。

InterSystems OpenExchange プロジェクトには、InterSystems IRISのイメージを簡単にダウンロードして実行できるDockerコンテナで実行するサンプルが多数掲載されています。また、Visual Studio IRISプラグインなど、その他の便利なコンポーネントもあります 。

特定のユースケース用の追加コードを使ってDockerでIRISを実行するのは簡単ですが、ソリューションを他のユーザーと共有する場合は、コマンドを実行し、コードを更新するたびに繰り返し実行するための何らかの方法が必要になります。 この記事では、継続的インテグレーション継続的デリバリー (CI / CD)を使ってそのプロセスを簡素化する方法を説明します。

セットアップ

まず、IRISをベースにしたシンプルなREST APIアプリケーションから紹介します。

0
0 268
記事 Mihoko Iijima · 10月 25, 2020 2m read

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

%Net.HttpRequest クラスの SSLConfiguration プロパティに SSL/TLS 構成の「クライアント」構成名が指定されているかご確認ください。

%Net.HttpRequest クラスを使用して、https の url にアクセスするためには、以下のドキュメントに記載されている SSL/TLS 構成 の「クライアント」構成を作成して指定した名前を SSLConfiguration プロパティに指定する必要があります。

SSL/TLS構成のクライアント構成方法

管理ポータルの [システム管理] > [セキュリティ] > [SSL/TLS構成] メニューを開き、「構成名」に任意名を設定し、「保存」ボタンをクリックします(そのほかの構成パラメータは、デフォルト値で作成します)。

 

実行例は以下の通りです(https://www3.nhk.or.jp/news/ にアクセスしています)&#12290;

set httprequest=##class(%Net.HttpRequest).%New()
set httprequest.Https=1
set httprequest.Server="www.nhk.or.jp"
set httprequest.
0
0 538
記事 Mihoko Iijima · 12月 1, 2020 2m read

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

プログラムでロック情報を取得するには以下2種類の方法があります。

  1. %SYS.LockQuery クラス を使用する方法
  2. SSVN(構造化システム変数)を使用する方法

1.  %SYS.LockQuery クラス を使用する方法

 #dim rset As %SQL.StatementResult
 set stmt=##class(%SQL.Statement).%New()
 set st=stmt.%PrepareClassQuery("%SYS.LockQuery","List")
 set rset=stmt.%Execute()
 while rset.%Next() {
   write !,rset.%Get("FullReference")
   write !,rset.%Get("Owner")
   write !,rset.%Get("DelKey"),!
 }

より詳細なロック情報を取得する場合には List クエリではなく Detail クエリを使用します。

set st=stmt.%PrepareClassQuery("%SYS.LockQuery","List")  を

set st=stmt.%PrepareClassQuery("%SYS.

0
0 386
記事 Megumi Kakechi · 2月 8, 2021 1m read

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

システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い
  ”通常時と比較して、どこがどの程度変わっているか”
を確認することで、問題のある箇所を特定できます。
(逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。)

いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。


収集情報詳細は、以下のドキュメントをご参照ください。

パフォーマンス調査ガイド

ガイド内でご紹介しているサンプルは、https://github.com/Intersystems-jp/performance-sample からダウンロードいただけます。


パフォーマンス低下時の情報収集ツールについては、以下の関連FAQトピックをご参照ください。

【FAQ】パフォーマンス低下時の情報収集ツールについて教えてください。

0
0 178
記事 Mihoko Iijima · 5月 23, 2021 2m read

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

仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

複雑なメッセージ構造から必要な項目を抽出して処理する際、メッセージを InterSystems IRIS data platform のオプジェクト指向フレームワークに基づき一度オブジェクトとしてインスタンス化することで処理を簡潔に記述できます。

しかし、データ量の多いメッセージを解析しオブジェクトにインスタンス化する処理は非常に負荷のかかる処理で、しかも大量のメッセージを処理しなければならない場合は求められるスループットを満たせない状況になりがちです。

しかも必要なデータは「全体の中のほんの少し」という状況の場合、無駄の多い処理となります。

0
0 1105
記事 Hiroshi Sato · 7月 27, 2021 1m read

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

InterSystemsでサポートを保証するバージョンは、最小サポートバージョン(ミニマムサポートバージョン)となります。
最小サポートバージョンは、通常リリース後 2 年以内のバージョンになります。
保守契約のあるお客様には、最小サポートバージョンより前のバージョンに対しても技術的なご質問や障害時の対応は可能な限りさせていたいただきますが、その保守対応はベストエフォートとなり、深刻な問題に対してもそのバージョンに対応したワークアラウンドや修正(パッチ)のご提供が難しくなります。

そのような場合には、最新バージョンへのバージョンアップをお勧めいたします。

最小サポートバージョンについては、以下のドキュメントをご覧ください。

最小サポートバージョン

0
0 474
記事 Toshihiko Minamoto · 9月 16, 2021 10m read

はじめに

InterSystemsは最近、HL7バージョン2の相互運用性に焦点を当てた、IRIS for Health 2020.1のパフォーマンスとスケーラビリティのベンチマークを完了しました。 この記事では、さまざまなワークロードで観察されたスループットを説明し、IRIS for HealthをHL7v2メッセージングの相互運用性エンジンとして使用しているシステムの一般的な構成とサイジングのガイドラインを提供します。

0
0 252
記事 Hiroshi Sato · 10月 27, 2021 1m read

これは、InterSystems FAQサイトの記事です。
$system.SQL.Shell() を使用します。

以下にサンプルを示しますので参考にしてください。

 

SAMPLES>do $System.SQL.Shell()
SQL Command Line Shell
---------------------------------------------------- The command prefix is currently set to: <>.
Enter q to quit, ? for help.
SAMPLES>>select * from Sample.Vendor
1. select * from Sample.Vendor Vendor Balance Contact DaysClear DiscDays DiscRate LastInvDate LastPayDate MinPayment Name NetDays PayFlag TaxReportingAddress_City Address_State Address_Street Address_Zip
: ※最初の行で何も入力せずにEnterを押すと、複数行入力モードに切り替わります。
USER>d $SYSTEM.SQL.
0
0 782