Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

Health Connect 2021.2 の新機能

このトピックでは、HealthShare® Health Connect の 2021.2 リリースの新機能と機能強化について説明します。2021.1 バージョンにはなかった 2021.2 の新機能を取り上げます。これは、Health Connect の最初の継続配布 (CD) リリースです。

相互運用性の向上

組み込み Python

Health Connect 2021.2 では、カーネルに完全に統合された Python が導入され、Python は ObjectScript と完全に対等の機能を持つようになりました。 クラス・メソッドの定義をはじめ、ObjectScript で可能な操作はほぼすべて Python でも実行できるようになりました。さらに、Python と ObjectScript を混在させることもでき、Python のコードを一切記述することなく Python ライブラリを ObjectScript から直接呼び出すことも可能です。Python では、数千もの高品質な事前構築済みライブラリを利用できるので、開発スピードを速め、メンテナンス・コストを削減できます。Python 開発者であれば、ObjectScript に精通していなくても、新しい言語を学ぶことなく開発を始めることができます。

あらゆる Health Connect オブジェクトを Embedded Python で作成してアクセスすることができます。

  • Embedded Python で実装したオブジェクトは、ObjectScript で実装したオブジェクトと同じように扱われます。

  • Embedded Python では、Python オブジェクトから ObjectScript オブジェクトにも、ObjectScript オブジェクトから Python オブジェクトにも完全に直接アクセスできます。

  • Embedded Python でグローバルに完全にアクセスすることができます。その際、グローバルは通常の Python オブジェクトとしてアクセスされます。Health Connect の永続化を使用してオブジェクトをデータベースに保存すると、明示的に削除しない限り、そのオブジェクトを今後のセッションで使用できます。

Embedded Python は Health Connect Python SDK を拡張します。この SDK には、クライアント・ライブラリと外部 Python ゲートウェイが含まれます。

Embedded Python の概要は、"組み込み Python の概要" を参照してください。

Note:

Embedded Python は、お使いのマシンにインストールされているどのバージョンの Python でも動作するように設計されています。

Microsoft Windows を実行している場合に、Python がまだインストールされていないときは、InterSystems IRIS インストール・キットによってインストールされます。

UNIX または Linux の多くのフレーバーには、Python がインストール済みの状態で付属します。Python をインストールする必要がある場合は、パッケージ・マネージャによってオペレーティング・システムに対して推奨されるバージョンを使用してください。以下に例を示します。

“Failed to load python” というエラーが表示される場合は、Python がインストールされていないか、予期されていないバージョンの Python がシステムにインストールされていることを意味します。上記のいずれかの方法で Python をインストールまたは再インストールしてください。

UNIX ベースのシステムでは、Python パッケージを pip3 コマンドでインストールできます。pip3 がまだインストールされていない場合は、システムのパッケージ・マネージャを使用して python3-pip パッケージをインストールしてください。

Python での相互運用プロダクション

このリリースでは、Production EXtension (PEX) フレームワークを使用して、相互運用プロダクションを Python で開発できます。このため、Python、Java、.NET、または ObjectScript でのプロダクションの開発を選択できます。異なる言語で開発された複数のプロダクション・コンポーネントを簡単に組み合わせることができます。他のプロダクション・コンポーネントが異なる言語で開発されていても、自身が精通した言語で開発できます。Python を PEX と共に使用すると、新しいプロトコル・アダプタの作成、複雑な分析や計算の実行、永続メッセージングや長期実行型のビジネス・プロセスの作成を行うことができます。詳細は、"外部言語によるプロダクションの開発" を参照してください。

Visual Studio Code ObjectScript Extension Pack の更新

Visual Studio Code ObjectScript Extension Pack は Visual Studio Code のダウンロード・ページOpens in a new tabから入手可能で、コードの開発を迅速化・容易化する以下の機能強化が含まれます。

  • ドキュメントの統合 — インライン・ドキュメントにカーソルを合わせて、クラス階層を参照したり、カスタム・クラスのドキュメントをプレビューしたりできます。

  • サーバ側のソースの改善 — さまざまなクライアント側の Web アプリケーション・ワークフローの検索とサポート。

  • デバッグ — オブジェクトのプロパティの検査と信頼性の向上。

この Extension Pack には、ObjectScript 拡張機能と Language Server 拡張機能が含まれます。詳細は、VSCode ObjectScript Extension のドキュメント (https://intersystems-community.github.io/vscode-objectscript/)Opens in a new tab を参照してください。

相互運用プロダクション内での最小限のコードでの SQL クエリの実行

このリリースでは、新しい SQL ビジネス・サービスとビジネス・オペレーションにより、SQL クエリをプロダクション内で簡単に実行できます。詳細は、"SQL ビジネス・サービスの使用法" および "SQL ビジネス・オペレーションの使用法" を参照してください。

クラウドと操作の向上

IKO の機能強化

このリリースでは、以下の新しい InterSystems Kubernetes Operator (IKO) 機能により、Kubernetes 内での Health Connect の導入と管理が容易になります。

  • IKO を使用すると、InterSystems System Alerting and Monitoring (SAM) および InterSystems API Manager (IAM) を Health Connect クラスタで導入・管理できます。これにより、システムの管理と拡張が容易になります。

  • IKO では、Health Connect および InterSystems Web ゲートウェイのロック・ダウン・コンテナを導入できます。

  • IKO では、InterSystems Web ゲートウェイ・コンテナを Nginx および Apache の Web サーバと共に導入できます。

  • IKO では、導入環境に一時ボリュームと永続ボリュームを含めることができます。

スピード、スケール、セキュリティの強化

適応型の SQL オプティマイザ

Health Connect SQL オプティマイザは、テーブル統計を利用して、ユーザが送信した文それぞれに最適なクエリ・プランを導出します。また、効率的なクエリ・キャッシュを使用して、生成されたコードを再利用します。このような文にパラメータが含まれる場合、実行時に送信される値により、代替クエリ・プランを使用して実行を高速化する機会が得られることがあります。このリリースで導入された新しい実行時プラン選択 (RTPC) インフラストラクチャにより、Health Connect SQL はこのような機会を確実に効率的に利用します。RTPC は、異常値が使われているかどうかスキャンし、より詳細なテーブル統計に基づいて値域条件の選択性を効率的に予想します。この結果、現実のデータセットの多くでクエリ・プランの適応性が向上し、実行時間と I/O が大幅に削減されます。

さらに Health Connect は、フル・スキャンまたは行ベースのスキャンではなく、ブロック・レベルのサンプリングを使用して、オプティマイザが使用するテーブル統計を収集するようになりました。この効率的なアルゴリズムにより、数十億行が含まれる最大級のテーブルでも、数秒で統計を収集できます (例えば、TUNE TABLE コマンドを使用)。また、Health Connect SQL は、適切なクエリ・プランを保証するものがテーブルにない場合、テーブル統計をその場で収集するようになります。

ストレージの節約

このリリースでは、ストリームとジャーナルの圧縮により、Health Connect 導入環境に必要なストレージを大幅に削減できます。

  • ストリームの圧縮 – グローバル・ベースのすべてのストリーム・クラスに対して既定でオンになりました。アプリケーションの変更は必要ありません。既存のデータは読み取り可能なまま残り、次回書き込み時に圧縮されます。現実のデータで試したところ、圧縮率は、短いテキストでは 30%、XML などのドキュメント・タイプでは 80% 以上と、幅があることがわかりました。

  • ジャーナルの圧縮 — ジャーナルが切り替わるとすぐに、非アクティブなジャーナル・ファイルを圧縮します。ロールバックとロール・フォワードは圧縮形式から直接実行されます。これにより、Health Connect のデータ整合性戦略において不可欠なこの部分のストレージ要件が大きく減ります。詳細は、"ジャーナリングの最善の使用方法" を参照してください。

TLS 1.3 のサポート (OpenSSL 1.1.1)

このバージョンでは、Health Connect に OpenSSL 1.1.1 のサポートが組み込まれ、TLS 1.3 が完全にサポートされます。TLS 1.3 では、暗号化の遅延が半分に短縮されるなど、ユーザは特にパフォーマンスの高速化を体感できます。これは、ハンドシェイク・プロセスからラウンドトリップ全体を排除することによって実現しています。

Health Connect 2021.2 より、UNIX では OpenSSL ライブラリを出荷しなくなり、この機能は OS に依存して提供するようになります。この変更には利点が 1 つあり、OpenSSL ライブラリを更新する場合に Health Connect を新規インストールする必要がなくなり、通常の OS の更新で実行できるようになります。この新しいアプローチの詳細は、"自身の InterSystems IRIS のインスタンスでサポートされている TLS のバージョン" を参照してください。インターシステムズ製品は、OS で提供される OpenSSL ライブラリへのアクセスが必要になるため、インストール時およびインスタンスの起動時にチェックを実行するようになります。この呼び出しは手動で実行することもできます。詳細は、"必要な依存関係のインストール" を参照してください。

OpenSSL ライブラリの出荷停止という変更を受けて、キットの調整も必要になりました。すべてのキットは OpenSSL のメジャー・バージョンに固有です (OpenSSL 1.1.1 はメジャー・バージョンであり、マイナー・バージョンは OpenSSL 1.1.1f のようにメジャー・バージョンに続く文字で示されます)。

Windows では、このキットで OpenSSL ライブラリはインストールされません。

Note:

UNIX システムに OpenSSL の正しいバージョンがインストールされていない場合、インストールは正常に完了しません。OpenSSL をインストールしてから、Health Connect を再インストールする必要があります。例えば、macOS では、Homebrew を使用して OpenSSL をインストールできます。https://formulae.brew.sh/formula/openssl@1.1Opens in a new tab を参照してください。

新しい ^TRACE ユーティリティ

このリリースでは、1 つ以上のプロセスからの未加工のイベントをトレースする新しいツールが導入されます。%SYS.MONLBL や PERFMON などの既存のユーティリティもほぼ同じイベント・タイプを追跡しますが、こうしたユーティリティは、特定のタイプの分析に合わせた形式のレポートを即座に生成します。新しい ^TRACE ツールでは、これらのイベントをより汎用的なファイル形式でキャプチャし、キャプチャした情報を、コマンド行インタフェースまたは API を介して対話形式で操作および要約できます。サポートされるイベント・タイプには、グローバル SET と KILL、物理書き込み、ネットワーク要求、キャッシュのヒットと読み取り、さまざまなジャーナル・イベントなどがありますが、これらに限定されません。これらのイベントでキャプチャされる情報としては、ルーチン行とコール・スタックに加え、完全なグローバル参照 (該当する場合) もあります。このため、1 つのインタフェースで幅広いパフォーマンス分析タスクを実行することができます。

Health Connect の最初の継続配布リリース

Health Connect 2021.2 は、Health Connect の最初の継続配布リリースです。Health Connect のリリースには以下の 2 つのストリームがあります。

  • 継続配布リリース — これらのリリースは、新機能へのアクセスを提供します。継続的に更新されるアプリケーションの開発・導入に最適であり、新機能を即座に利用できます。

  • 拡張メンテナンス・リリース — これらのリリースは、継続配布リリースほど頻繁ではありませんが、安定性が向上したメンテナンス・リリースを提供します。新機能に早期にアクセスできることよりも、メンテナンス・リリースで修正を簡単に入手できることの方が重要な大規模エンタープライズ・アプリケーションに最適です。

CD リリースと EM リリースはどちらもすべてのサポート対象プラットフォームで提供され ("サポート対象プラットフォーム・ガイド" を参照)、UNIX、Windows、クラウド・プラットフォーム、OCCI に準拠したコンテナ形式も含まれます。以前の CD リリースは、クラウド・プラットフォームと OCCI に準拠したコンテナ形式でのみ提供されていました。

インターシステムズでは、完全にサポートされるリリースを提供する以外にも、新機能をいち早く確認したい開発者向けにプレリリース・ソフトウェアへのアクセスも提供しています。

その他の機能強化と効率の向上

各リリースで、インターシステムズは多くの効果的な改善とマイナーな機能強化を行っています。このリリースには以下が含まれます。

  • JDBC、.NET クライアント、Python、IRISNative などの外部クライアントでの Compact Double のサポート。

  • このリリースでは、セキュリティ・テーブルに埋め込みのバージョン番号が含まれるようになったため、実行可能なインポートに、より詳細にアクセスできます。セキュリティ・テーブルをバージョン 2021.1 からエクスポートして、このバージョンにインポートできます。詳細は、"^SECURITY" を参照してください。

  • このリリースにより、Log4j ライブラリがバージョン 2.17.0 に更新されます。

  • このリリースにより、Node.js ライブラリがバージョン 14 に更新されます。

FeedbackOpens in a new tab