#InterSystems IRIS

1 フォロワー · 1.3K 投稿

InterSystems IRISは総合データプラットフォームです

    InterSystems IRISは、企業にとって最も価値のある資産(データ)の取得、共有、理解、そしてデータに基づく行動のために必要なすべてのものを提供します。

    完全なプラットフォームである InterSystems IRIS は、複数の開発技術を統合する必要がありません。より少ないコードで開発が可能で、そのアプリケーションは、システムリソース、メンテナンスなども少なくて済みます。

お知らせ Rie Tokue · 4月 23, 2024

 

連続3回のシリーズでお届けする新機能についてのウェビナー、第二弾はベクトル検索です。

日時:5月30日(木)13:30~14:00 (参加費無料・事前登録制)

ご登録はこちらから

セッション概要:IRIS 2024.1の実験的機能として、ベクトル検索が実装されました。この機能により、ベクトル型が新たにサポートされ、ドキュメントの類似検索などが可能になります。また、大規模言語モデル(LLM)や生成AIと組み合わせて、最先端のアプリケーション開発を強力に支援します。本ウェビナーでは、ベクトル検索の概要について解説します。

ウェビナーの前に少し内容を確認されたい方は、開発者コミュニティの記事「Vector Search (ベクトル検索) をご紹介します」をぜひご参照ください。

こんな方にお勧め:

・ 文書検索に興味のある方

・ 大規模言語モデルや生成AIの活用を検討されている方

ご多用中とは存じますが、皆様のご参加をお待ち申し上げております。

0
0 228
記事 Toshihiko Minamoto · 4月 18, 2024 13m read

我々には、Redditユーザーが書いた、おいしいレシピデータセット がありますが, 情報のほとんどは投稿されたタイトルや説明といったフリーテキストです。埋め込みPythonLangchainフレームワークにあるOpenAIの大規模言語モデルの機能を使い、このデータセットを簡単にロードし、特徴を抽出、分析する方法を紹介しましょう。

データセットのロード

まず最初に、データセットをロードするかデータセットに接続する必要があります。

これを実現するにはさまざまな方法があります。たとえばCSVレコードマッパーを相互運用性プロダクションで使用したり csvgenのようなすばらしい OpenExchange アプリケーションを使用することもできます。

今回、外部テーブルを使用します。これは物理的に別の場所に保存されているデータをIRIS SQLで統合する非常に便利な機能です。

まずは外部サーバ(Foreign Server)を作成します。

CREATE FOREIGN SERVER dataset FOREIGN DATA WRAPPER CSV HOST '/app/data/'

その上でCSVファイルに接続する外部テーブルを作成します。

CREATE FOREIGN TABLE dataset.
0
0 503
InterSystems公式 Seisuke Nakahashi · 4月 11, 2024

InterSystems IRIS 2024.2 と InterSystems IRIS for Health 2024.2 の最初の開発者プレビューが WRC プレビューダウンロードページ に公開されました。このプレビューではコンテナ版は準備できていませんが、次回にはコンテナ版も公開する予定です。

今回のリリースは、これまで公開してきた開発者プレビュー版の中で一番早いリリースサイクルになります。それもあり、「本リリースの注目点」と呼べる機能はまだありません。今後のプレビューリリースで機能一覧の準備が整い次第、すぐにお伝えいたします。

ドキュメントは以下のリンクからご覧いただけます。

キットについて

本リリースでは、すべてのサポート対象プラットフォーム向けに、従来のインストーラ形式を提供します。サポート対象プラットフォーム一覧は、こちらのドキュメント をご覧ください。

インストーラとプレビュー用ライセンスキーは、WRC プレビューダウンロードページ もしくは 評価サービスページ ("Show Preview Software" フラグをチェックしてください) から入手いただけます。

0
0 113
お知らせ Mihoko Iijima · 4月 9, 2024

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

(2024.4.17更新:コンテストタイトルに「ベクトル検索」を追加しました)

次の InterSystems オンラインプログラミングコンテストのテーマが決定しました!👉生成 AI、ベクトル検索、機械学習 です!

🏆 InterSystems ベクトル検索、GenAI、ML コンテスト(USコミュニティ) 🏆

期間: 2024年4月22日~5月19日 

賞金総額: $14,000


0
0 147
記事 Mihoko Iijima · 1月 25, 2024 4m read

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

こちらの記事👉「Apache Webサーバ(プライベートWebサーバ: PWS)インストレーションの廃止」でご案内していましたが、コミュニティエディションを除くInterSystems製品のバージョン2023.2以降では、プライベートWebサーバ(*)を使用した管理ポータル/Webアクセスを非推奨に変更しました。

(*)プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです)

新規インストール/アップグレードインストールによるプライベートWebサーバの利用可否やインストール時の選択項目の違いについての概要は以下表をご参照ください。

3
0 632
記事 Toshihiko Minamoto · 4月 8, 2024 10m read

 

人工知能は、命令によってテキストから画像を生成したり、単純な指示によって物語を差作成したりすることだけに限られていません。

多様な写真を作成したり、既存の写真に特殊な背景を含めたりすることもできます。

また、話者の言語や速度に関係なく、音声のトランスクリプションを取得することも可能です。

では、ファイル管理の仕組みを調べてみましょう。

0
0 158
記事 Minoru Horita · 4月 4, 2024 6m read

みなさんこんにちは! 今回は、IRIS 2024.1で実験的機能として実装されたVector Search (ベクトル検索)について紹介します。ベクトル検索は、先日リリースされたIRIS 2024.1の早期アクセスプログラム(EAP)で使用できます。IRIS 2024.1については、こちらの記事をご覧ください。

ベクトル検索でどんなことができるの?

ChatGPTをきっかけに、大規模言語モデル(LLM)や生成AIに興味を持たれている方が増えていると思います。開発者の方々の中には、中はどうなっているのか気になっている方も多いのではないでしょうか。実は、LLMや生成AIの仕組みを理解したいと思えば、ベクトルの理解は不可欠な要素となります。

ベクトルとは?

ベクトルは、高校の数学で習う「あの」ベクトルのことです。が、今回は、複数の数値をまとめて扱うデータ型であるという理解で十分です。例えば、

( 1.2, -4.5 )

という感じです。この例は、1.2と-4.5という2つの数値をまとめており、数値の個数(ここでは2)のことを次元数と言います。我々の生きている場所を3次元空間と呼ぶことがありますが、これは、3つの数値で場所が特定できることを表しています(例えば、緯度、経度、標高の3つで地球上の位置を完全に特定できます)。

ベクトルをどのように使うのか?

1
1 811
記事 Toshihiko Minamoto · 4月 4, 2024 10m read

 

皆さんもご存知のように、人工知能の世界はもう生活の中に存在しており、誰もが利用従っています。

多数のプラットフォームが、無料、サブスクリプション、または非公開の形式で、人工知能サービスを提供していますが、 コンピューティングの世界で「話題」となったことから、特に注目されているサービスは OpenAI です。最も有名な ChatGPT および DALL-E が主な原因と言えます。

<--break->OpenAI とは?

OpenAI は、人類全体にメリットのあるフレンドリーな人工知能の促進と開発を目指して、Sam Altman、Ilya Sutskever、Greg Brockman、Wojciech Zaremba、Elon Musk、John Schulman、および Andrej Karpathy によって 2015 年に設立された非営利の AI 研究所です。

設立以来、適切な目的のために使用されれば非常に強力なツールとなりうる素晴らしい製品をいくつかリリースしてきました。 とは言え、ほかのどの新しいテクノロジーと同様に、犯罪や悪行に使用される可能性があるという脅威があります。

そこで、ChatGPT サービスをテストして人工知能の定義が何かを尋ねてみました。 受け取った回答は、インターネット上で見つかった概念を蓄積して人間が回答するような方法で要約したものでした。

0
0 274
記事 Megumi Kakechi · 4月 2, 2024 3m read

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

Caché 2016.2以降(IRISはすべてのバージョン)で、クエリプランの凍結機能 が実装されました。
この機能により、メジャーバージョンのアップグレードを行った場合、既存のクエリプランは自動的に凍結(※)されます。
2023.1以降のバージョンより、アダプティブモードが無効の場合のみ、クエリプランが自動的に凍結されます。有効の場合は、既存のクエリプランは無効になり、新しいシステムでクエリの最初の実行時に新しい最適化されたクエリプランを生成します。既定は有効です。

こちらのトピックでは、
「新しいバージョンにしたのに、一部のクエリで思うようなパフォーマンスが出ない」
「凍結プランが使用されている場合、新しいプランでパフォーマンスがどのくらいでるのかを知りたい」
という場合の確認手順について、ご説明します。
 


%NOFPLANキーワードで新しいプランを試してみる

Frozen Plan (古いバージョンと同じプラン)を使用していて思ったようなパフォーマンスが出ない場合、凍結を解除して新しいプランを試すことが可能です。
新しいプランを試したい場合は、%NOFPLANキーワードをつけてクエリを実行します。
%NOFPLANを付けた方がパフォーマンスが良ければ、プラン凍結を解除して新しいプランで実行するようにします。

0
0 114
InterSystems公式 Masahito Miura · 4月 2, 2024

インターシステムズがこの機能を導入したのは何年も前のことであり、公開鍵インフラストラクチャの利用がまだ広まっていなかった時代でした。
現在では、公開鍵インフラストラクチャを使用するための資料を作成することが広く利用できるようになり、インターシステムズ PKI の使用が減少しています。さらにインターシステムズ PKIを安全に使用するためには投資が必要となります。

IRIS PKI のドキュメントには以前より以下を記載しております。
 InterSystems PKI はテスト目的のみで本番環境では使用しないで下さい。 


2024 年 3 月 26 日をもって、InterSystems PKI は非推奨としました。
製品ドキュメントは更新され、以下のように記載されます。
 InterSystems PKI の実装は非推奨です。将来のバージョンの InterSystems 製品から
    
この機能は削除される可能性があります。
    このドキュメントは、 既存のユーザのための参考資料としてのみ提供されます。
    インターシステムズは、ユーザが PKI 機能の使用を中止することを推奨します。

0
0 82
記事 Toshihiko Minamoto · 4月 1, 2024 5m read

大規模言語モデル(OpenAI の GPT-4 など)の発明と一般化によって、最近までは手動での処理が非現実的または不可能ですらあった大量の非構造化データを使用できる革新的なソリューションの波が押し寄せています。 データ検索(検索拡張生成に関する優れた紹介については、Don Woodlock の ML301 コースをご覧ください)、センチメント分析、完全自律型の AI エージェントなど、様々なアプリケーションが存在します。

この記事では、IRIS テーブルに挿入するレコードに自動的にキーワードを割り当てる単純なデータタグ付けアプリケーションの構築を通じて、IRIS の Embedded Python 機能を使って、Python OpenAI ライブラリに直接インターフェース接続する方法をご紹介します。 これらのキーワードをデータの検索と分類だけでなく、データ分析の目的に使用できるる単純なデータタグ付けアプリケーションを構築します。ユースケースの例として、製品の顧客レビューを使用します。

要件

  • IRIS の実行インスタンス
  • OpenAPI API キー(こちらで作成できます)
  • 構成済みの開発環境(この記事では VS Code を使用します)

Review クラス

顧客レビューのデータモデルを定義する ObjectScript クラスの作成から始めましょう。

0
0 205
記事 Toshihiko Minamoto · 3月 28, 2024 12m read

ローコードへの挑戦

こんな状況を思い浮かべてください。「ウィジェットダイレクト」というウィジェットとウィジェットアクセサリーを販売する一流のネットショップで楽しく勤務しています。先日、上司から一部の顧客がウィジェット商品にあまり満足していないという残念な話を聞き、苦情を追跡するヘルプデスクアプリケーションが必要となりました。さらに面白いことに、上司はコードのフットプリントを最小限に抑えることを希望しており、InterSystems IRIS を使って 150 行未満のコードでアプリケーションを提供するという課題をあなたに与えました。これは実際に可能なのでしょうか?

免責事項: この記事は、非常に基本的なアプリケーションの構築を記すものであり、簡潔さを維持するために、セキュリティやエラー処理などの重要な部分は省略されています。このアプリケーションは参考としてのみ使用し、本番アプリケーションには使用しないようにしてください。この記事ではデータプラットフォームとして IRIS 2023.1 を使用していますが、それ以前のバージョンでは記載されているすべての機能が提供されているとは限りません。

ステップ 1 - データモデルの定義

クリーンなネームスペースを新規に定義することから始めましょう。CODE と DATA データベースを使用します。

1
0 156
記事 Mihoko Iijima · 12月 7, 2022 2m read

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

InterSystems全製品のサーバ側コードで利用できる「ObjectScript」の基本の使い方から、困ったときのヒント集、エラーの読み方など、日本語ドキュメントの逆引きになるようなページを目指して、「ObjectScriptクックブック」を作成しました!

ObjectScriptの基本の「き」

Hello Worldの出力から始めたい方に最適です。

2024/3/25更新:8. デバッグ方法 を追加しました。ぜひご参照ください。

CookBook(こんなときどうする?集)

ObjectScriptの記述に困ったときに読んでいただけるヒント集です。コミュニティに寄せられたご質問をどんどん掲載していきます。

ObjectScriptでエラーが発生したら

ObjectScriptのプログラムでエラーが発生したときのエラーメッセージの読み方から、エラー情報の取得方法などを解説しています。

1
0 456
記事 Megumi Kakechi · 3月 24, 2024 2m read

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

クエリパフォーマンスを左右するクエリプランは、テーブルチューニングを行った結果の統計情報を元に生成されます。

ある環境で期待したプランになったけれど、他の環境では意図したプランにならない場合、(期待したプランとなる)既存環境からテーブル統計情報をエクスポートして別の環境にインポートし、同じ統計情報をもとにしたクエリプランで実行することができます。
 


既存環境からテーブル統計情報をエクスポートして、対象環境にインポートする方法

新規環境にてテーブルチューニングをしても思うようなパフォーマンスが出ない場合に、パフォーマンスの出ていたテスト環境と、もう一つの別の環境で同じクエリプランでの実行を試してみたい場合があるかと思います。
そんな時は、テーブル統計情報である選択性(Selectivity)とデータ数(ExtentSize)情報等をエクスポートして、対象環境にインポートする方法が使用できます。
もちろん、データの偏りによってクエリオプティマイザが適切だと判断して作成したプランが最適だと考えられますが、どうしても思うようなパフォーマンスが出ない場合に、原因調査も含めてこちらの方法をお試しください。

以下のように統計情報をエクスポート/インポートすることで、同じテーブル統計情報=同じクエリプラン で実行することが可能となります。

0
0 291
記事 Toshihiko Minamoto · 3月 18, 2024 7m read

はじめに

InterSystems は先日、Visual Studio Code(VSC)IDE 用の拡張機能は InterSystems Studio に比べてより優れたエクスペリエンスを提供するという考えから、VSC IDE 用の拡張機能を独占的に開発するためにバージョン 2023.2 より InterSystems Studio のサポートを終了すると発表しました。それ以来、VSC に切り替えた開発者や、VSC を使用し始めた開発者が大勢います。 VSC には Studio のような出力パネルがなく、InterSystems が開発したプラグインをダウンロードする以外に IRIS ターミナルを開く統合機能もないため、多くの人は演算を実行する際にターミナルの開き方に迷ったことでしょう。

概要

  • はじめに 
  • 解決策
    • 少なくとも IRIS 2020.1 または IRIS 2021.1.2 を使用するユーザー: Web ターミナルを使用
    • 少なくとも least IRIS 2023.2 を使用するユーザー: WebSocket ターミナルを使用
    • Docker ベースの IRIS を使用するユーザー
    • ローカルマシンでバージョン 2023.
1
1 707
記事 Megumi Kakechi · 3月 20, 2024 14m read

%Installerという特別なツールを使用すると、目的のIRIS構成を記述するインストールマニフェストを定義できることはご存じでしょうか?
インストールマニフェストに作成したい IRIS 構成を記述すると、インストール中、またはターミナルやコードからマニフェストを実行した際に、構成設定が適用されます。

インストールマニフェストについては、以下の記事でご紹介しておりますので是非ご覧ください(Cachéの記事になりますがIRISでも同様です)。
%InstallerでInterSystems Cachéにアプリケーションをデプロイする


こちらの記事では、実際にマニフェストで追加できる主な項目について、サンプルコードとあわせてご紹介します。
今回は、以下の機能の設定例をご紹介します。

1. ライセンスファイルのコピーと適用
2. ネームスペース・データベースの作成
3. 構成情報(ポートやデータベースキャッシュ・メモリ設定など)の適用
4. セキュリティ情報(ユーザ・サービスなど)のインポート ※同一バージョンのみ
5. セキュリティ情報(ユーザ・ロールなど)の作成
6. SQL情報の作成
7. ジャーナル情報の作成
8. ユーザ作成クラスやグローバルのインポート、メソッドの実行
9.

0
0 214
記事 Hiroshi Sato · 3月 18, 2024 6m read

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

インスタンスの開始が失敗し、コンソールログに"There exists a MISMATCH.WIJ file"が記録されている場合、何らかのシステム障害の影響でデータベースの整合性に関して問題が生じていることを示しています。

このような状況が発生した際にインスタンスの開始ができるようにするためには、以下の手順を実施します。

(1) a. インスタンスをNOSTUモードで起動       注1:
(2) b. データベースの整合性チェック

◆(2)の整合性チェックでエラーを検出しなかった場合、
 (3) d. MISMATCH.WIJ ファイルのリネーム
 (4) e. インスタンスの再起動
を実施します。

◆(2)の整合性チェックでエラーが検出された場合は、
 (3) c. MISMATCH.WIJファイルの適用
 (4) b. データベースの整合性チェック
 (5) d. MISMATCH.WIJファイルのリネーム
 (6) e. インスタンスの再起動
を実施します。 

以下に各手順の詳細を説明します。 

a. インスタンスをNOSTUモードで起動します。

以下に記載の手順の内、1)および2)の手順まで実行します。

3)以降は実施する必要はありません。

0
0 135
記事 Hiroshi Sato · 3月 18, 2024 1m read

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

UTF-8(BOM付)のテキストファイルは以下のようにして作成可能です。

 

 set f=##class(%Stream.FileCharacter).%New()
 set f.TranslateTable="UTF8"
 set f.BOM=($char($zhex("EF"))_$char($zhex("BB"))_$char($zhex("BF")))
 set f.Filename="D:\TEST\test.txt"
 set cr = $char(13)
 do f.Write("1行目"_cr)
 do f.Write("2行目"_cr)
 set ret=f.%Save()
0
0 245
記事 Hiroshi Sato · 3月 18, 2024 1m read

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

Embedded Pythonでトランザクションを実装するために、以下のようなAPIが用意されています。

import iris  
       iris.tlevel()
       intval = iris.tstart()
       iris.tcommit()
       iris.trollbackone()
       iris.trollback()

詳細はドキュメントをご覧ください。

Pythonでのトランザクション管理

0
1 114
記事 Hiroshi Sato · 3月 18, 2024 1m read

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

以下は、EXCELのシートから指定したセルのデータを取得してその値を返すメソッドの例です。

 

Class User.test
{
ClassMethod getSheetValue(n, m) As %String [ Language = python ]
{
  # n行目 m列 のデータを戻す
  filename = 'c:/temp/a.xlsx'
  # Python openpyxl を利用
  # https://openpyxl.readthedocs.io/
  import openpyxl
  from openpyxl import Workbook
  wb = openpyxl.load_workbook(filename)
  ws = wb['Sheet1']
  ws.title='Python'
  c = ws.cell(n,m)
  quit c.value
}
}
0
0 129
記事 Hiroshi Sato · 3月 18, 2024 1m read

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

$ZF(-100)で外部コマンドを実行する場合、その外部コマンドの子プロセスからの応答が返らない限り、$ZF(100)コマンドを発行したIRISプロセスはその応答を待って残り続けます。

従ってIRISプロセスを終了させるためにはその応答がない子プロセスを強制終了させる必要があります。

0
0 151
記事 Hiroshi Sato · 3月 18, 2024 1m read

InterSystems IRISのSQLの性能を評価する簡単なベンチマークテストを公開します。

また、このベンチマークプログラムで測定した過去の様々なハードウェアでのベンチマーク結果も公開します。

ハードウェアの進歩、インターシステムズの新しいテクノロジーの追加や性能改善によって、性能が劇的に変化しています。

現在のハードウェアの性能を考慮すると、少し物足りない感じが否めないですが、過去との結果の公正な比較という意味であえて、データの規模に関しては過去と同一条件でベンチマーク実施した結果となっています。

データの規模に関してはデータ件数を増やすことで変更できるようになっています。(現時点では500万件)

またこのベンチマークプログラムはインターシステムズ製品用に実装されていますが、使用しているテーブル構造は比較的シンプルなもので、また使用しているSQL文も標準的なものなので、他データベースシステムでも同じベンチマークを実施することはそんなに困難ではありません。

 

ベンチマークプログラムのリポジトリ

0
0 102
記事 Tomoko Furuzono · 3月 18, 2024 1m read

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

Pythonで、IRISサーバ外部から、IRISの処理を呼び出したりIRISのデータを扱いたい場合には、Native API for Pythonを使用します。
モジュールのインポートは、

import irisnative


で、行います。
詳細は、下記ドキュメント及び、各関連トピックをご参照ください。
[ドキュメント] InterSystems Native SDK for Python


一方、IRISサーバ内からPythonでIRISにアクセスする場合は、組み込みPython(Embedded Python)を使用することができます。
モジュールのインポートは、

import iris 


で行います。

詳細は、下記ドキュメント、及び、各関連トピックをご参照ください。
[ドキュメント] 組み込みPython
 

0
0 211
記事 Tomoko Furuzono · 3月 18, 2024 3m read

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

【任意のXMLドキュメントの読み込み】
任意のXMLドキュメントの読み込みを行うには、%XML.TextReaderクラスを使用します。
Parseメソッド(※ドキュメントがファイルの場合はParseFile())を使用してドキュメントをパースし、各ノードのプロパティを取得します。

例えば、下記のXMLの場合、

 <emp empid="1">
    <name>Suzuki</name>
    <address>Tokyo</address>
 </emp>

 
各赤枠が、"ノード"の単位となり、


 下記のようなイメージで取得することができます。

0
0 238
InterSystems公式 Megumi Kakechi · 3月 15, 2024 3m read

インターシステムズは、InterSystems IRIS Data Platform の2024.1 リリースを一般提供開始(GA)したことを発表しました。
2024.1 は、拡張メンテナンス(EM)リリースです。


【リリースハイライト】

今回のリリースには、以下のような数々の興味深いアップデートが含まれます:

1.  ObjectScript でのベクトルの使用: データ操作を最適化する強力な機能
2.  ベクトル検索 (実験的機能): 効率的なデータ検索のための最先端機能
3.  マルチボリュームデータベース: スケーラビリティとストレージ管理の強化
4.  ファスト・オンライン・バックアップ(実験的機能): バックアッププロセスの合理化
5.  複数のスーパーサーバポート: ネットワーク構成の柔軟性を提供
6.  その他多数!


【ドキュメント】

注目機能の詳細は、以下のリンクからご覧いただけます。
InterSystems IRIS 2024.1 (英語) 

本バージョンではプライベートWebサーバを使用した管理ポータル/Webアクセスが非推奨となりました。
詳細については以下もご参照ください。
https://jp.community.intersystems.

0
0 340
記事 Megumi Kakechi · 3月 11, 2024 2m read

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

SQLのINSERT/UPDATE/DELETE文で大量のデータを更新する際に、高速化する方法をご紹介します。
以下の2つの手順を実行することで、更新処理のパフォーマンスを向上させることが可能です。

1.INSERT/UPDATE/DELETE時にインデックスを作成せず、あとでまとめて作成する

2.INSERT/UPDATE/DELETE時にジャーナルをOFFにする

1は、%NOINDEX キーワードを指定してインデックスの生成を後でまとめて行うことで、インデックスの構築を抑制しパフォーマンスを向上させる方法です。

クエリ実行例は、以下のようになります。

例:
UPDATE %NOINDEX tablename …
INSERT %NOINDEX INTO tablename …
DELETE %NOINDEX FROM tablename ...


更新後、あとでまとめてインデックスを再構築する場合は管理ポータルで行う方法と、コマンドで行う方法の2種類があります。

◆ 管理ポータルの場合...

[システムエクスプローラ] > [SQL]
 (ネームスペース指定&テーブルを選択して) アクション - テーブルのインデックスを再構築...

◆ コマンドの場合...

Set sc = ##class(Schems.
0
0 923
お知らせ Mihoko Iijima · 3月 7, 2024

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

インターシステムズの講師付きトレーニング「システム統合機能(Interoperability)の使い方」3日間(有料)を下記日時で開催します!

 

開催方法は、Teams会議とブラウザ経由でアクセスする演習環境(Windows)を利用したオンラインでの開催です。(ブラウザと安定したネットワーク環境があれば特にその他準備は不要です。)

コースでは、InterSystems IRIS または InterSystems IRIS for Health(以降IRIS)のインストールから開始し、開発環境の作成、VSCodeを利用した簡単なクラス定義の作成、ObjectScriptを使用したオブジェクト操作の練習を行った後、本題のシステム統合機能(Interoperabiityメニュー)の解説と演習に入ります。

コースで用意している外部システムへのアクセスとしては、データベースとファイル入出力があります。進み具合にもよりますが、お時間ある時はREST経由で情報を受信する方法も演習いただけます。

なお、Interoperabilityについては、コミュニティのシリーズ記事「【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう!」でもご紹介しています。

0
0 78
記事 Mihoko Iijima · 3月 6, 2024 2m read

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

Ens.Directorクラスのクラスメソッドを使用して取得できます。

プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。

Set status=##class(Ens.Director).GetHostSettings("FAQSample.Interop.Production||FAQSample.Interop.FileOperation",.tSettings)

 以下、出力結果です。

USER>zwite tSettings
tSettings("AlertGroups")=""
tSettings("AlertOnError")=0
tSettings("AlertRetryGracePeriod")=0
tSettings("ArchiveIO")=0
tSettings("BusinessPartner")=""
tSettings("FailureTimeout")=15
tSettings("InactivityTimeout")=0
tSettings("OutputFileName")="test.
0
0 121
記事 Mihoko Iijima · 3月 4, 2024 9m read

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

永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。

ご参考:オブジェクト同時処理のオプション

既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)

並行処理の基本事項は以下の通りです。

  • アトミックな書き込みを保証したい場合は並行処理の値は0より大きい値を指定する必要があります。
  • 並行処理の値が0より大きい場合、オブジェクトの保存や削除処理中は、ロックの取得と解放を実施します。

並行処理の値別の動作の違いは以下の通りです。(ドキュメントの「並行処理の値」に表がありますので併せてご覧ください)

  • 値1の場合は、新規にオブジェクト生成したときにはロックを取得しません。既存オブジェクトを開く際に複数グローバルノードがある場合のみ共有ロックを取得し、開くのが終わったら開放します。(複数グローバルノードを持たないオブジェクトを開く場合はロックしません。)オブジェクトの保存時はロックを取得して保存処理が完了するとロックを解放します。
0
0 214