#InterSystems IRIS

1 フォロワー · 1.3K 投稿

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

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

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

記事 Mihoko Iijima · 3月 29, 2022 11m read

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

データベースの空き容量は、システムモニタを使用して監視することができます。

システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。

システムの閾値については以下ドキュメントをご参照ください。
システム・モニタのステータスおよびリソース・メトリック【IRIS】
システム・モニタのステータスおよびリソース・メトリック

データベースの空き容量については、システムデフォルトでは 50 MBを下回る場合にアラートが通知され、メッセージログ(コンソールログ)にアラート(深刻度 2)として記録され、alerts.log ファイルにも出力されます。

データベースの空き容量を任意サイズで監視したい場合、システムモニタに含まれる「アプリケーションモニタ」を利用して設定します。
注意:アプリケーションモニタでは、アラート対象となる情報があってもメッセージログ(コンソールログ)に出力しないため、メール通知/メソッド実行 を使用して通知するように設定します。

例えば、空き容量が 100MB を下回った時にアラートを通知したい場合は、アプリケーションモニタが提供する %Monitor.System.Sample.Freespace(空き容量メトリック)を利用します。

0
0 240
記事 Toshihiko Minamoto · 3月 29, 2022 3m read

Apache Zeppelin は以下を行えるようにする多目的ノートブックです。

  •     データの取り込み
  •    _ データ検出_
  •     データ分析
  •     データの可視化とコラボレーション

Apache Zeppelin インタープリターの概念に基づき、あらゆる言語/データ処理バックエンドを Zeppelin にプラグインすることができます。 現在、Apache Zeppelin は、Apache Spark、Apache Flink、Python、R、JDBC、Markcown、およびシェルなど、多くのインタープリターに対応しています。

データの洞察を得るための安全な環境を得られます。 Zeppelin のハイライト機能は、JDBC と Spark IRIS のネイティブコネクタを使用して利用することができます。

これは、あなたを軌道に乗せるためのクイックスタートガイドです。

1.- 公式 Web サイト(こちら)から Zeppelin をダウンロードして保存します。

2.- ディストリビューションを任意のインストールフォルダに解凍します。

3.- JDK をインストールする必要があります(まだインストールされていない場合)。

0
0 127
記事 Tomoko Furuzono · 3月 29, 2022 1m read

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

現在実行中のコードの位置は、$STACK関数を使用して $STACK($STACK,"PLACE") で取得できます。

サンプルコードは以下ドキュメントをご参照ください。

現在実行中のコードの位置を取得する方法について【IRIS】
現在実行中のコードの位置を取得する方法について

0
0 141
記事 Tomoko Furuzono · 3月 29, 2022 1m read

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

SQLの場合、NULLデータと空文字列 ('')は区別されます。
それぞれの設定・確認方法は、以下のようになります。

(1) NULLデータ

【SQL】 

insert into test (a) values (NULL)
select * from test where a IS NULL

【InterSystems ObjectScript】

set x=##class(User.test).%New()
set x.a=""

(2) 空文字列 ('')

【SQL】

insert into test (a) values ('')
select * from test where a = ''

【InterSystems ObjectScript】

set x=##class(User.test).%New()
set x.a=$C(0)

詳細については、以下ドキュメントをご参照ください。

NULL および空文字列【IRIS】
NULL および空文字列

0
0 357
InterSystems公式 Maki Hashizawa · 3月 24, 2022

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

"Innovation in Data - データによるデジタル変革の推進" をテーマに、DX推進に不可欠な健全なデータの提供とデータプラットフォームの最新情報をお届けしました「InterSystems Japan Virtual Summit 2022」の全てのセッションを、4月22日(金)までオンデマンドで配信しております。

見逃した方や、もう一度セッションをご覧になりたい方など、是非、この機会にご覧いただければと思います。

お申込み・視聴はこちらから

 

  

■テーマ:Innovation in Data - データによるデジタル変革の推進

■オンデマンド配信:2022年4月22日(金)まで

■参加:無料(登録制)

お申込み・視聴はこちらから
 

《技術セッション》

  ■Embedded Python で広がる InterSystems IRISの世界

  ■SQLでどこまでできる? ~データロードから機械学習まで~

  ■オープンソースだけで IRIS on Kubernetesを動かそう

  ■VSCode、Jenkinsを使用したCICD環境の構築

  ■FHIR SQL Builder 

         ■ストレージの節約方法について

   ■ミラーリングを使用したHAおよびDR構成例

皆様のご参加をお待ちしております。

0
0 174
記事 Toshihiko Minamoto · 3月 24, 2022 5m read

この記事では、CSP Web アプリケーションを使用して、コードで認証、承認、および監査を行う方法と、Web アプリケーションを有効化/無効化および認証/認証解除する方法について説明します。

  • オンラインデモは、クラウド(https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp)にあります(SuperUser | SYS)。
  • 先に進む前に、動画をご覧になることをお勧めします(https://www.youtube.com/watch?v=qFRa3njqDcA)。

アプリケーションのレイアウト

0
0 286
記事 Megumi Kakechi · 3月 23, 2022 3m read

これは、InterSystems FAQサイトの記事です。
ジャーナル・ファイルの処理でジャーナルファイルに記録されるタイプが、それぞれどのような状況下で記録されるのかについて説明します。

0
0 283
記事 Hiroshi Sato · 3月 23, 2022 2m read

もし現在ご使用のデータベース技術で壁に突き当たっていると感じておられるならば、是非InterSystems IRIS Data Platformへの移行をご検討ください。

(以下IRIS)

IRISに移行するに際して、現行のプログラム資産を全て書き換える必要はありません。

IRISに移行する際には、以下の手順で進めることを推奨しております。

アプリケーションコードをそのまま流用し、動作させるために、現在のデータベースからIRISへの移行を行います。

既存のRDBMSのデータ定義(DDL文で記述されたもの)をIRISに取り込むことで、リレーショナルとオブジェクトの両モデルからアクセスが可能となるため、必要に応じてオブジェクト・アクセスが妥当である処理に対しては、アプリケーションプログラムの修正など、対応策が選択できます。

さらにXMLやJSONなどのドキュメント形式のデータの取り扱いも容易ですので、RestFullなアプリケーション構築にも向いています。

また、IRISには習得が容易でデータベースエンジンと一体化したスクリプト言語「InterSystems ObjectScript」が用意されているので、処理の一部をサーバ側ロジックとしてストアドプロシージャ化することによってデータベース処理を効率化するなど、様々な対応策を検討することができます。

0
0 219
記事 Hiroshi Sato · 3月 23, 2022 2m read

質問

現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか?

答え

InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。

ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。

また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。
(使用されているSQL文等はそのまま流用可能な場合が多いです。)

さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。

以上のことから他データベースシステムからIRISシステムへの移行には相応の移行コストがかかるため、移行は必ずしも容易とは言えませんが、それでも移行を決断されたお客様はたくさんおられます。

そしてほとんどのお客様は移行したシステムの性能、開発生産性、保守性、運用の容易さ等に満足されております。

0
0 146
記事 Hiroshi Sato · 3月 23, 2022 1m read

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

以下のコードは、https://www.intersystems.com/assets/intersystems-logo.png をダウンロードし、c:\temp\test.pngとしてファイルを保存する例になります。

以下のコードを動作させるためには、SSLTESTという名前のSSL定義を作成しておく必要があります。

0
0 206
InterSystems公式 Toshihiko Minamoto · 3月 21, 2022

InterSystems Kubernetes Operation (IKO) バージョン 3.3 が WRC ダウンロードページ やInterSystems Container Registry よりダウンロード可能となりました。

IKO は、使いやすい irisClusterリソース定義を提供することにより、Kubernetesにおける InterSystems IRIS やInterSystems IRIS for Health との連携を簡素化します。 簡単なシャーディング、ミラーリング、ECP構成などの機能一覧は ドキュメント をご覧ください。

IKO 3.3の主な修正点:

  • InterSystems IRIS 、 IRIS for Healthのバージョン 2021.2 、 2022.1 のサポート
  • Kuberentes 1.21のサポート
  • irisCluster の一部として共通のSystem Alerting and Monitoring (SAM) コンフィグレーションのデプロイ
  • irisCluster の一部として InterSystems API Manager (IAM) のデプロイや管理
  • ミラーリングのアクティブ側の自動タグ付けにより、サービスは常にアクティブなミラーメンバーを指すことができます。
0
0 135
記事 Toshihiko Minamoto · 3月 21, 2022 2m read

少し前に GitHub が導入されてから、そこにホストされているあらゆるリポジトリの VSCode をブラウザで非常に素早く実行できるようになりました。 リポジトリで . キーかプルリクエストを押すか、URL で .com.dev に置き換えることで、ブラウザ内で VSCode 環境に直接移動することができます。

GitHub 開発

この VSCode はデスクトップバージョンのライトバージョンではありますが、完全にブラウザ内で動作します。 このため、このような動作を可能にする拡張機能には制限があります。 そこで、VSCode-ObjectScript 拡張機能の新しい 1.2.1 バージョンをご紹介します。ブラウザモードでの実行がサポートされています。

0
0 245
質問 Kobata Makoto · 2月 28, 2022

皆様こんにちは。

Native API for .NETを使用して、%Stream.GlobalBinaryタイプのプロパティを持つデータを作成しようとしています。

%Stream.GlobalBinaryタイプのプロパティ(binaryData)に書き込む部分は以下のようになっています。

Using obj As InterSystems.Data.IRISClient.ADO.IRISObject = iris.ClassMethodObject("User.Sample","%New")

        Using prop As InterSystems.Data.IRISClient.ADO.IRISObject = obj.GetObject("binaryData")

                prop.InvokeStatusCode("Write", binary)

        End Using

        obj.InvokeStatusCode("%Save")

End Using

この”Write”メソッド部分ですが、1.5MB程度の制限がかかってしまい、1.5MBを超えるようなデータが登録できません。

※実際にはエラーとはならず、1.5MBまでしか書き込まれていない状態のようです。

どなたか解決方法等ご教授いただけないでしょうか。

8
0 286
InterSystems公式 Toshihiko Minamoto · 3月 15, 2022

インターシステムズ社は、ObjectScript ルーチンのコンパイルが正しく行われない不具合を修正しました。

この不具合は、最近リリースされた 2021.1.1 バージョンのみに存在します。

            InterSystems IRIS

            InterSystems IRIS for Health

            HealthShare Health Connect

インターシステムズでは、2021.1.1 を使用しないことを推奨しています。ルーチンのコンパイルが正しく行われず、予測不可能なロジックの実行が発生する可能性があります。2021.1.1 のバージョンは、配布チャネルから削除されました。  インターシステムズ社は、この不具合を修正したバージョン 2021.1.2 をご利用ください。

ご参考までに、この修正プログラムはCDS3299として識別されます. この問題の影響を受けるのは2021.1.1 のみです。

このアラートについてご質問がございましたら、サポートセンター Worldwide Response Center までお問い合わせください。

0
0 130
記事 Toshihiko Minamoto · 3月 15, 2022 14m read

これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。

IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。

この記事では、imaplib というライブラリを使用して IMAP クライアントを実装し、それを IRIS Email フレームワーク に統合することにします。 また、Python エコシステムの力を借りて、組み込み Python を使用して、IRIS プラットフォームでの実際の課題を解決する方法を示す実用的な例も確認します。

ここで実装されているすべてのコードは、こちらの GitHub リポジトリpython ディレクトリにあります。

0
0 440
お知らせ Mihoko Iijima · 3月 11, 2022

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

次のコンテストへの参加準備はよろしいですか? 19 回目の InterSystems オンラインプログラミングコンテストのテーマは・・・

🏆 InterSystems Global Contest 🏆 です!

(もう 18 回も開催してたんですね。びっくり ( ゚Д゚) いたしました)

応募期間は 2022年3月21日~4月3日 です。 

💰 賞金総額: $10K 💰


0
0 202
記事 Toshihiko Minamoto · 3月 8, 2022 8m read

InterSystemsを使用してExcelファイルを生成する方法はたくさんあります。ZENレポートやIRISレポート(Logiレポートまたは正式にはJReportsと呼ばれるレポート)のほか、サードパーティのJavaライブラリを使用するなど、可能性はほぼ無限です。

しかし、Caché ObjectScriptだけで単純なスプレッドシートを作成したい場合はどうでしょうか。 (サードパーティアプリケーションを使用せずに、です)

私の場合、大量の生データを含むレポート(金融関係の人たちが好むレポート)を生成する必要がありますが、私のZEN/IRISでは対応できません。私が呼ぶところの「ゼロバイトファイル」が生成され、基本的にJavaのメモリ不足となり、レポーティングサーバーに大きな負荷を生じてしまいます。

これは、Office Open XML(OOXML)を使って実現できます。 Office Open XML形式は、多数のXMLファイルで構成されるZIPパケージです。 つまり基本的には、これらのXMLファイルを生成してZIP圧縮し、.xslxに名前を変更すればよいのです。 それくらい単純です。

0
0 477
InterSystems公式 Toshihiko Minamoto · 3月 3, 2022

注意事項:前回リリースしましたビルド2021.1.1.324.0には問題があります。  2021.1.1 メンテナンスリリースはWRCから削除し、ビルド2021.1.2.336.0 に更新しています。2021.1.2のコンテナ版はまもなくリリースする予定です。

2種類のメンテナンスリリースが利用可能です。  

  • Caché  2018.1.6, Ensemble 2018.1.6,  HSAP 2018.1.6
  • InterSystems IRIS 2020.1.2, IRIS for Health 2020.1.2, HealthShare Health Connect 2020.1.2 

インストレーションキットやコンテナはWRC ソフトウェア配布サイト からダウンロードできます。 Container images for the Enterprise Editions of InterSystems IRISや IRIS for Health の Enterprise Editionのコンテナイメージ、すべての関連コンポーネントはInterSystems Container Registry から取得できます。

0
0 117
記事 Megumi Kakechi · 3月 3, 2022 3m read

これは、InterSystems FAQサイトの記事です。
ある処理において、データを無期限に保存する必要がなくグローバルの強力な性能が必要になる場合に、IRISTEMP/CACHETEMP データベースに保存される一時グローバルが使用されます。
IRISTEMP/CACHETEMPデータベースはジャーナルされないので、一時グローバルの使用ではジャーナルファイルは作成されません。

IRISTEMP/CACHETEMP データベースは、システムで一時ストレージ用に使用され、ユーザも同じ用途で使用することができます。

一時グローバルとIRISTEMPデータベースの詳細については、以下のドキュメントをご覧ください。
一時グローバルと IRISTEMP データベース


一時グローバルとして使用されるグローバルには以下のようなものがあります。

0
1 463
記事 Toshihiko Minamoto · 3月 2, 2022 5m read

これは、IRIS でリレーショナルデータをクエリするアナリストとアプリケーションに、さらに優れた適応性とパフォーマンスによるエクスペリエンスを提供する IRIS SQL のイノベーションをトピックとした短い連載の 3 つ目の記事です。 2021.2 では連載の最後の記事になるかもしれませんが、この分野ではさらにいくつかの機能強化が行われています。 この記事では、このリリースで収集し始めたヒストグラムという追加のテーブル統計について、もう少し詳しく説明します。

0
0 119
記事 Tomoko Furuzono · 3月 1, 2022 2m read

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

オブジェクトに対する一般的な処理をサポートする各種関数を提供しています。
詳細は以下ドキュメントをご参照ください。
オブジェクトへの動的アクセス【IRIS】
オブジェクトへの動的アクセス


サンプルクラス(Sample.Person)を使用して、利用例をご紹介します。

【InterSystems IRIS でご確認いただく場合】
InterSystems IRISでは、サンプル定義の一部を GitHub 上に公開しています。
ダウンロード情報やインポート、データ作成手順については、下記の記事をご参照ください 。
サンプル(Sample.Person)のクラス定義ダウンロードとサンプルデータの作成について

【Caché/Ensemble/HealthShare でご確認いただく場合】
SAMPLES ネームスペースへ移動してご確認ください。

(1) クラス名の取得:$CLASSNAME(インスタンス

SAMPLES>set p=##class(Sample.Person).%OpenId(1)
SAMPLES>write $CLASSNAME(p)
Sample.Person
SAMPLES>write $CLASSNAME(p.Home)  // オブジェクト参照のプロパティ
Sample.Address
SAMPLES>
0
0 536
記事 Tomoko Furuzono · 3月 1, 2022 1m read

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

マップされたクラス・ルーチンも含めてコンパイルする場合は、コンパイラ修飾子に "/mapped=1" もしくは "/mapped" を指定します。 例えば、以下のように行います。

【例1】クラスリストを取得してコンパイル 

 do $System.OBJ.GetClassList(.list,"/mapped")
 // build your list starting from .list
 do $System.OBJ.Compile(.list) 

【例2】全てのクラスをコンパイル 

 do $system.OBJ.CompileAll("/mapped") 
0
0 183
記事 Tomoko Furuzono · 3月 1, 2022 2m read

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

ミラー構成削除時に、ミラー・データベースのミラー属性を削除するオプションを指定しないと、通常データベースに戻すことができず、次回マウント時に読み取り専用でデータベースがマウントされます。 読み書き可能なデータベースに戻すためには、システムルーチン ^MIRROR を使用してミラー属性を削除する必要があります。
手順は以下のとおりです。(%SYSネームスペースで実行します。)

0
0 284
記事 Toshihiko Minamoto · 3月 1, 2022 5m read

これは、適応性とパフォーマンスに優れた SQL エクスペリエンスを提供する 2021.2 SQL 強化機能に関する連載第 2 回目の記事です。 この記事では、前の記事で説明したランタイムプランの選択機能の主要な入力であるテーブル統計の収集におけるイノベーションに焦点を当てます。

0
1 195
記事 Mihoko Iijima · 2月 28, 2022 7m read

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

今回は、スーパーやコンビニでもらうレシートを写真で撮り、OCR を使ってレシートの画像から文字列を切り出して IRIS に登録する流れを試してみました。

サンプルでは、Google の Vision API を利用してレシートの JPG 画像から購入物品をテキストで抽出しています。

サンプルコード一式 👉 https://github.com/Intersystems-jp/iris-embeddedpython-OCR
 

最初、オンラインラーニングで使っている 「tesseract-OCR」を使ってみようと思ったのですが、レシートには半角カナが混在していたりで、半カナがなかなかうまく切り出せず、あきらめました・・(半角カナがなかったら日本語もばっちり読めていたのですが・・)

もし、tesseract-OCR で半カナを切り出す良い方法をご存知の方いらっしゃいましたら、ぜひ教えてください!

今回試すにあたり、Vision API の使い方を詳しく書いているページがありましたのでコードなど参考させていただきました。ありがとうございました。

​​【Google Colab】Vision APIで『レシートOCR』

0
1 1454
記事 Toshihiko Minamoto · 2月 24, 2022 5m read

InterSystems IRIS Data Platform の 2021.2 リリースには、ミッションクリティカルなアプリケーションを高速で柔軟性に優れ、セキュアに開発するための刺激的な新機能が多数含まれています。 Embedded Python は間違いなく脚光を浴びています(正当な理由で!)が、SQL の分野でも、テーブルデータに関する詳細な統計情報を収集し、それを最適なクエリプランに提供する、より適応性の高いエンジンに向けて大きな一歩を踏み出しました。 この短い連載記事では、2021.2 で新しく追加された 3 つの要素について詳しく説明し、ランタイムプランの選択(RTPC)を手始めに、この目標に向かって進みます。

これらについて適切な順序で話していくのは困難です(この記事を書く上で、私がどれだけ順序を入れ替えたか想像できないほどです!) というのも、これらが相互に非常にうまく機能するためです。 そのため、ご自由に順序を変えてお読みくださいsmiley

0
1 223
記事 Megumi Kakechi · 2月 23, 2022 1m read

これは、InterSystems FAQサイトの記事です。
現ジャーナルファイル名の取得は、ジャーナリング API を利用します。

##class(%SYS.Journal.System).GetCurrentFileName()


現ジャーナルファイルの使用量bytesの取得は、ジャーナリング API を利用します。

##class(%SYS.Journal.System).GetCurrentFileOffset()


実行例は以下の通りです。

%SYS>Write ##class(%SYS.Journal.System).GetCurrentFileName()
c:\journal\20110223.001
%SYS>Write ##class(%SYS.Journal.System).GetCurrentFileOffset()
1213012

あわせて、以下の関連記事も是非ご覧ください。

0
0 242