Skip to main content

InterSystems IRIS 2021.1 の新機能

このページでは、InterSystems IRIS® の 2021.1 リリースの新機能と機能強化について説明します。このリリースは、拡張メンテナンス (EM) リリースです。これらの機能の一部は、2020.1 (前回の EM リリース) 以降の継続配布 (CD) リリースでも利用可能です。

2021.1 のリリース情報

現在のメンテナンス・リリースは 2021.1.3 です。2021.1.3 のポストはビルド 2021.1.3.389.0 です。

分析の機能強化

InterSystems IRIS 2021.1 では、ユーザは InterSystems IRIS Adaptive Analytics を導入できます。これは、InterSystems IRIS を拡張し、選択するビジネス・インテリジェンス (BI) ツールに関係なく、分析エンド・ユーザに使いやすさ、柔軟性、スケーラビリティ、効率性をもたらすアドオン製品です。分析しやすいビジネス・モデルを定義し、バックグラウンドで中間データ構造を自律的に構築および維持することで、このモデルに対して実行される分析クエリのワークロードを透過的に高速化できます。

以下に、分析ユース・ケースのその他の機能強化を示します。

  • InterSystems IRIS に対して直接クエリを実行する SQL ユーザは、SQL 標準のウィンドウ関数にアクセスして、複雑な集計を単一のクエリで簡単に表現できるようになりました。これにより、通常はレポートおよび BI のユース・ケース用のデータ集約型計算をデータに近づけて、正味のパフォーマンスとシンプルさの両方を向上させることができます。

  • ネイティブ MDX クエリ・エンジンの機能強化により、InterSystems IRIS 埋め込み BI 機能のパフォーマンスが目に見えて向上しました。

開発者エクスペリエンスの強化

InterSystems IRIS 2021.1 では、新しい Python および R Gateway が導入され、必要に応じて、プロセス外または異なるサーバ上でこれらの言語のコードを実行できるようになりました。Python Gateway は仮想環境をサポートしているため、各 Gateway は独自のバージョンの Python を使用して、開発者の柔軟性を最大限高めることができます。すべてのゲートウェイで、初回使用時の自動起動と、再入時の簡単かつ安全な接続をサポートするようになりました。これは例えば、明示的に新しい接続を開いてユーザの資格情報を指定することなく、外部コードがデータ・アクセスのために InterSystems IRIS に透過的にアクセスできることを意味します。.NET Gateway では .NET Core 2.1 をサポートするようになりました (初導入 2020.3)。

InterSystems IRIS 2021.1 の新機能は、SQL で外部ストアド・プロシージャを定義する機能です。これにより、開発者は、SQL から簡単な SQL 構文を使用して、Java、Python、.NET で記述されたコードを活用できるようになりました。外部コードは対応するゲートウェイを通じて透過的に実行されます。 このリリースでは、CREATE AGGREGATE および DROP AGGREGATE を使用した SQL ユーザ定義集約関数も追加されています。

このリリースはまた、数多くの有意義な機能強化と拡張をクライアント SDK に追加しています。これには、Python をサポートするすべてのプラットフォームで動作する完全にネイティブな Python クライアント SDK に加え、4 つすべてのネイティブ API 言語 (Python、Java、C# および Node.JS) における $list と $order の操作のサポートも含まれます。 ODBC ドライバは、T-SQL のサポートが追加され、強化されました。XEP では、インデックス作成の延期のサポートが追加され、バックグラウンド処理でインデックスを構築できるようになりました (初導入 2020.3)。

Java 開発者は、Java SE 11 LTS を利用できるようになりました。InterSystems では、すべての Java ベースのコンポーネントの標準である Oracle OpenJDK と AdoptOpenJDK の両方の実装をテストおよびサポートします。詳細は、"サポート対象テクノロジ" リストの対応するセクションを参照してください (初導入 2020.4)。

InterSystems IRIS JDBC ドライバが、Java アプリケーションからデータベース接続を効率的に管理するための接続プーリングを完全にサポートするようになりました。詳細は、"JDBC ドライバの使用法" の "接続プーリング" セクションを参照してください (初導入 2020.4)。

ObjectScript 開発者は、VSCode-ObjectScript Version 1.0 を利用できます。VSCode-ObjectScriptOpens in a new tab は、InterSystems IRIS の ObjectScript アプリケーションの実践的な開発を可能にする VSCode IDE のオープン・ソース拡張です。詳細は、VS Code InterSystems ObjectScript のドキュメントOpens in a new tabを参照してください。

このリリースでは、Spark 2.4.4 をサポートしています (初導入 2020.3)。

IntegratedML 機械学習

このリリースには、IntegratedML が新機能として搭載されており、シンプルで直感的な SQL 構文を通じて、最高品質の機械学習をアナリストと開発者に提供します (初導入 2020.3)。開発者は、InterSystems IRIS、つまりデータが存在するまさにその場所から、強力な予測モデルのトレーニングと導入を簡単に実行できるようになりました。詳細は、"IntegratedML の使用" および "Learn IntegratedML in InterSystems IRISOpens in a new tab" を参照してください。

このリリースでは以下が可能です。

Note:

完全なインストール・キットが、WRC でサーバ・プラットフォームのサブセット向けに提供されています。インストーラを使用する場合、システムにインストールするには、カスタム・インストールを指定し、IntegratedML オプションを選択する必要があります。

操作の機能強化

このリリースでは、クラウドとオンプレミスの両方において、導入および操作エクスペリエンスに対する以下の機能強化が行われました。

  • InterSystems Kubernetes OperatorOpens in a new tab (IKO) では、InterSystems IRIS 固有の知識とベスト・プラクティスが、ダイナミック・クラスタのプロビジョニングと操作のための、簡単に使用できる自動化されたツールにパッケージ化されています。2021.1 以降、IKO は、InterSystems System Alerting & MonitoringOpens in a new tab (SAM) の導入もサポートしています。

  • InterSystems Cloud Manager (ICM) は、新たに InterSystems API Manager (初導入 2020.3) および SAM (初導入 2020.4) をサポートするようになりました。

  • このリリースには、シャード・クラスタに対する非同期ミラーリングのサポートが含まれています (初導入 2020.3)。ユーザは、既存のクラスタにミラーリング (同期または非同期) を構成したり、災害復旧シナリオで別のデータ・センターにある一連の非同期ミラー・メンバにクラスタ全体をフェイルオーバーできるようになりました。詳細は、"スケーラビリティ・ガイド" の対応するセクションを参照してください (初導入 2020.4)。

  • InterSystems SQL 構文が、SQL プロンプトからデータベースを管理、構成するための新たなコマンド・セットにより拡張されました。これにより、JDBC または ODBC アクセスしか持たないユーザが、システム管理ポータルまたは ObjectScript ターミナル・プロンプトにアクセスすることなく、ほとんどの管理タスクを実行できるようになります。また、インデックスの構築や凍結プランの管理などの共通のタスクも含まれています。 詳細は、"BUILD INDEX"、"FREEZE PLANS"、"PURGE CACHED QUERIES"、"CREATE INDEX"、および "SET OPTION" の新しいオプションを参照してください (初導入 2020.4)。

  • システム管理ポータルから作業キューを管理できるようになりました (初導入 2020.3)。

  • 新たに利用可能になった IRIS ロック・ダウン・コンテナは、セキュリティに関するベスト・プラクティスを多数実装し、セキュリティが強化されたコンテナ・イメージであるため、お客様は、複雑な環境に機密性の高いアプリケーションを安心して導入することができます。 Web ゲートウェイ・コンテナのユーザにとって、既定の構成が向上することは喜ばしいものです。

  • 2021.1 以降、InterSystems IRIS は、ARM プラットフォームで、完全キットとしても、付属のコンテナとしても利用できるようになりました。これにより、お客様はそのアプリケーションを、物理的な環境かクラウドかを問わず、コスト効率の高いハードウェア・プラットフォームに導入することができます。詳細は、"サポート対象プラットフォーム" ガイドを参照してください。

  • このリリースでは、InterSystems Reports (InterSystems IRIS の新規レポート機能) の導入が簡素化されました (初導入 2020.4)。より緊密な統合の一環として、InterSystems Reports では、現 InterSystems IRIS と同じユーザ・アカウントを使用して、レポートを管理、構築、実行するようになりました。また、InterSystems Reports のすべての構成データと管理データは、設定スクリプトが使用されている場合、InterSystems IRIS を使用します。 InterSystems IRIS Report サーバの初期構成を行ってオンプレミスで導入するためのスクリプトと、Reports サーバを Docker に導入するための Docker Compose ファイルは両方とも、このリリースに含まれています。

相互運用性の向上

InterSystems IRIS 2021.1 では、InterSystems API ManagerOpens in a new tab (IAM) 2.3 を導入できます。これには、最新の API 中心の環境において、この重要なコンポーネントの対象範囲を拡大する数多くの機能強化が含まれています。

その他にも、以下のような相互運用性の機能強化があります。

  • 新しい SOAP ビジネス・サービスとビジネス・オペレーション、EnsLib.EDI.X12.Service および EnsLib.EDI.X12.Operation。これにより、SOAP を使用して X12 メッセージの送受信が可能になります (初導入 2020.2)。

  • X12 エラー処理の改善 (初導入 2020.2)。

  • このリリースでは、新しい "foreach" アクションをサポートするようになりました。これは、セグメント化された仮想ドキュメント (ASTM、EDIFACT および X12) に使用されるルーティング・ルール内で使用できます。foreach アクションはルール・タイプ "Segmented Virtual Document Message Routing Rule" 内でサポートされます。また、仮想ドキュメントでの繰り返しセグメントのループが可能で、入れ子のループもサポートしています。これにより、開発者は、繰り返しグループ内のセグメントの位置に関係なく、特定の条件に適合するルールを構築できます。詳細は、"アクションについて" を参照してください (初導入 2020.4)。

ストレージのフットプリント全体を削減するブロックレベルの圧縮 (試験段階の機能)

ブロックレベルの圧縮により、ストレージのフットプリント (必要なディスク容量) 全体が削減されます。データ・カーディナリティ (データ値における繰り返しの程度) によっては、圧縮することで、ストレージの消費を大幅に減らすことができます。スパース・データ (データ内にゼロとスペースが多い) の方が、大幅に圧縮できます。

ブロックレベルの圧縮は、InterSystems IRIS 2020.2 では試験段階の機能です。 つまり、実稼働環境ではサポートされていません。この機能は十分テストされており、圧縮により、かなりのスペースを節約できます。ただし、パフォーマンスに影響を及ぼす可能性があります。 場合によっては、ディスクからメモリに移動する必要があるデータが少なくて済むため、パフォーマンスが向上することがある一方、圧縮と解凍のための計算によりパフォーマンスが低下する可能性もあります。スペースの節約とパフォーマンスへの影響は、アプリケーションとプラットフォームに応じて異なります。

インターシステムズでは、お客様がテスト環境で実際に使用しているシステムで見られるスペースの節約とパフォーマンスのオーバーヘッドに関するフィードバックをお待ちしています。お客様の環境でこうした測定を行っている場合は、インターシステムズのサポート窓口Opens in a new tab (WRC) までご連絡ください。

現在用意されている圧縮タイプは、zlib、zstd、および lz4 の 3 つです。圧縮されるのはデータと大きな文字列ブロックのみですが、将来的にその他のブロック・タイプにも拡張される可能性があります。圧縮によりディスク上の少なくとも 1 つの 4KB チャンクの領域を解放できる場合にのみ、指定のデータベース・ブロックが圧縮されます。ブロック圧縮は、スパース・ファイルをサポートする Linux システムでのみサポートされます。

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

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

  • Proof Key for Code Exchange (PKCE)Opens in a new tab を OAuth 認証で使用できるようになりました。PKCE により、パブリック・クライアントから OAuth 交換を安全に実行し、承認コードが傍受される脅威を軽減できます。PKCE は OAuth のクライアントとサーバの両方でサポートされます。

  • $SYSTEM.SQL の構成およびユーティリティ関数が %SYSTEM.SQL.FunctionsOpens in a new tab%SYSTEM.SQL.SchemaOpens in a new tab および %SYSTEM.SQL.Stats.RuntimeOpens in a new tab などのサブクラスにテーマ別に編成されることで、ボード全体でのシグニチャと動作の一貫性が向上しています。%SYSTEM.SQLOpens in a new tab の古いエントリ・ポイントは非推奨になりましたが、下位互換性のためにまだ利用可能です (初導入 2020.3)。

  • JDBC を通じて Transact-SQL を使用できるようになりました。InterSystems IRIS での Transact-SQL アプリケーションのホストの詳細は、"Transact-SQL (TSQL) 移行ガイド" を参照してください (初導入 2020.3)。

  • Node.js Native SDK に、List クラスが含まれるようになりました。"Native SDK for Node.js のクイック・リファレンス" を参照してください (初導入 2020.3)。

  • Java Message Service (JMS) アダプタは、幅広いサーバに接続できます(初導入 2020.3)。

  • Linux 上の InterSystems IRIS で、データベース・ファイルへの書き込みに非同期入出力を使用できるよう、機能強化されました (この機能は、UNIX® および Windows プラットフォームでは常に搭載されています) (初導入 2020.3)。 これは、バッファ型入出力ではなく、直接入出力の自動使用と結び付いています。 この変更により、データベース・ファイルのディスク入出力特性が以下の方法で最適化されます。

    • データベース読み取りとジャーナル書き込みでより公平に入出力帯域幅を共有することにより、より高いスケーリング・レベルでアプリケーションの応答性を向上させます。

    • 整合性チェックでの複数のブロックの非同期読み取りを可能にすることにより、整合性チェックのパフォーマンスを向上させます。

    • $prefetchon により実行される非同期読み取りの効率を高めます。

  • InterSystems SQL には、このリリースにアップグレードする際に、多様なタイプのクエリを高速化する数多くのパフォーマンスの強化が加えられています。2020.4 および 2021.1 を旧リリースと比較した場合、数百万ものクエリで構成される複雑な顧客ベンチマークが、6% 速く実行されました。

  • このリリースでは、テーブル統計を収集する際にフィールドの選択性を見積もるための新しいアルゴリズムを導入しています。これにより、指定の SQL 文に最速のクエリ・プランを選択するための SQL オプティマイザの機能が向上しました (初導入 2020.4)。

  • 数多くの適用可能なシナリオで、SQL エンジンでは、カーネル・レベルの反復子を使用して一時的な結果を読み取ります。これにより、生成されるコードが簡素化され、並び替えなどのクエリ・プランの特定のステップを最大 40% 高速化できます (初導入 2020.4)。

  • ブラウザ・セキュリティに対する最新の更新では、サードパーティの cookie の処理が変更されました。この更新では、SameSite 属性を使用して、クロスサイト・リクエスト・フォージェリ (CSRF) 攻撃、データへの未承認アクセス、その他の可能性があるセキュリティ問題のリスクを低減します。Chrome (v.84 以降) では、SameSite 動作に対してより厳格なルールが適用されていますが、これらのルールは既存の Web サイトや Web アプリケーションで問題を引き起こす可能性があります。例えば、ログインに関する問題や、ログイン・ページが繰り返し表示される、ページ要素が正しく表示されないといった問題が発生する可能性があります。以前のバージョンでは、SameSite 属性の変更はできませんでした。そのため、これらのバージョンで実行される Web アプリケーションでこのような問題が発生することがありました。

    このリリース (初導入 2020.4) では、cookie に SameSite 属性を設定し、既定の設定を変更できるようにすることで、これらの問題を解決しています。ただし、Session Cookie Scope と User Cookie Scope を設定する値をカスタマイズするために、コードの変更が必要な場合があります。さらに、“SameSite=None” を使用している場合は、使用している Web アプリケーションがセキュア HTTPS 接続をサポートしていることを確認する必要があります。詳細は、"SameSite 属性について" を参照してください。

  • このリリースでは、データベース・キャッシュ・サイズが構成されていない、新たにインストールされたシステムのパフォーマンスが向上しました。ほとんどの場合、最高のシステム・パフォーマンスを実現するためには、慎重にキャッシュ・サイズを構成し、ヒュージ・ページとラージ・ページを構成する必要があります。ライブ・プロダクション・システム、負荷が重いシステム、および複数のインスタンスを持つシステムにとって、キャッシュ・サイズの構成は特に重要です。 (初導入 2020.3)

  • このリリースでは、ユーザが 'root' の場合または管理特権を持っている場合は、コマンド行を記録しないことで、コマンド行の履歴のセキュリティを向上させています。通常、コマンド行の履歴は ~/.iris_history に書き込まれます (~ は $HOME (ユーザのホーム・ディレクトリ) の値に展開されます)。現在のセッションで最初のコマンドの前にスクロールすると、ログのコマンドの履歴が使用されます。ユーザが 'root' の場合、コマンドの履歴はログに書き込まれないか、前のセッションから読み取られるため、スーパーユーザとして実行されたコマンドは公開されません。

FeedbackOpens in a new tab