記事 Toshihiko Minamoto · 10月 5, 2022 4m read

IRIS における Python サポートの最近の改善と、InterSystems による Python DB-API サポートへの継続的な作業により、 Django プロジェクトに IRIS サポートを実装しました。Python DB-API の使用により、他のデータベースと連携することが可能です。

Django で、IRIS にデータを保存する単純なアプリケーションを試してみましょう。

ToDo アプリ

0
0 416
記事 Toshihiko Minamoto · 10月 5, 2022 5m read

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

誰かのヘルプが必要だったり、興味のある機能を議論したり、みんなにアナウンスしたり、知識を共有したりしませんか?
この記事ではそのすべての方法について説明します。

より簡単に投稿方法にたどり着くために以下の項目を用意しました。

一般的なガイドライン

最初に、開発者コミュニティサイトのトップメニューにある「新しい投稿」ボタンをクリックします。

その後、質問やアナウンス、記事、議論の作成が選択できるエディタが表示されます。投稿の種類に応じて必須項目と任意項目が表示されます。

0
0 154
お知らせ Toshihiko Minamoto · 10月 4, 2022

デベロッパーエコシステムサマーニュースへようこそ!

この夏、インターシステムズのデベロッパーエコシステムにおいて、たくさんのエキサイティングなイベントやアクティビティがありました。
その中でも最もホットなニュースやトピックを厳選してお届けします。

ここでは、この時期にあった注目すべきことを、一目でわかるようにまとめました。どうぞご覧ください!

0
0 153
お知らせ Toshihiko Minamoto · 10月 4, 2022

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

開発者コミュニティの新たな機能として開発者による重要な質問をご紹介します。

インターシステムズデータプラットフォームに関連する質問のうち、最もインパクトがあると思われるものに「Key Question」タグを追加します。

毎月、インターシステムズエキスパートがそのような質問を選び、その著者は栄誉ある賞を受賞することになります。

どのような栄誉なのかはつづきをご覧ください。

0
0 143
お知らせ Toshihiko Minamoto · 10月 4, 2022

コミュニティの皆さんこんにちは。
 

開発者コミュニティのための新しいアイデアで盛り上がっている中、私たちは、功績のある方(つまり、私たちの親愛なるメンバーの皆さん)には功績を認め、皆さんの創造性と想像力を他の人と共有することにしました。

新しいお題目「インターシステムズミーム」を導入したいと思います。😜

0
0 122
お知らせ Toshihiko Minamoto · 10月 4, 2022

開発者コミュニティのメンバーの皆さん
こんにちは。

インターシステムズ開発者コミュニティでいくつかの大きなマイルストーンを達成できたことを誇りに思います!

📝 10,000 件の投稿

👥 11,000 件の登録メンバー

👁 5,000,000 件の閲覧(ごひゃくまんですよ!)

0
0 117
お知らせ Maki Hashizawa · 10月 4, 2022

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

インタ―システムズでは、本年7月に、「国際モダンホスピタルショウ 2022」に、3年ぶりに出展致しました。

ブースには、ミニシアターを設け、業界をリードする多くの方やパートナー企業様にプレゼンテーションをいただき、その動画を公開しています。

本日は、その中で、アプリケーション開発者の皆様に参考となる IRISを解説いただいたプレゼンテーション動画をご紹介させていただきます。

「Python + iknowpy... + IRISが変えるデータ分析  アプリケーション編」

「Python + iknowpy... + IRISが変えるデータ分析  アーキテクチャ編

 

<プレゼンター>

群馬大学医学部附属病院
システム統合センタ― 副センター長 准教授 鳥飼 幸太先生

 

その他、HL7 FHIRを解説やパートナーソリューション紹介など、国際モダンホスピタルショウ2022 インタ―システムズブースでのプレゼンテーション動画は、こちらからご覧いただけます。

よろしければ、ご覧ください。

0
0 99
記事 Megumi Kakechi · 10月 3, 2022 1m read

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

Question:

InterSystems IRIS は 2フェーズコミットをサポートしていますか?

Answer:

サポートしていません。

2フェーズコミットはデータベースシステムがサポートしているだけでは十分ではなく、アプリケーションサーバ等の各実装が定めている2フェーズコミットのプロトコルを駆使して、アプリケーションを構築する必要があります。

また関連するシステムの全てのコンポーネントが対応している必要がある、ロングトランザクションには向いていないなど、現実に実装する局面では様々な制約事項があります。

2フェーズコミットは、技術面、設計および実装面、コスト面、性能面などハードルが非常に高いため、実際には限られた領域での利用に留まっています。

0
0 116
記事 Toshihiko Minamoto · 9月 26, 2022 8m read

プログラムによる本番環境アクセス

プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。

現在のネームスペース

大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。

// Object script 
// アクティブなネームスペースはこの変数に格納される
$$$NAMESPACE 
// ネームスペースを出力
Write $$$NAMESPACE
# Python
import iris
# このメソッドからアクティブなネームスペースが返される
iris.utils._OriginalNamespace()
# ネームスペースを出力
print(iris.utils._OriginalNamespace())
>>> DEMONSTRATION

現在の本番環境(アクティブまたは最後に実行した本番環境)

本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。

// ObjectScript
USER>ZN "DEMONSTRATION"
// 現在または最後に実行した本番環境を取得
DEMONSTRATION>W ##class(Ens.Director).GetActiveProductionName()
>>> Hospital.
0
0 217
お知らせ Mihoko Iijima · 9月 22, 2022

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

新しいタイプのコンテスト「アイデアコンテスト」を開催します!​​​

💡 InterSystems Idea-A-Thon(アイデアソン) 💡

9月26日~10月16日の期間に、InterSystems 製品やサービスに関連するアイデアをご提案いただくコンテストで、必ず賞品がもらえます!

そして、どなたでもご参加いただけます!

>> あたなの素敵なアイデアを投稿してください! <<


0
0 239
記事 Megumi Kakechi · 9月 21, 2022 2m read

SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。

手順は以下になります。
 


1. 外部ソースへの SQL ゲートウェイ接続の作成を行います


※こちらの例では、IRISの別インスタンスへの接続を試しています。 
※ODBCを使用される場合は、事前に
システムDSN(64bit)の準備が必要です。
管理ポータルより
 [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。

接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。

     

※ODBC/JDBC 各接続定義の作成の詳細は、以下のドキュメントをご覧ください。
 JDBC 経由での SQL ゲートウェイへの接続
 ODBC 経由での SQL ゲートウェイへの接続

 


2. リンクテーブルウィザードを使用して、1で作成したSQLゲートウェイ接続に対してリンクテーブルを作成します


管理ポータルより
 [システムエクスプローラ] > [SQL] ページより、
  [ウィザード] > [リンクテーブル] をクリックしリンクテーブルウィザードを開きます。

 手順に従ってリンクテーブルを作成します。

0
0 654
記事 Toshihiko Minamoto · 9月 20, 2022 6m read

これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 3 回目の記事です。 このパートでは、DB2 からの移行手続きを説明します。前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、 最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。

移行プロセス用のサンプルデータを取得

GitHub では、2 つのデータベースをビルドして実行する Docker Compose プロジェクトをダウンロードできます。

  • ソースデータベース: サンプルデータベースを含む DB2 データベースの Docker インスタンス。
0
0 346
お知らせ Toshihiko Minamoto · 9月 19, 2022

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

前回のお知らせで、フィードバック・ポータル「インターシステムズ・アイデア」を紹介しました。今回は、このポータルについて、特にそこで扱われるトピックについて詳しく説明したいと思います。

以下のカテゴリーでアイデアを募集しています!

0
0 81
お知らせ Toshihiko Minamoto · 9月 19, 2022

開発者コミュニティの皆さん
こんにちは。

私たちは、皆さんからの製品強化の要望を収集、分析、対応するプロセスを改善したいと常に念頭に置いてきました。 最高のアイデアを集め、聞き、それに応えるためのさらに優れたユーザーエクスペリエンスや内部プロセスが必要だと考えていました。そしてついに、この思いが実を結ぶことになりました。

そこで、インターシステムズ社の公式フィードバック・ポータルをご紹介します。

💡 >> インターシステムズ・アイデア<< 💡

0
0 146
お知らせ Toshihiko Minamoto · 9月 19, 2022

この度、インターシステムズの新しいフィードバック・ポータル「インターシステムズ・アイデア」をご紹介いたします。

ここでは、皆さんのビジネス上の課題を解決するために、インターシステムズの製品をどのように進化させることができるか、皆さんからご提案いただけるよう、フィードバックの仕組みを改善することを目的としています。

開発者コミュニティの質問は、特定のコーディングの問題に関して仲間と対話するための手法であり、カスタマーサポートは、いつも通り、緊急の問題を解決するための方法です。

この新しいポータルは、より高度なアイデアを収集するためのものです。今やっていることよりも、将来的に製品をもっとよくするためにどうしたらいいかを考えてみてください。このポータルでは、自分のフィードバックを投稿したり、他の人が提供したフィードバックにコメントしたり、投票したりすることができます。インターシステムズは、あなたが投稿したフィードバックを閲覧し、あなたのフィードバックに直接回答し、あなたのリクエストの進捗に応じてフィードバック項目のステータスを更新することができます。

ぜひ、ご覧いただき、あなたのアイデアを投稿し、今後のためにブックマークしてください。

よろしくお願いします!

0
0 97
お知らせ Mihoko Iijima · 9月 15, 2022

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

サステナブルなソリューションの構築をテーマとした Interoperability プログラミングコンテストの投票が開始されました!

🔥 ベストアプリケーションはこれだ! 🔥 と思う作品にぜひ投票お願いします!

投票方法は以下ご参照ください。

0
0 92
質問 Yuji Ohata · 9月 13, 2022

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

現在開発している処理の中で、大量データをSELECT & INSERTする処理があり、合計で91分かかっています。
この処理で用いるSQLは実行結果を再利用したい等の意図があったため、ScrollableResultSetを用いていましたが、
このAPI自体がSQL実行時に全件ループを回したり、そもそも古いAPIとの事であったため、
%SQL.Statementに書き換えたところ、62分まで短縮することが出来ました。

ここからが問題なのですが、更なる処理時間の軽減のために時間がかかる処理を調査していたところ、
カラム情報を取得する%Get()メソッドにコストがかかっていることがわかりました。
なので現在はこれを改善したいと思っております。

こちらで動作を見たところ、最速は下記でいう所の「rset.name」でこちらを利用すると、41分まで削減されます。

https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cl…

しかし、我々としましてはAPIを汎用的に用いたいため、nameの部分を動的に扱えるような%Get()の様な仕組みが欲しいです。

4
0 273
記事 Toshihiko Minamoto · 9月 10, 2022 49m read


このフォーメーション私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。

このフォーメーションは、ほとんどをコピー&ペースト操作で実行でき、グローバル演習を行う前に、ステップごとの操作が説明されています。
記事のコメント欄、Teams、またはメール(lucas.enard@intersystems.com)でご質問にお答えします。

このフォーメーションに関するあらゆる点において、ご意見やご感想をお送りいただけると幸いです。

1. Ensemble / Interoperability のフォーメーション

このフォーメーションでは、Python および特に以下を使用した InterSystems のインターオペラビリティフレームワークを学習することを目標としています。

  • 本番環境
  • メッセージ
  • ビジネスオペレーション
  • アダプター
  • ビジネスプロセス
  • ビジネスサービス
  • REST サービスと運用

目次:

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

これは InterSystems FAQ サイトの記事です。
外部バックアップ機能と、SANソリューションが提供するスナップショット(スナップクローン、ミラークローンなど呼び方はベンダ毎に異なります)などのテクノロジを利用することで、バックアップ時のインスタンス停止時間を最短にすることができます。

操作手順概要は以下の通りです。

  1. 外部バックアップ用ユーティリティを利用して、データベースファイルへの書き込みを一時中断します(%SYSネームスペースで実行します)。
    %SYS>set status=##class(Backup.General).ExternalFreeze()
  2. 外部のスナップショットユーティリティを使用して、ファイルシステムのスナップショットを作成します。    
  3. データベースファイルへの書き込みを再開するため、外部バックアップ用ユーティリティを使用します。
    %SYS>set status=##class(Backup.General).ExternalThaw()
  4. バックアップメディアにスナップショットをコピーします。


【ご参考】
ExternalFreeze() の処理は以下のようになります。

 1.  ジャーナルファイルの切り替え
 2.  データベースバッファ上の書き込み待ちバッファをすべてデータベースファイルに書き出す
 3.

0
0 302
記事 Megumi Kakechi · 9月 5, 2022 2m read

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

Web 経由でのイメージファイルのアップロード/ダウンロードを行うサンプルをご紹介します。
サンプルでは、以下の手順でファイルの「アップロード/ダウンロード」を行っています。

  1. Stream型のプロパティをもったクラスを用意する
  2. upload ボタン押下でイメージファイルをIRISサーバにアップロードする
  3. アップロードされたデータを %request.MimeData で受け取り CopyFromAndSave メソッドを使ってコピー&1 のクラスに保存する
  4. アップロードされたファイルを画面に表示する
  5. download ボタンを押下し、1 のクラスに保存したファイルをローカルにダウンロードする。


サンプルプログラムの使い方は次のとおりです。


最初のページでファイルを選択し go ボタンをクリックすると、次のページにアップロードされた画像が表示されます。

アップロードしたファイルをダウンロードしたい場合は、download ボタンをクリックしてください。

0
0 306
InterSystems公式 Toshihiko Minamoto · 9月 4, 2022

これは、2022.2の開発者プレビュープログラムのリリース第6弾です。 プレビューリリースは、隔週で更新される予定で、準備が整い次第、機能を追加していく予定です。  2022.2では、SQL管理、クラウド統合、KafkaおよびJMSアダプタ、SQL Loaderなどにおいて、多くのアップデート、修正、機能強化が行われています。 製品改善のため、開発者コミュニティを通じてフィードバックをお寄せください。

列指向ストレージに関して、Early Access Program (EAP) を受け付けています。ご興味のある方はぜひ Early Access Program にご参加ください。

開発者向けプレビューでは、Ubuntu 22.04 LTSやLinux FHEL 9に対応しています。

通常、CDリリースにはサポートされているすべてのプラットフォーム向けの標準インストールパッケージと、OCI(Open Container Initiative、別名Dockerコンテナ)形式のコンテナイメージが付属しています。  詳細については、サポートされるプラットフォームのドキュメントをご参照ください。

インストールパッケージとプレビューキーは、WRCのプレビューダウンロードサイトまたは評価サービスのウェブサイト(2022.

0
0 136
記事 Toshihiko Minamoto · 8月 31, 2022 7m read

これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 4 回目の記事です。 このパートでは、Microsoft SQL Server から移行するための手順を説明します。 前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。

 

移行プロセス用のサンプルデータを取得

GitHub では、以下の 2 つのデータベースをビルドして実行する Docker Compose プロジェクトをダウンロードできます。
    ソースデータベース: サンプルデータベースを含む SQL Server データベースの Docker インスタンス。
2.

0
0 285
お知らせ Toshihiko Minamoto · 8月 31, 2022

開発者コミュニティの皆さん
こんにちは。

今回は一新された「はじめに」ページを紹介します。

📍 jp.ommunity.intersystems.com/about

このページでは、開発者コミュニティに関する一般的な情報、興味深い統計、便利なリンク、その他多くの情報を得ることができます。
 

ここをチェックすると、長い間メンバーだった方でも、何か新しい発見があるかもしれません。

0
0 113
記事 Megumi Kakechi · 8月 30, 2022 4m read

これは InterSystems FAQ サイトの記事です。
InterSystems IRIS Data Platform(以下IRISと表記)ではマルチモデルのサポートにより、データに対して様々なアクセス手法を使用することができます。

主だったアクセス手法としてダイレクトアクセスSQLアクセスオブジェクトアクセスがあります。
 

ダイレクトアクセス は、IRISのネイティブ構造であるグローバルと呼ばれるキーバリュー型のデータに直接アクセスする方法です。

SQLアクセス は、リレーショナルデータベースシステムにアクセスするための標準言語であるSQLを使用してデータにアクセスする方法です。

オブジェクトアクセス は、オブジェクト指向言語でオブジェクトを操作するための表記法として幅広く利用されるドット記法を使用してデータにアクセスする方法です。


ダイレクトアクセスとSQLアクセスおよびオブジェクトアクセスでは、処理の抽象度が異なります。

抽象度が高くなるに伴い、内部的な処理のオーバヘッドが増加するため、単純な1スレッド単位でのアクセススピードの速さについては、ダイレクトアクセスが、SQLアクセスとオブジェクトアクセスに比較して速い場合が多いです。

しかしながら、今後SQLアクセスに関してより高速に処理できるよう様々な開発が進行中です。

0
0 515
記事 Hiroshi Sato · 8月 28, 2022 1m read

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

実行ログデータなどトランザクション中にロールバックが発生しても前の状態に戻ってほしくないデータがあります。

それらのデータをロールバックされないデータベースIRISTEMPに配置することで上記の要件に対応できます。

一時グローバルと IRISTEMP データベース

ロールバックさせたくないテーブルの実体をこのデータベースにマッピングすることでロールバック後に情報を残すことができます。

ただし、このデータベースはIRIS再起動で内容がクリアされますので、永続的に保持したい場合には、いずれかのタイミング(ロールバック後等)で永続テーブルにコピーを行う必要があります。

また、これとは別に、トランザクション対象外としたいテーブル操作の前にプロセスのジャーナル記録を停止し、操作完了後にジャーナル記録を再開することで、その操作をトランザクション対象外にすることもできます。

ただしこの方法は、ミラーリングをお使いいただく際にはご使用いただけません。

%NOJRN を使用したプロセス・レベルでのジャーナリングの管理

デベロッパーコミュニティの記事

0
0 349
記事 Mihoko Iijima · 8月 25, 2022 1m read

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

メモ:xxx にはネームスペース名が入ります。

xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。
^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。

xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。
^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。

注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません

詳細は以下ドキュメントをご覧下さい。

InterSystems IRIS の一時プロダクション・データの格納場所

InterSystems IRIS のパスワード資格情報の格納場所

 

関連する記事もご参照ください。

プロダクション:システムのデフォルト設定と認証情報の移行方法について

0
0 139