開発者の皆さん、こんにちは!21回目の InterSystems プログラミングコンテストを開催します!
お題は👉 🏆 InterSystems Full Stack コンテスト 2022 🏆 です!
期間: 2022年6月27日~7月17日まで(詳細は末尾をご参照ください)
💰賞金総額: $10,000 💰
開発者の皆さん、こんにちは!21回目の InterSystems プログラミングコンテストを開催します!
お題は👉 🏆 InterSystems Full Stack コンテスト 2022 🏆 です!
期間: 2022年6月27日~7月17日まで(詳細は末尾をご参照ください)
💰賞金総額: $10,000 💰
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
現在テーブルを用いてシステムの設計を行っておりますが、
トランザクション中に、そのトランザクションの影響を受けずにテーブルを
更新するような仕組みが欲しいと考えております。
(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。)
例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。
そのような回避策がないかをご教示いただきたいです。
用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。
このAPIは複数プロセスから呼ばれることがありますが、
1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる
(1000行以上行ロックをしたときのIRISの仕様)ことで、
他プロセスがAPIを利用できなくなるなどの影響が出ています。
今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。
極力グローバルは用いない設計としたいので、テーブルで対応したいです。
すいませんが、何か情報をお持ちの方はご回答いただけますと幸いです。
開発者コミュニティの皆さん
こんにちは。
ご存知のように、今年のグローバル・サミットは対面式です。ぜひ、皆さんとお会いしたいですね!
コミュニティのメンバー全員が参加できるわけではありませんので(私もです!)、メンバーからのメッセージビデオを制作することにしました 。🎥
この素晴らしいイベントに世界中から参加しましょう!🌏
このチャレンジでは、コミュニティメンバーに「あなたの国からこんにちは🙌」と言う短い(2〜3秒)ビデオをアップロード⬆️してください。その動画を他の動画と組み合わせて、グローバルサミット2022で紹介します。共有ファイルのリンクをDMで送るだけでもOKです。
では、またお会いしましょう!
これは、一般的なデータベース(PostgreSQL や MySQL など)から IRIS への移行に関する前回の記事に続く記事です。
PostgreSQL から移行する際に使用する場合と同じ手続きを使用します。 ただし、MySQL で使用されているデータ型は IRIS のデータ型に非常に似ているため、前回よりもさらに簡単に移行できます。 このため、列に変換ルールを作成する必要はありません。
GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。
サンプルを取得して実行するには、以下の手順に従います。
開発者の皆さん、こんにちは!
InterSystems グランプリコンテスト の投票結果が発表されました!この記事ではコンテスト受賞者を発表します📢
Postgres から IRIS にデータとデータスキーマを転送または移行する必要がある場合があります。 これを現時点で実行するにはいくつかのオプションがありますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。この記事では、DBeaver を使った移行の実行方法を説明します。
GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。
.png)
開発者のみなさん、こんにちは!
前回のウェビナー開催から少し時間がたってしまいましたが、2022年06月28日 (火曜日) 12時半~ 30分程度のウェビナーを開催します!
今回は、新たに開講する「Embedded Python トレーニングコース」の内容をご紹介するウェビナーです。
新規開講コースでは、
を実際の操作を通してご理解いただけるよう、コースを3種類に分けております。
ウェビナーでは、
について、ご説明いたします。
まだ、インターシステムズ製品を使ったことがない!という方でもご参加いただけます。
特に、以下内容についてご興味をお持ちの方々にお勧めするウェビナーです。
皆様のご参加、心よりお待ち申し上げております![]()
開発者のみなさん、こんにちは!
2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「Embedded Python で広がる InterSystems IRIS の世界」のアーカイブを YouTube に公開いたしました。
(プレイリストはこちら)
今や Python は最も人気のあるプログラミング言語の一つです。シンプルで機能的なコードが書けることや、なんでも揃う豊富なライブラリを利用できることなどが人気の理由です。
Embedded Python は、IRIS に Python のランタイムを組み込み、ルーチンやメソッドを Python で書けるようにする画期的な機能です。
IRIS 開発者の方にとって、広大な Python の世界が身近になります。InterSystems IRIS の新しいカタチを是非ご覧ください。
【目次】
00:52 Python とは何か?
04:20 Embedded Python とは何か?
06:29 使用パターン
08:15 活用シナリオ
12:20 デモ1:Jupyter Notebook を使って IRIS からデータを取得して分析
22:00 デモ2:IRIS プログラムから Python を利用する
インターシステムズは InterSystems IRIS Data Platform、InterSystems IRIS for Health、 HealthShare Health Connect がリリースされたことをお知らせします。
2022.1は、EMリリースですので、メンテナンス・ビルドが2年間利用でき、その後、さらに2年間、セキュリティに特化したビルドが利用できるようになります。
InterSystems IRIS Data Platform 2022.1 は以下の最新OSをサポートします。
また、開発環境用として、M1 ならびに IntelチップセットのMacOS 12 (Monterey) をサポートします。
コミュニティの皆さん、こんにちは。
今までにミラーリング環境をセットアップされたことはありますか? プライベートネットワーク、仮想 IP アドレス、および SSL 構成を設定したことはありますか? この作業を何度か繰り返すと、証明書の生成や各 IRIS インスタンスの構成にはたくさんの手動による作業が必要で、時間がかかる作業であることに気づきました。 頻繁にこの作業を行わなければならない方にとっては、面倒な作業です。
たとえば、品質管理チームでは、新しいバージョンのアプリケーションをテストするたびに、新しい環境を作成しなければならないでしょう。 サポートチームであれば、複雑な問題を再現する環境を作成しなくてはならないかもしれません。
となれば、こういった環境を素早く作成できるツールが絶対に必要です。
この記事では、以下を使用するミラー環境のセットアップ例を紹介します。

一見すると、ちょっと複雑であり、たくさんのコードが必要なように見えますが、ご心配いりません。 OpenExchange には、ほとんどの操作を簡単に実行できるライブラリがあります。
Cachéでは、今後の新しいOSのサポート、例えばWindows 11やWindows 2022のサポートは行われないことになりました。
いよいよ新しいサーバハードウェアを導入するとCachéが使えなくなる可能性が高くなってきました。
皆さんIRISへの移行をお早目にご検討ください。
IRISへの移行の際に障害となるものの1つがVisM.OCXを利用したアプリケーションの移行です。
IRISでもこの機能は制限付きで利用可能です。
しかし、そのためには少々面倒な手続きが必要です。
(この手続きについてはインターシステムズにお問い合わせください)
しかもこの手続きも暫定処置で将来なくなる可能性もゼロではありません。
ところでなんでそんな面倒くさい手続きが必要なのと感じた人もいると思います。
その理由は、
VisM.OCXがマイクロソフトの非常に古い技術を利用していて、開発元のマイクロソフトもそれを全くサポートしていませんし、セキュリティ脆弱性への対応等も全く行われていません。
そんな技術なんで、インターシステムズも技術サポートするのが困難です。
一方で、世の中、セキュリティに関しては増々厳しい対応が求められてきています。
そのためインターシステムズもセキュリティ対策には十分注意して対応しており、セキュリティの脆弱性が見つかったらできるだけ速やかに対応しています。
VisM.OCXはVisual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。
誕生から既に20年以上が経過した非常に古いテクノロジーです。
OCX規格(ActiveXコンポーネント)は、マイクロソフト社が推進してきた規格ですが、やがてマイクロソフト社が後継となる.Net Frameworkをリリースし、その新しいフレームワークへの移行を強力に推進すると同時に、OCX規格は非推奨機能となっています。
一方で下位互換性のため、.Net Framework配下でOCXを動作可能とする仕組みが用意されており、結果としてOCXは、.Net Framework環境下で動作可能です。
従って、VisM.OCXも.Net対応のプログラミング言語C#やVB.NETからそのまま利用することができます。
しかしながら.Net Framework上で動作するとは言え、.Net Frameworkが用意する安全性の高い資源管理や強固なセキュリティ機能の恩恵を受けることができず、いわゆるマネージドコードとして動作できないという制約を抱えています。
上記の状況を整理した結果、InterSystems社は、IRISをリリースするに際し、VisM.
開発者の皆さん、こんにちは!
InterSystems グランプリ・プログラミングコンテストの投票が始まりました!ベストアプリケーションだ🔥と思う作品に投票をお願いします!
🔥 投票はこちらから! 🔥
投票方法は以下ご参照ください。
こんにちは! Open Dataset コンテストにおいて、1 つのコンテナに InterSystems IRIS と Openflights データセットを、もう 1 つのコンテナに InterSystems IRIS と Apache Zeppelin を使用する Docker コンテナアプリスタックを構築しました。 詳細はこちらでご覧ください:
これを使用すると、構成をまったく行わずに、Apache Zeppelin から Openflights データセットをクエリできます。 コンテナは hub.docker にあるため、とても簡単に使用できます。
Docker ダッシュボードを確認すると、openflights_demo というグループがあるのがわかります。
Apache Zeppelin には以下からアクセスします。
http://localhost:8080
スクリーンショットで確認できるように、データベースのポートも公開されているため、好きなように IRIS に直接接続することができます。
信じられないほど精巧で洗練された YouTube ビデオにも注目してください! (^-)
音声には、Dolby Atmos デバイスがお勧めです (^-)
それでは!
Andreas
これは InterSystems FAQ サイトの記事です。
InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。
※ サンプルはバージョン 2017.1以降で動作確認しています。
※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。
//Set mgr.IQN=$$$BuildIQN(SchemaName,TableName)
サンプルはこちらにあります👉https://github.com/Intersystems-jp/DataImportExport
CSVファイルをテーブルへインポート、テーブルからファイルへエクスポートの処理は、SQL.Utilsクラスを使用しています。
1) サンプルのインポート
実行したいネームスペースに SQL.Utilsクラスをインポートします。
スタジオをご利用の場合は、ファイルをドラッグ&ドロップするとインポートできます。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
EmbededPythonに興味があり、利用を検討しているのですが、
スタンドアロン下におけるライブラリの使用方法について疑問があります。
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython#AFL_epython_pylibrary
こちらを確認しましたところ、ライブラリは以下のコマンドで取得するという理解です。
> irispip install --target C:\InterSystems\IRIS\mgr\python ライブラリ名
pipコマンドではネットワーク上から、名称に一致したライブラリをダウンロード/インストールしてくれる
機能と認識しておりますが、利用したいPCがインターネットに接続されていなかった場合、
単純にこのコマンドを実行してもエラーになるだけと考えております。
このようなスタンドアロン下でのライブラリ取得について、何か知見がありましたらご教示いただけませんでしょうか?
開発者のみなさん、こんにちは!
2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「SQLでどこまでできる? ~データロードから機械学習まで~」のアーカイブを YouTube に公開いたしました。
(プレイリストはこちら)
データベースのテーブルにアクセスするためにSQLを利用するのは「ご飯を食べるときは箸を使います」と同じぐらい開発者にとって当たり前のことだと思いますが、SQLで分析や機械学習まで行えたらどうでしょうか。
便利ですよね?
本セッションではInterSystems IRISのSQLを使って、どこまでの操作ができるのかについて、デモを交えながらご紹介します。
ぜひ、動画をご参照ください。
これは、InterSystems FAQサイトの記事です。
%SYS.Namespace クラスの List クエリで取得することができます。
次のようなルーチンを作成し、ターミナルで実行してください。
1. サンプルの作成
getnsp
// ネームスペース一覧を取得する write "nsp:glo:rtn",!,!
set statement=##class(%SQL.Statement).%New()
set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
set resultset=statement.%Execute()
while resultset.%Next() {
write resultset.%Get("Nsp"),!
}
quit2. ターミナルから実行
こちらの記事でご紹介しているクラスクエリを実行する方法は、様々なケースで応用できます。
クラスリファレンスをご覧いただくと、様々なクラスクエリをご覧いただけます。
例えば、
%SYS.DatabaseQuery:GetFreeSpace() データベースの空き容量
%SYS.
LOAD DATA SQL コマンドを実行する場合、2021.2 のドライバーを選択する必要があります。 誤ったドライバーを選択して LOAD DATA SQL コマンドを使用してしまうと、以下のようなエラーが発生します。
Error: [SQLCODE: <-1>:<Invalid SQL statement>]
[Location: <Prepare>]
[%msg: < LITERAL ('%qpar') expected, : found^LOAD DATA FROM FILE :%qpar>]JDBC ドライバーのリポジトリ(https://github.com/intersystems-community/iris-driver-distribution)のフォークを作成し、InterSystems IRIS バージョン 2021.2.0.617 のドライバーを追加しました。
intersystems-jdbc-3.3.0.jar をダウンロードできます: https://github.com/andreas5588/iris-driver-distribution/tree/main/JDK18
%Java Server の JVM 引数は、ポータルまたはコンソールから設定できます。
set srv = $system.
開発者のみなさん、こんにちは!
2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「オープンソースだけで IRIS on Kubernetes を動かそう」のアーカイブを YouTube に公開いたしました。
(プレイリストはこちら)
Docker は使いこなせるようになってきたけど、Kubernetes はなかなか手を出すチャンスがないな、という方々を対象に手持ちの Windows/PC 上に K8s 環境を構築して色々試すことを最終目標としたセッションです。
開発者コミュニティの記事「microk8sでKubernetesをお手軽に試す」との紙面連動です。
ぜひご参照ください。
【目次】
01:43 Kubernetes について
参考動画:KubernetesでのIRISの運用とそれを支える仕組み
05:48 Microk8S 利用の動機付け
09:50 デモ
記事:microk8sでKubernetesをお手軽に試す の内容に沿ってデモを動かしています。
前の記事では、ObjectScript Package Manager を使用してユニットテストを実行するためのパターンについて説明しました。 この記事では、さらに一歩踏み込み、GitHub Actions を使用してテストの実行とレポート作成を行います。 私の Open Exchange プロジェクトの 1 つである AppS.REST に CI を実行するのが、やる気の出るユースケースでしょう(この導入編の記事は、こちらにあります)。 この記事のスニペットが使用されている完全な実装は、GitHub でご覧ください。ObjectScript Package Manager を使って他のプロジェクトで CI を実行するためのテンプレートとして簡単に利用できます。
紹介する実装の機能は以下のとおりです。
GitHub Actions に関する完全なドキュメントはこちらにあります。この記事の目的に準じ、この例で紹介される側面だけを詳しく確認します。
開発者のみなさん、こんにちは!
2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「VSCode、Jenkinsを使用した CICD 環境の構築」のアーカイブを YouTube に公開いたしました。
(プレイリストはこちら)
IRIS アプリケーションの開発では、どのような開発環境、テスト環境を構築されてますでしょうか?
このセッションでは VSCode で開発した複数の Windows サーバで通信を行うプログラムを例に Jenkins の環境構築とインストールキットの作成やテストを自動化する方法について説明します。
また、IRIS の %UnitTest クラスを Jenkins で判別させるツールや、バッチコマンドから IRIS の処理を実行するツールを紹介します。
ぜひ動画をご参照ください。
【目次】
01:06 CICD とは
01:31 デモでご紹介する開発環境のシステム構成
↓プログラムのリポジトリ↓
https://github.com/miniclub/IRISUtilsTest.
最近、LOAD DATA という素晴らしい新機能を使用することがありました。この記事では、初めて使用した際の体験についてお話しします。 以下の箇条書きには優先順がなく、他の評価も含まれません。 これらは、LOAD DATA コマンドを使用したときに私が気付いたことを記したものです。 また、プレビューリリースである IRIS バージョン 2021.2.0.617 を使用していることも記しておきたいと思います。 そのため、ここに記録されたことは、それ以降の IRIS バージョンに適用しない可能性があります。 それでも誰かのお役に立てるかもしれません。
JDBC 経由で最初のテストを行いました。 最初に躓いたのは、ファイルとファイルパスが、当然 (^-)_ サーバー側でなければならないということです! JDBC ドライバーはクライアント側でこれを処理しません。 おそらく明確なことかもしれませんが、最初にこのことを考慮していませんでした。
ドキュメントには、以下のように書かれています。
「ファイル名には .txt または .csv(カンマ区切り値)の接尾辞が含まれていること。」
私の観察では、この動作は書かれていることと異なりました。 接尾辞は無関係です。
Hi,
Our business is working on the launch of terminology service module in Japan and wonder if there is any specific like SNOMED CT for Japanese market.
Your input would be appreciated.
Best,
開発者の皆さん、こんにちは!
GW🎏明け、いつもとちょっと違うこと👀を始めてみるのはいかがでしょうか。
例えば、プログラミングコンテスト💰に応募してみる! などなど。
9日より、InterSystems グランプリ・プログラミングコンテストが始まります!このコンテストのお題は「InterSystems データプラットフォームの機能を使う」です。とにかく、InterSysetms IRIS を利用していたら応募できます!ぜひ、参加してみてください!
この記事では、コンテストで賞金を多く獲得するのに役立つ、テクノロジーボーナスについてご紹介します!
開発者のみなさん、こんにちは!
2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「ミラーリングを使用した HA および DR の構成例」のアーカイブを YouTube に公開いたしました。
(プレイリストはこちら)
ミラーリングは、IRIS インスタンス間のデータベースの複製およびフェイルオーバを行う機能です。
動画では、ミラーリングを利用した高可用(HA)なシステムおよびディザスタリカバリ(DR)に対応したシステムの構成例についてご紹介します。
ぜひご参照ください。
【目次】
00:35 ミラーリングの概要
03:20 ミラーリングの種類と機能:フェイルオーバ・ミラー・メンバ
05:07 ミラーリングの種類と機能:非同期ミラー・メンバ
06:33 DR 非同期ミラー・メンバの昇格・降格
07:29 DR 非同期ミラー・メンバの昇格・降格の機能を利用した災害復旧での対応例
10:07 ISCAgent について
11:12 Arbiter について
13:06 ミラーリングの構成例
これは、InterSystems FAQ サイト の記事です。
1つのインスタンスで作成可能なネームスペース数の上限は、2048個になります。
ただし多数のネームスペースを使用するには、それに合わせてメモリの設定が必要になります。使用するメモリの設定については下記の関連トピックご参照ください。
管理ポータルのメモリ関連設定項目について
また1つのインスタンスに作成可能なデータベース数(リモートデータベースを含む)の上限は、15998個になります。
なおライセンスの種類によっては、作成可能な数に制限が設けられています。
詳細については、以下ドキュメントをご参照ください。
ドキュメント:ネームスペースの構成
ドキュメント:ローカル・データベースの構成
これは、InterSystems FAQサイトの記事です。
InterSystems製品では、永続データは後で高速にランダムアクセスできるように、ある一定の規則に沿ってキー順にソートされて格納されます。
新しいノードが追加された場合、ノードが削除された場合、データの長さが変更された場合など、データの構造変化が起こる度に、その並び順を維持できるよう、また無駄な領域が発生しないように動的なデータの配置変えを実施します。
従って、常にデータはきれいに整理された状態で格納されるため、無駄な空き領域が発生しません。
これらの並べ替えの作業は、書き換えのコストのかかる処理ですが、InterSystems製品では、これらの処理はなるべくメモリ(キャッシュ)上で実行し、ディスクI/Oを軽減することにより、性能の劣化を抑えています。
これは、InterSystems FAQサイトの記事です。
InterSystems IRIS Data Platform(以下IRISと表記)はSQLのサポートをはじめ、リレーショナルデータベースとの高い互換性を有します。
さらに、IRISは多次元データエンジンをベースにしており、通常のリレーショナルデータベースシステムに比べて柔軟なデータ構造を持つことができ、一般的にパフォーマンス、スケーラビリティ、データ保守性に優れています。
また完全なオブジェクト指向をサポートしており、Javaなどのオブジェクト指向開発環境との親和性という点でも優れています。
開発者の皆様、こんにちは!
InterSystems IRIS 開発者向け、年次コンテストである【グランプリ・コンテスト】を開催します🎏!
テーマは、【InterSystems IRIS data platform を使用して、オープンソースのソリューションを構築する】です!
今回の💰賞金総額💰ですが、史上最高額( ゚Д゚) !!が用意されています!ぜひ、ご応募ください!
🏆 InterSystems グランプリ・プログラミングコンテスト 🏆
応募期間: 2022年5月9日~22日 29日(5/6 更新:1週間応募期間が延長されました!)
💰 賞金総額: $22K 💰