お知らせ
· 2024年3月26日

バージョン2024.1:新機能紹介ウェビナー開催決定!(4月~6月)

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

InterSystems IRIS、InterSystems IRIS for Healthの新バージョン2024.1がリリースされました。

様々な機能の追加や実験的機能としての追加が行われましたが、その中から以下3種類の内容についてウェビナーを開催します!📣

✅4月23日(火)13時半~14時:IRIS 2024.1の管理用Webサーバ(PWS)廃止に備えて

お申込みは👉https://event.on24.com/wcc/r/4515226/1323ED7EECDC5A18B293BC2BCFDD3A9C

✅5月(日時、タイトル未決定):ベクトルサーチと$vector()について

✅6月(日時、タイトル未決定):FHIR新機能について(FHIRバリデーション、FHIR R5のサポート、FHIRオブジェクトモデルなど)

※5月、6月の開催日時・タイトルは後日お知らせします。

ご参考:リリース案内記事

ウェビナーでご案内する機能以外にも実験的機能も含め多くの機能が追加されていますので、以下簡単に概要をご紹介します。

現在日本語ドキュメントは鋭意翻訳中のため、仕上がるまでの間は英語ドキュメント(IRISリリースノートIRIS for Healthリリースノート)をご参照ください。


管理系

✔ マルチボリュームデータベース: スケーラビリティとストレージ管理の強化

下図はデータベース新規作成の画面ですが、設定項目に [New Volume Threshold Size] の項目が追加されました。
(ドキュメント:Configuring a Multivolume Database

この値を 0 より大きい値に設定した場合、DATが指定サイズを超えると指定フォルダ内に IRIS-000x.VOL というデータベースを作ります。(拡張ファイルとして指定サイズで区切ったデータベースファイルが作成できるようになりました)

 

✔ ファスト・オンライン・バックアップ(実験的機能): バックアッププロセスの合理化

以前より、外部バックアップ(Backup.GeneralクラスのExternalFreeze()/ExternalThaw()を利用する方法)と、オンラインバックアップを提供していますが、このリリースの実験的機能追加は「オンラインバックアップ」に対しての高速化とクラスAPIの用意です。(Bakcup.Onlineクラスが追加されました)

現段階では、Backup.Onlineクラスを利用したバックアップに対しての高速化が行われています。管理ポータルメニューからの実行やDBACKルーチンを利用した実行には影響がありません。お試しいただく場合は、Early Access Program(EAP)へのお申込みをどうそよろしくお願いします。

 

✔ 複数のスーパーサーバポート: ネットワーク構成の柔軟性を提供

お馴染みの1972番以外のポート番号をスーパーサーバポートとして追加できるようになりました。(JDBC/ODBC経由のアクセスがある時は別ポートでアクセス、など柔軟に対応できるようになりました)

設定は、管理ポータル > [システム管理] > [セキュリティ] > [Superservers] から行えます。
(ドキュメント:Managing SuperServers

52774のポートを追加した例:

 
JDBCでの接続の例

SQL

✔ JSON_TABLE関数、With句のサポート追加

(ドキュメント:JSON_TABLE (SQL)WITH (SQL))​​​​

JSON_TABLE()関数では、%Net.GetJson()を利用して外部サイトからの結果をそのまま使用することもできます。

例)zipcloudのAPIを使用した例です。

〒0790177で取得できる結果のJSONを使用しています(https://zipcloud.ibsnet.co.jp/api/search?zipcode=0790177

メモ:httpsを使用するため、%Net.GetJson()の第2パラメータに予め管理ポータルで設定したSSL/TLS構成名を指定しています。​

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

例では、”test” の名称で作成した構成名を指定しています。({"SSLConfigration":"test"})

SELECT address1,address2,address3,kana1,kana2,kana3,zipcode
  FROM JSON_TABLE(%Net.GetJson('https://zipcloud.ibsnet.co.jp/api/search?zipcode=0790177','{"SSLConfiguration":"test"}')
,
  '$.content.results'
    COLUMNS ( address1 VARCHAR(100) PATH '$.address1',
              address2 VARCHAR(100) PATH '$.address2',
              address3 VARCHAR(100) PATH '$.address3',
              kana1 VARCHAR(100) PATH '$.kana1',
              kana2 VARCHAR(100) PATH '$.kana2',
              kana3 VARCHAR(100) PATH '$.kana3',
              zipcode VARCHAR(10) PATH '$.zipcode')
  ) as jt
  ORDER BY address3

《結果》

 

✔ 安全なクエリ中止(CANCEL QUERY)

このリリースでInterSystems SQL に実行中のステートメントを中止し、実行により使用されていたメモリや一時領域などを安全に開放する新しいコマンド CANCEL QUERY が追加されました。

 

クエリパフォーマンスを向上させる機能強化

  • グローバルイテレータでは、ObjectScriptを使用せずに、インデックスおよびデータマップを参照する処理の多くをカーネル内部モジュールで実行します。
  • Adaptive Parallel Execution (APE; アダプティブ並列実行) フレームワークでカラムナーストレージを含むクエリに初めて対応しました。APEでは個別の並列サブクエリをプリペアして実行するのではなく、メインクエリとして同じクエリキャッシュクラスを並列ワーカーコードとして生成します。

 

Embedded Python

✔ Pythonランタイムが選択可能に(Windowsを除く)

Linuxベースの環境限定となりますが、管理ポータルでPythonランタイムを指定できるようになりました。(ドキュメント:Flexible Python Runtime Feature

管理ポータル > [システム管理] > [構成] > [追加の設定] > [メモリ詳細] > [PythonRuntimeLibrary]

PythonRuntimeLibrary構成設定詳細(英語)

 

✔ BPLエディタ内でPythonの記述が可能に

Interoprabilityで使用するビジネス・プロセスのエディタの1つであるBPLエディタ内のCodeアクティビティにEmbedded Pythonが記述できるようになりました。

 

✔ Python WSGI標準準拠のWebアプリが作成可能に(実験的機能)

IRISのインスタンス内部でEmbedded Pythonを使用して flask や Django などの WSGI 準拠フレームワークを実行することができるようになりました。

(ドキュメント:Creating WSGI Applications

WSGIのWebアプリの実行を指定するために、管理ポータルの以下メニューや用意されました。

管理ポータル > [システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション]

図の設定では、http://Webサーバ/flaskapp が指定されるとFlaskで記述している flasktest アプリケーションが呼び出されます。

メモ:例では、パスを通過した後に付与されるアプリケーション・ロールを指定しています。本来であれば適切なロールを用意し付与しますが簡易的に試すためフルアクセスできる%Allを付与しています)

この例のWebサーバ(localhost:8080)に対してパスを指定すると以下の画面が表示されます。画面でID番号を入力すると、指定IDを条件にIRISにあるテーブルに対してSELECT文が実行されレコードの中身が表示されます。

以下ご参考(コード例):

 
Pythonのコード
 
使用しているHTML
ディスカッション (0)1
続けるにはログインするか新規登録を行ってください