Skip to main content

InterSystems IRIS 2024.1 の新機能

このページでは、InterSystems IRIS® データ・プラットフォームの 2024.1 リリースの新機能と機能強化について説明します。このリリースは、拡張メンテナンス (EM) リリースです。これらの機能の一部は、2022.1 (前回の EM リリース) 以降の継続配布 (CD) リリースでも利用可能です。

このリリースに含まれる変更点の完全なリストは、"Upgrade ChecklistOpens in a new tab" を参照してください。

2024.1 のリリース情報

現在のリリースは 2024.1 です。2024.1 のポストはビルド 2024.1.0.262.0 です。

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

ObjectScript でのベクトルの使用

新しいベクトル検索機能の一部として ("分析と AI の強化" セクションの関連する記述を参照)、インターシステムズではすべての開発者が $vector ObjectScript 言語機能を使用できるようにしています。インターシステムズは、単一のデータ型の要素からなる大きな配列を操作する、新しいデータ型および対応する一連の演算子のニーズに対処するため、2022.2 で内部限定機能として $vector を導入しました。非常に効率的なエンコード形式およびバルク操作での SIMD 関数の使用は、列指向ストレージがもたらすパフォーマンスの大幅な向上に貢献しました。このリリースで導入されたベクトル検索機能は、この種のデータ型を操作する新たなユース・ケースを提供し、特に埋め込みをキャプチャし、ベクトル全体に対して一度に高速なバルク操作を実行することができます。この機能は現代のコンピューティングの課題における 2 つの異なるユース・ケースにうまく対処しているため、インターシステムズはすべての ObjectScript 開発者がこの機能を使用できるようにしました。

新しい構文および演算子の最新のセットの完全なドキュメントは、ObjectScript リファレンスを参照してください。

一見すると、$vector には $list と重複する部分が数多くあり、どちらを使用したらよいか迷うかもしれません。しかし、両者は異なるユース・ケースに対処する別個の機能です。一般に、単一のデータ型を処理し、常にデータ要素に一括でアクセスし、操作する場合は、$vector ユース・ケースが適しています。

JSON_TABLE のサポート

InterSystems IRIS 2024.1 では、SQL 標準に従って JSON_TABLE 関数のサポートが導入されています。この関数は、クエリの FROM 節で使用する関数で、JSON 値をリレーショナル・テーブルの列にマップして、SQL のコンテキストで JSON データをクエリできるようにします。ラテラル結合と組み合わせることで、非常に強力な機能を提供します。

SQL 開発

SQL 標準には、複雑な入れ子になったクエリを小さいブロックに分割するのに役立つ WITH 節が含まれます。SQL ビューの使用方法と似ていますが、単一文に制限されます。2024.1 では、このような共通テーブル式 (CTE) を SELECT 文で使用して、クエリにさらなる構造と透明性を加えることができます。SQL 文を生成する多くのツールでも、CTE を使用できます。

各リリースと同様に、InterSystems IRIS SQL 2024.1 では、クエリのパフォーマンスを向上させる多数の機能強化が含まれています。

  • クエリの実行時に、さまざまなワーカ・スレッド間で共有できる中間結果をキャッシュできるようになりました。これにより、大きなデータセットに対して複雑なクエリを実行する際に、入出力を大幅に削減できます。

  • すべてのテーブル列が純粋な列指向ストレージの要件を満たす場合に、列指向ストレージを使用するテーブルのスペース効率が最適化されました。

  • 以前のリリースで導入されたアダプティブ並列実行メカニズムが、複雑な条件を使用するクエリを含む、幅広いクエリ・セットに適用されるようになりました。従来の並列サブクエリがバックグラウンドで使用されるケースが実質的に排除されます。

  • 外部テーブルを含む文のフィルタおよびその他のクエリ述語をリモート・データベースにプッシュダウンできるケースが、拡張されました。これにより、InterSystems IRIS のインスタンスに戻すデータの量を制限して、外部テーブルのパフォーマンスを向上させることができます。

フレキシブル組み込み Python ランタイム

フレキシブル Python ランタイムにより、管理者は組み込み Python が使用する Python ランタイムを選択できます。これは、特定の Python バージョンにアップグレードする場合、または Anaconda などのディストリビューションを使用する場合に最適です。Python ランタイム・ライブラリは、構成パラメータ・ファイルを通じて構成できます。この機能は、InterSystems IRIS 2024.1 の Linux ベースのビルドでのみ使用できます。

AIX 向け組み込み Python

AIX システムで組み込み Python を使用できるようになりました。

Python BPL エディタ

ビジネス・プロセス言語エディタに、Python を使用してビジネス・プロセスを記述するオプションが追加されました。ほとんどの BPL スクリプトはコーディングを必要としませんが、開発者が ObjectScript、JavaScript、または (2024.1 リリースの新機能) Python で独自のロジックを実装できるブロックがいくつかあります。

WSGI Web アプリケーション

InterSystems IRIS 2024.1 には、試験的に Python WSGI 標準に準拠する Web アプリケーションを作成、保護、ホストする機能が含まれています。この機能を有効にすると、Flask や Django などの WSGI 準拠フレームワークをインスタンス内で実行し、組み込み Python のすべての機能を最新の Python Web 開発に利用できます。さらに良いことに、認証はすべての Web アプリケーションと同様に Web ゲートウェイによって処理されます。この機能は、2024.1 リリースでは試験段階です。

インターシステムズでは、この機能がユーザのニーズをどれだけ満たしているかについてのフィードバックを歓迎しています。

分析と AI の強化

ベクトル検索

ベクトル検索は、InterSystems IRIS 2024.1 の試験段階の新機能です。構造化データのセマンティック検索とベクトルを活用する検索のコア機能を提供し、検索拡張生成 (RAG) パターンを実装するアプリケーションなど、生成 AI アプリケーションの基盤となります。2024.1 のベクトル検索は、新しい VECTOR SQL データ型と関連する関数セットで構成されます。関数には、TO_VECTOR (文字列をベクトルに変換) およびVECTOR_DOT_PRODUCTVECTOR_COSINE (ベクトル間の類似性を計算) の両方が含まれます。

標準的なアプリケーションでは、“埋め込みモデル” と呼ばれる特殊な統計的言語モデル (ChatGPT のような LLM の小型バージョン) が、一連のテキスト (または、埋め込みモデルがイメージを処理するようにトレーニングされている場合はイメージ) を埋め込みベクトル (高次元の “潜在的埋め込み” 空間内のポイントを指定する密な数値配列) に変換します。その後、ベクトルは SQL テーブルの列に格納され、類似性関数を使用して、同じ埋め込みモデルをクエリ文字列に適用した結果である入力ベクトルまたはクエリ・ベクトルと比較されます。この検索の結果が最も類似性の高い結果です。また、埋め込みモデルはテキストの “セマンティクス” を捉えるようにトレーニングされているため、これは従来の “キーワード” 検索よりも高品質の検索機能になり得ます。InterSystems IRIS の今後のリリースでは、検索速度を上げる予定です。また、格納されているテキストとクエリをベクトルに変換するプロセスを抽象化する SQL 構文を導入して、基盤となるベクトルを直接処理する必要のない、InterSystems IRIS データに対する強力な “セマンティック検索” を実装できる便利な方法を提供する予定です。

Business Intelligence の改善

インターシステムズは、引き続き InterSystems IRIS BI のパフォーマンスを向上させています。このリリースでは、アナライザのユーザ・インタフェースのフィルタ・リスト管理が強化されました。さらに、このリリースには以下が含まれます。

  • アナライザの高度なフィルタでの、深く入れ子になった AND/OR 条件の処理。この変更により、MDX スライサ節で深く入れ子になった CROSSJOIN および %OR 関数からなる構造を計算する手段が提供されます。

  • ピボット・テーブルとダッシュボード・メタデータにアクセスできるように API が機能強化され、他の視覚化ユーザ・インタフェースがその格納データにアクセスできるようになりました。

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

マルチボリューム・データベース

顧客のデータベースが大きくなるにつれて、データベース・ファイルも大きくなります。データベース・ファイルが手に負えないほど大きくなるのを防ぐために、またはハード・ファイルシステムの限度に達するのを防ぐために、InterSystems IRIS では、データベースを複数の物理 “ボリューム” に透過的に分割できます。この新機能はあらゆるデータベースに容易に構成でき、しきい値サイズも構成できるようになりました。初期 IRIS.DAT ファイルがしきい値サイズに達しそうになり、新しいグローバル・データを書き込む必要が生じた場合、InterSystems IRIS は新しい “データベース・ボリューム” ファイルを透過的に作成し、このファイルに対して新しいデータの書き込みを開始します。このボリュームがしきい値に達すると、また別のファイルが作成されます。

データにアクセスするアプリケーションやコードに影響はありません。いくつのボリュームに広がっていても、アプリケーションやコードは、引き続き全データベースのコンテンツを参照できるためです。さらに、次のボリュームを作成するディレクトリも構成できます。また、必要に応じて、メンテナンス操作としてディレクトリ間でデータベース・ボリュームを再配置することができます。全体の最大データベース・サイズを引き上げるために計画されている作業と組み合わせることで、ペタバイトの領域まで、引き続き容易に管理できます。

高速オンライン・バックアップ

インターシステムズは長年、2 つの主要なバックアップ・オプション、外部バックアップオンライン・バックアップを提供してきました。外部バックアップでは、外部ソリューションがすべてのデータベース、ジャーナル、およびその他のファイルの一貫したスナップショットを作成できるように、ライト・デーモンを短期間フリーズできます。これらの外部ソリューションは、以前のスナップショットと比較して何が変更されたかを追跡し、フル・コピーよりもはるかに小さい増分スナップショットを作成できます。オンライン・バックアップでは、InterSystems IRIS はどのブロックが変更されたかを追跡してインクリメンタル・バックアップを作成できます。この間、システムは完全にオンラインのままです (書き込み時に非常に短い中断があるだけです)。

このリリースでは、インクリメンタル・バックアップとフル・バックアップのための新しいメカニズムがオンライン・バックアップ機能に導入され、並列プロセスを使用してデータベースごとに別個にバックアップ・ファイルが書き込まれます。多くのデータベースのある大規模システムの場合、この機能によってバックアップの実行にかかる全体的な時間が大幅に短縮されます。新しい Backup.Online クラスは、この新機能のエントリ・ポイントです。

Important:

この変更は、オンライン・バックアップ機能のパフォーマンスとインタフェースを改善するための広範な主要プロジェクトの最初のパートであり、上述の並列処理をカバーしています。API や出力形式にさらなる変更を加える予定であるため、この新しい API は現在、試験段階とされています。

インターシステムズでは、早期アクセス・プログラムOpens in a new tabを通じてお客様さまからのフィードバックを歓迎しており、それらのフィードバックを今後のリリースに組み込む予定です。

このフェーズでは、Backup.General およびその他のユーティリティの既存の API は引き続きオンライン・バックアップの既存の実装を呼び出して、変更なしで使用できます。

プラットフォームの更新

最小サポート CPU モデル

InterSystems IRIS 2024.1 では、Intel および AMD (amd64/x86_64) プロセッサ用の最小 CPU 命令セット・ポリシーが設定されました。インターシステムズでは、すべての CPU に AVX および BMI 命令が必要となり、それらは通常、以下の CPU アーキテクチャで利用できます。

  • Intel プロセッサの場合 : Haswell 以降

  • AMD プロセッサの場合 : Steamroller 以降

インターシステムズはより新しい命令を利用して、製品のパフォーマンスを向上させています。InterSystems IRIS 2024.1 は AVX 命令を利用して、ベクトル演算を確実に高速化しています。

オペレーティング・システムの更新

InterSystems IRIS 2024.1 は、Ubuntu 24.04 が一般提供された後、すぐにこの OS をサポートする予定です。

MacOS Sonoma が、MacOS のサポート対象バージョンとして追加されています。

FeedbackOpens in a new tab