記事 Makiko Kokubun · 6月 1, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

IRIS の ObjectScript を使えば、ビジネスロジックの記述からキーバリュー形式のデータ操作まで様々な処理が記述できます。
ですが、残念ながら Python のように豊富なライブラリを利用し、機械学習をはじめとする Python が得意とすることまでは単独では行えません。
「ObjectScript から Python を呼べたら?」を実現するための計画中機能も含め、IRIS がサポートする Python の利用方法をご紹介します。

この動画の講演資料(PDF)もご用意しました。
動画の中でご紹介している技術資料へのURLは、こちらの資料をご活用ください。

0
0 149
お知らせ Mihoko Iijima · 6月 1, 2021

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

いよいよ、第12回 InterSystems IRIS プログラミングコンテスト(FHIR Accelerator)の投票が、6月3日(木)US時間 から開始されます!

当初、5月31日(US時間)から投票開始予定でしたが、応募期間を延長し 6月3日が投票開始日となりました。

テーマは、InterSystems IRIS FHIR Accelerator Service (FHIRaaS) on AWS を使用して構築されたソリューションです。関連記事にご利用を開始するための手順を掲載しています。ぜひご参照ください。

➡️ 投票は 6月3日から! これだ 🔥 と思う作品への投票、よろしくお願いします!

投票方法や新機能について:

Experts nomination:

今回は、経験豊富な審査員がベストアプリを選び、Expert Nominationで賞品をノミネートします。

↓審査員↓

0
0 79
記事 Megumi Kakechi · 6月 1, 2021 1m read

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

OSのコマンド実行する場合、$ZF(-100) を使用します。

do $ZF(-100,"",program,args) // Windows コマンドを【同期】実行します。
do $ZF(-100,"/ASYNC",program,args) // Windows コマンドを【非同期】実行します。

mkdir, copy などのOSシェルコマンドを実行する場合は、/SHELL もあわせて指定します。

do $zf(-100,"/shell /async","mkdir","c:\temp\x")

 

詳細は以下のドキュメントを参照してください。

$ZF(-100) について【IRIS】
$ZF(-100) について
 

0
0 327
記事 Toshihiko Minamoto · 5月 31, 2021 3m read

以下の記事では、DeepSee のより柔軟なアーキテクチャ設計の概要を説明します。 前の例で説明したとおり、この実装には、DeepSee キャッシュや DeepSee の実装と設定、および同期グローバル用の個別のデータベースが含まれています。 この例では、DeepSee インデックスを保存するための新しいデータベースを紹介します。 DeepSee インデックスがファクトテーブルや次元テーブルとともにマッピングされないように、グローバルマッピングを再定義します。

0
0 146
記事 Mihoko Iijima · 5月 28, 2021 8m read

開発者の皆さん、こんにちは🌂 今年は早い梅雨入りでした ☔

さて、新しい✨ 実行/開発環境テンプレートを作成しました。 Docker 🐳、docker-compose 、git がインストールされていれば、すぐにお試しいただけます。ぜひご利用ください!

今回は、ご存知の方が多いと思われる(?)某アニメの登場人物を使った人物相関図をテーマに【キーバリュー形式で IRIS に登録してグラフ構造で表示してみた】を体験できるテンプレートです(テンプレートは、Python/Node.js/Java からお試しいただける環境をご用意しています)。

人物相関図のイメージ 

以下、今回のテーマについて、ビデオと文字でご紹介しています。最後までお付き合いいただければ幸いです!(ビデオは全体で 7 分 20 秒)

人物相関図と言えば、グラフデータベースをイメージされると思います。

IRIS はグラフデータベースではないのですが、IRIS ネイティブのデータの「グローバル」を利用することで、グラフデータベースと似たような構造を表現することができます。

0
0 457
記事 Mihoko Iijima · 5月 27, 2021 2m read

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

HL7 メッセージの送受信を行うプロダクションでは、以下3個のグローバルが非常に大きくなることがあります。

グローバルの大きさを確認する場合は、^%GSIZEユーティリティを利用します。詳細は関連トピック/記事をご参照ください。

^EnsHL7.Segment
^EnsLib.H.MessageD
^EnsLib.H.MessageI

HL7メッセージは EnsLib.HL7.Message.cls で定義されます。
^EnsLib.H.MessageD はデータを保存するグローバル、^EnsLib.H.MessageI はインデックスを保存するグローバルです。

また、HL7メッセージは多数のセグメントで構成されており、メッセージデータを含むそれらのセグメントは ^EnsHL7.Segment に保存されます。

^EnsLib.H.MessageD グローバルの値は、^EnsHL7.Segment グローバルの添え字にリンクしています。

これらメッセージ関連のグローバルの削除については、任意の保持日数を指定して手動および定期的に削除することができます。
パージ(Purge)用ユーティリティについては、以下のドキュメントをご参照ください。

プロダクション・データのパージ【IRIS】

プロダクション・データのパージ

関連トピック/記事

0
0 183
記事 Megumi Kakechi · 5月 27, 2021 1m read

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

InterSystems Data Platformは、データベースキャッシュやルーチンキャッシュなどの共有メモリを、起動時に割り当てます。

バージョン2007.1以降をWindows上で動作させる際、Windows特有の共有メモリに関する問題が生じることが判明しています。

詳細については、以下の技術資料をご参照ください。

Windows上での共有メモリの割り当てについて

また、以下の記事もあわせてご覧ください。

コンソールログに "Failed to allocate xxxMB shared memory using large pages..." のエラーメッセージが出ているとき

IRISが使用するワーキングセット(メモリ)について

0
0 534
記事 Toshihiko Minamoto · 5月 27, 2021 5m read

以下の記事では、DeepSee の中程度の複雑さのアーキテクチャ設計を説明します。 前の例で説明したとおり、この実装には、DeepSee キャッシュや DeepSee の実装と設定用の個別のデータベースが含まれています。 この記事では、同期に必要なグローバルの保存用と、ファクトテーブルとインデックスの保存用に、2 つの新しいデータベースを紹介します。

0
0 202
記事 Tomoko Furuzono · 5月 26, 2021 2m read

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

オンラインバックアップの API である BACKUP^DBACK ルーチンを使用して実行できます。
フルバックアップを実行する例は以下の通りです。

set status=$$BACKUP^DBACK("","F","full backup","c:\backup\full.cbk","Y","c:\backup\full-log.log","NOINPUT","Y","Y","","")


バックアップ成功時は戻り値に 1 が返り、失敗時は 0 が返ります。
失敗時の詳細は、ログファイルをご参照ください。

また、第2引数の TYPE に C を指定すると累積バックアップ、I を指定すると差分バックアップを指定できます。
ルーチン例は以下の通りです。

0
0 366
記事 Makiko Kokubun · 5月 25, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

この動画では、クラウド環境下で利用可能な InterSystems 製品の様々なバックアップオプションと戦略、そしてサードパーティのバックアップ代替オプションについて紹介します。

今現在、クラウド環境をご利用でない方にも役立てて頂ける情報も紹介します。ぜひご覧ください。

関連動画として、こちらも公開しています。宜しければご覧下さい。
「クラウドストレージ戦略」(字幕付き動画)

0
0 88
記事 Toshihiko Minamoto · 5月 24, 2021 3m read

以下の記事は、DeepSee の基本的なアーキテクチャを実装するためのガイドです。 この実装には、DeepSee キャッシュ用のデータベースと DeepSee 実装と設定用のデータベースが含まれています。

0
0 219
InterSystems公式 Toshihiko Minamoto · 4月 24, 2021

みなさん、こんにちは。
今回はInterSystems Container Registryを発表できることをうれしく思います。 これはコンテナベースのリリースやプレビューにアクセスする新たな配布チャンネルです。すべてのコミュニティエディションのイメージはログイン不要の公開リポジトリにあります。すべてのリリースイメージ(IRIS, IRIS for Health, Health Connect, System Alerting and Monitoring, InterSystems Cloud Manager) やユーティリティイメージ(アービター、 Web Gateway、PasswordHash等) にはWRCアカウントの認証情報から生成されるログイントークンが必要です。

0
0 369
InterSystems公式 Toshihiko Minamoto · 5月 24, 2021

InterSystems API Manager (IAM) バージョン2.3がリリースされました

IAMコンテナや以前のバージョンからアップグレードに必要な関連ソフトウェアは全てWRCソフトウエア配布サイトの「Components」エリアからダウンロードできます。

このリリースのビルド番号は IAM 2.3.3.2-1 です。

このリリースはKong Enterprise バージョン2.3.3.2を基にしています。

InterSystems API Manager バージョン2.3を使用することで、セキュアな方法でのデプロイや高可用性対応がより簡単に実現できます。
IAMは以下の内容を含め、さまざまな新機能があります。

  • ハイブリッドモードの紹介
  • Docker secretの広域サポート

ハイブリッドモードはデータプレーンとコントロールプレーンのIAMノードをデプロイできます。データプレーンがAPIトラフィックを扱っている間にコントロールプレーンはデータプレーンノードを設定したり、データプレーンからのテレメトリーを観察するのに使われます。これは導入時における柔軟性とHAシナリオを容易に実現できます。ハイブリッドモードの詳細はこちら。この機能はインターシステムズ開発者コミュニティで後ほど詳しく紹介されます。

0
0 119
記事 Mihoko Iijima · 5月 23, 2021 2m read

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

仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

複雑なメッセージ構造から必要な項目を抽出して処理する際、メッセージを InterSystems IRIS data platform のオプジェクト指向フレームワークに基づき一度オブジェクトとしてインスタンス化することで処理を簡潔に記述できます。

しかし、データ量の多いメッセージを解析しオブジェクトにインスタンス化する処理は非常に負荷のかかる処理で、しかも大量のメッセージを処理しなければならない場合は求められるスループットを満たせない状況になりがちです。

しかも必要なデータは「全体の中のほんの少し」という状況の場合、無駄の多い処理となります。

0
0 981
記事 Mihoko Iijima · 5月 23, 2021 2m read

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

%Net.FtpSession クラスを使用して FTP サーバから、アップロード/ダウンロードする方法をご紹介します。

1. FTPサーバにイメージファイルをアップロードする

0
0 311
InterSystems公式 Toshihiko Minamoto · 5月 21, 2021

Java Business Host終了のお知らせ

IRIS 2020.1、IRIS for Health 2020.1にてリリースされたPEXは、Java Business Hostよりも優れた方法でプロダクションにJavaアプリを組み込めるようになりました。PEXは相互運用でのコンポーネントを構築する完全なAPIを持っており、Javaと.Netの両方で利用可能です。

Java Business HostはIRIS、IRIS  for Health 2020.4より削除されました。Java Business Hostをご利用のお客様にはPEXへの移行をお勧めします。

PEXの利点

  • Javaまたは.Netでプロダクションコンポーネントを作成可能
  • コンポーネント間でより複雑なメッセージ構造の受け渡しが可能
  • 設定の簡略化
  • ObjectScriptを必要としないため開発の簡素化が可能

PEXへのマイグレーションについての詳細は Java Business Host から PEX への移行 をご参照ください。

0
0 86
お知らせ Mihoko Iijima · 5月 20, 2021

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

お客様のシステムで発生した障害に対処するための製品修正や社内のコードレビューで新たに発見された潜在的な問題に対応するための修正などは、問題の重要度(運用に支障をきたす、アプリケーションの動作に影響があるなど)に応じて、順次新しいメジャーバージョン、メンテナンスバージョンに取り込まれていきます。

しかしながら、新しいバージョンのリリースには所定の時間が必要ですので、そのリリース前に該当する修正だけを適用したいというご要望にお応えするために InterSystemsではアドホックと呼んでいる応急パッチを提供することも可能です。

しかしながら、この対応はあくまでも応急処置であり、その問題が対処されたバージョンがリリースされた後には、そのバージョンをご使用いただくことを推奨致します。

以下の関連情報もぜひご参照ください。

0
0 139
質問 Yuji Ohata · 5月 18, 2021

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

AWSのcodebuildを利用して、
IRIS環境をビルドされた経験がある方がいらっしゃたら
情報共有いただきたいです。

ただいま取り組んでいるプロジェクトでは、
IRISのclsファイルをaws codecommitのgitリポジトリで管理しております。
※Dockerコンテナではない。

ここで作成されたソースコードをaws Codebuildの仕組みを利用して
自動でコンパイルチェックをする仕組みを構築したいと考えております。
コンパイルを実行する環境としては、AWS ECRに自作したDockerコンテナを利用しております。
※コンテナはstore/intersystems/iris-community:2020.1.0.215.0を基底に、簡単なネームスペースを作成しただけのもの。
 ローカルPC上ではIRIS環境として利用できることを確認済み。

ビルドはbuildspec.ymlにて、以下のような命令で行おうと考えております。

1. iris start IRIS でirisを起動。
2. iris terminal IRISでターミナルにログイン。
3. gitから取得したコードをImport & コンパイル。

しかし、上記を実行しようとすると2の時点で Access Deniedのエラーとなってしまいます。

5
0 851
記事 Makiko Kokubun · 5月 18, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

InterSystems IRISではシャドウイングは非推奨の為、Caché/Ensembleからのマイグレーションに伴い、シャドウイングをご使用頂いているお客様はミラーリングへ移行する必要があります。

この動画では、ミラーリングの概要およびミラーリングの構成例、シャドウイングとの運用上の違いや注意点についてご説明します。

シャドウイングから移行される場合のミラーリングの構成としては、DR非同期またはレポーティング非同期になります。 ミラーリングとシャドウイングでは、データベースファイルやジャーナルファイルの取り扱いが異なります。
この点につきまして、動画の後半に紹介しておりますのでご参考下さい。

マイグレーションについては、こちらの動画も合わせてご覧ください。
(動画)InterSystems IRIS へのマイグレーション

0
0 257
記事 Tomohiro Iwamoto · 5月 18, 2021 18m read

目的

Japan Virtual Summit 2021で、Kubernetesに関するセッションを実施させていただいたのですが、AzureのアカウントやIRIS評価用ライセンスキーをお持ちの方が対象になっていました。もう少し手軽に試してみたいとお考えの開発者の方もおられると思いますので、本記事では仮想環境でも利用可能なk8sの軽量実装であるmirok8sで、IRIS Community Editionを稼働させる手順をご紹介いたします。

2022/1/7 若干の加筆・修正しました

マルチノード化する手順はこちらに記載しています。

0
0 4696
記事 Toshihiko Minamoto · 5月 18, 2021 12m read

第2部: インデックス処理

クラスにどのようなインデックスが必要であるのか、それをどのように定義するのかについて理解できたので、 次に、どのように処理するのかについて確認しましょう。

クエリプラン

注意: クラスに変更を適用する場合と同様に、ライブシステムにインデックスを追加する場合にもリスクが伴います。インデックスが入力されているときに、ユーザーがデータにアクセスしたり更新したりすると、クエリ結果が空になったり誤った結果が生じることがあります。また、構築中のインデックスが破損する場合もあります。 ライブシステムでインデックスを定義したり使用したりするには追加の手順があり、それについてはこのセクションで触れていますが、詳細はドキュメントに記載されています。)

新しいインデックスの準備ができたら、SQLオプティマイザが、クエリを実行する上で最も効率的に読み取れるインデックスであると判断するかどうかを確認できます。 プランを確認するために実際にクエリを実行する必要はありません。 クエリがあれば、プランをプログラムで確認することができます。

            Set query = 1

     Set query(1) = “SELECT SSN,Name FROM Sample.Person WHERE Office_State = 'MA'”

0
0 338
記事 Megumi Kakechi · 5月 13, 2021 1m read

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

システムクラス SYS.Lock のメソッド GetLockSpaceInfo() にてロックテーブルの空きサイズ、使用サイズが取得可能です。

%SYS>w ##class(SYS.Lock).GetLockSpaceInfo()
4717392,4712512,1200


戻り値は、“AvailableSpace, UsableSpace, UsedSpace” になり、それぞれByte単位の値を表しています。

AvailableSpace:ロックテーブルサイズから使用サイズ(UsedSpace)を引いたサイズ

UsableSpace:AvailableSpaceよりロック管理のための内部データを引いたサイズ
→これがユーザの使用できるロックテーブル空き容量になります。

UsedSpace:使用サイズ
 

詳細は、クラスリファレンス をご覧ください。

0
0 258
記事 Megumi Kakechi · 5月 13, 2021 1m read

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

Webアプリケーションの開発・運用には、高性能・高スケーラビリティ・開発生産性の良さが求められます。

IRIS Data Platformには、高性能で軽量なデータベースエンジンとそのエンジンの性能を最大限活用するアプリケーションサーバ機能、および、Webアプリケーションを迅速に開発するためのREST/JSON対応、API管理機能が用意されています。

さらに、マルチコア・マルチCPUシステムに最適化したアーキテクチャや、複数サーバでのスケールアウト手法による高スケーラビリティを提供するECP、シャーディングと呼ばれる技術を提供します。

0
0 150
記事 Toshihiko Minamoto · 5月 12, 2021 12m read

これは、SQLインデックスに関する2部構成の記事の前半です。

第1部 - インデックスを理解する

インデックスとは?

最後に図書館に行った時のことを思い出してください。 通常そこには、分野別(そして作者順と題名順)に整理された本が並び、それぞれの棚には、本の分野を説明したコードが記載された本立てがあります。 特定の分野の本を収集する場合、すべての通路を歩いて一冊ずつ本の表紙を読む代わりに、目的の分野の本棚に直接向かって選ぶことができるでしょう。

SQLインデックスにもこれと同じ機能があります。テーブルの各行にフィールドの値へのクイック参照を提供することで、パフォーマンスを向上させています。

インデックスの設定は、最適なSQLパフォーマンスを得られるようにクラスを準備する際の主なステップの1つです。

この記事では、次のことについて説明します。

  1. インデックスとは何か。いつ、なぜそれを使用するか。
  2. どのようなインデックスが存在するか、どのようなシナリオに適しているのか。
  3. インデックスの例
  4. 作成方法
  • インデックスが存在する場合、どのように扱うのか。
  • この記事では、Sampleスキーマのクラスを参照します。 このスキーマは以下に示すGitHubリポジトリにあります。また、CachéとEnsembleでインストールされるSamplesネームスペースでも提供されています。

    0
    0 540
    記事 Mihoko Iijima · 5月 12, 2021 2m read

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

    InterSystems IRISでは、サンプル定義の一部は、GitHub上に公開しています。

    本FAQ内で登場する Sample.Person のクラス定義とサンプルデータについては、こちら からダウンロードいただけます。
    手順は以下の通りです。

    1. Zipとしてダウンロード
    2. 1を展開
    3. 展開フォルダ内 以下階層のクラス定義をターミナルを利用してIRISへインポートし、インポート後 Build()メソッドを実行します。

    Samples-Data-master\buildsample\Build.DataSample.cls をフルパスで指定してインポートします(Sample-Data-masterフォルダを c:\kit へコピーした状態での例です)。

    do $system.OBJ.Load("C:\kit\Samples-Data-master\buildsample\Build.DataSample.cls","ck")  

    データ生成のBuild() メソッド実行例は以下の通りです。

    do ##class(Build.DataSample).Build() 

     

    実行例(全体):

    0
    0 229
    記事 Makiko Kokubun · 5月 11, 2021 1m read

    *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

    国や地域のニーズに合わせて何のデータをどこにどのように格納するのかを定める共通ルールである FHIR プロファイルは、FHIR による標準化において、非常に重要な要素です。

    この動画では、InterSystems IRIS for Health における FHIR リポジトリの構築・設定~ FHIR プロファイルの追加の方法を、最新バージョンおよび今後のバージョンでのサポート内容を含めてご紹介いたします。

    この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。 FHIR にご興味ある方はぜひご覧ください。

    0
    0 308
    お知らせ Mihoko Iijima · 5月 5, 2021

    開発者の皆さん、こんにちは!GW は、のんびりゆったり良いお休みになりましたでしょうか🎏?

    休み明けにぴったりのコンテストテーマが発表されました!今回は 🔥 FHIR Accelerator 🔥 です!

    🏆 InterSystems FHIR Accelerator Programming Contest 🏆

    InterSystems FHIR-as-a-service on AWS を使用する、または、InterSystems IRIS FHIR Accelerator を使用したソリューションの開発に役立つアプリケーションを開発し、ご応募ください!

    応募期間は 2021年5月10日~5月30日 です!

    💰 賞金総額: $8,750 💰

    (投票期間は 2021年5月31日~6月6日、勝者発表は 6月7日を予定しています)

    優勝特典

    1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

    🥇 1位 - $4,000 

    🥈 2位 - $2,000 

    🥉 3位 - $1,000

    2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

    🥇 1位 - $1000 

    🥈 2位 - $500 

    🥉 3位 - $250

    複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

    参加資格

    1
    0 135
    記事 Toshihiko Minamoto · 5月 11, 2021 9m read

    1. ブロックチェーン

    この記事を書いている時点(2019年2月)で、ビットコインの価値はそれが絶頂期だったころの 5 分の 1 未満に下落しています。 そのため、ブロックチェーンの私の体験について誰かに話すときに最初に耳にするのは、「今頃ブロックチェーンを欲しがる人がいるのか」という偽りなく懐疑的な言葉です。

    その通り。ブロックチェーンの盛り上がりは衰退しています。 ところが、それが基づいているテクノロジーはここにとどまり、特定の分野で使用され続けるでしょう。一般的にインターネットではこのテクノロジーの使用方法が記述された資料でいっぱいです。 

    0
    0 246
    お知らせ Mihoko Iijima · 5月 8, 2021

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

    いよいよ 🏆 InterSystems FHIR Accelerator Programming Contest 🏆 への応募が開始されます!

    今回のコンテストに参加するためには、InterSystems IRIS FHIR Accelerator Service (FHIRaaS) を AWS で利用する必要があります。

    FHIRaaS の利用を開始するための最初の手続きとして、特別なコードを含めた URL を使用して ISC Dev FHIR Portal でユーザ情報を登録する必要があります。

    「特別なコードを含んだ URL」って?

    以下例のように「特別なコード」をクエリパラメータに指定して、ポータルサイトにアクセスします。

    👉🏼 https://portal.trial.isccloud.io/account/signup?code=特別なコード
     

    ポータルサイトを利用するための「特別なコード」は、以下いずれかの方法で入手できます!

    • コミュニティ上で @Irina Podmazko へダイレクトメッセージを送付する
    • DC Discord channel にアクセスして、またはプライベートメッセージでコンテスト担当者に連絡する
    • このお知らせのコメント欄に「コード希望!」を記入する(担当者からダイレクトメッセージでコードをお知らせします)
    0
    0 166