記事 Tomohiro Iwamoto · 2023年12月19日 11m read Debezium ご存じでしょうか Debeziumをご存じでしょうか? グローバルサミット2023にて、Debeziumを題材としたセッション「Near Real Time Analytics with InterSystems IRIS & Debezium Change Data Capture」がありましたので、ご覧になられた方もおられるかと思います。 ご興味がありましたら、グローバルサミット2023の録画アーカイブをご覧ください。 FAQによると、"dee-BEE-zee-uhm"(ディビジウム..ですかね)と読むそうです。元素周期表のように複数のDB(s)を束ねる、というニュアンスみたいです。 CDC(Change data capture)という分野のソフトウェアです。 外部データベースでの変更を追跡して、IRISに反映したいという要望は、インターオペラビリティ機能導入の動機のひとつになっています。一般的には、定期的にSELECT文のポーリングをおこなって、変更対象となるレコード群(差分。対象が少なければ全件)を外部システムから取得する方法が、お手軽で汎用性も高いですが、タイムスタンプや更新の都度に増加するようなバージョンフィールドが元テーブルに存在しない場合、どうしても、各ポーリング間で重複や見落としがでないように、受信側で工夫する必要があります。また、この方法ではデータの削除を反映することはできませんので、代替案として削除フラグを採用するといったアプリケーションでの対応が必要になります。 CDCは、DBMSのトランザクションログをキャプチャすることで、この課題への解決策を提供しています。DebeziumはRedHatが中心となっているCDCのオープンソースプロジェクトです。 #オープンソース #データベース #フレームワーク #リレーショナルテーブル #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 825
記事 Mihoko Iijima · 2020年10月27日 8m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):コンポーネントの作成(ビジネス・プロセス) この記事はこちらの投稿の続きの内容です。 前回の記事では、システム統合に必要なコンポーネントの中から、ビジネス・オペレーションの作成について解説しました。 今回の記事では、確認した2つのビジネス・オペレーションを順番を守って呼び出しを行うビジネス・プロセスの作成について解説します。 #ビジネスプロセス(BPL) #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 823
記事 Tomohiro Iwamoto · 2020年8月13日 7m read AWS上にて稼働中のInterSystems IRISの管理ポータルとの通信を暗号化(https)する方法 本記事について InterSystems IRISは、管理ポータルへのアクセス方法がデフォルトではhttpとなっており、クライアントが社内、サーバがクラウドという配置の場合、なんらかの方法でトラフィックを暗号化したいと考える方も多いかと思います。そこで、AWS上にて稼働中のIRISの管理ポータル(あるいは各種RESTサービス)との通信を暗号化する方法をいくつかご紹介したいと思います。 本記事では、アクセスにIRIS組み込みのapacheサーバを使用しています。ベンチマーク目的や本番環境のアプリケーションからのアクセス方法としては使用しないでください。短期間・少人数での開発・動作検証・管理目的でのアクセスを暗号化する事を想定しています。 ドメイン名とメジャーな認証局発行のSSLサーバ証明書を用意できればベストなのですが、上記のような用途の場合、コスト面でなかなか難しいと思います。ですので、下記の証明書の使用を想定しています。- 自己署名(いわゆるオレオレ証明書)- 自分で建てた認証局で署名した証明書(いわゆるオレオレ認証局) また、下記のような実行環境を想定しています。 #AWS #セキュリティ #管理ポータル #開発環境 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 819
記事 Mihoko Iijima · 2020年6月28日 1m read 【はじめての InterSystems IRIS】セルフラーニングビデオ:基本その2:InterSystems IRIS で開発をはじめよう! 基本操作編ビデオシリーズ:その2 https://www.youtube.com/embed/ID6ImJTgJRk[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] IRIS で開発を始めるために必要な準備について以下の内容をご説明します。 管理ポータルの起動方法 ネームスペースの作成方法 IDEからIRISへ接続する方法 もくじ 最初から ~ 6:50 管理ポータルの開き方とメニューについて 7:03 ~ 12:50 ネームスペースとデータベースについて 12:50 ~ 17:10 ネームスペース、データベースの作成実演 17:10 ~ 20:50 スタジオを使用する場合の設定内容 #ビデオ #初心者 #InterSystems IRIS #InterSystems IRIS for Health #学習ポータル 0 0 0 818
記事 Mihoko Iijima · 2020年10月25日 4m read IRIS の開始に失敗し messages.log に ^STURECOV を使用して復旧するように記載されている場合の操作方法 これはInterSystems FAQ サイトの記事です。 IRIS の開始ができず、messages.log に以下のようなエラーが出力された場合の対処方法についてご説明します。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 815
記事 Minoru Horita · 2020年6月3日 10m read グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列 #キーバリュー #インデックス付け #グローバル #データモデル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 0 0 0 815
記事 Toshihiko Minamoto · 2022年12月12日 16m read Angular: コンテナとプレゼンテーションコンポーネント(別名: smart-dumb) こんにちは! 今日は、Angular で最も重要なアーキテクチャパターンの 1 つについてお話しします。 パターン自体は直接 Angular に関連していませんが、Angular はコンポーネント駆動のフレームワークであるため、このパターンは最新の Angular アプリケーションを構築するために最も不可欠なものの 1 つです。 「コンテナ・プレゼンテーション」パターン コンポーネントは、小さい、目的集中型、独立型、テスト可能性、そして一番重要と言える再利用可能性という特性が備わっているのが最適だと考えられています。 コンポーネントに、サーバー呼び出しを行う、ビジネスロジックが含まれている、他のコンポーネントと密に連携している、他のコンポーネントまたはサービスの内部を過度に知っている、という特徴が備わっていれば、より大きく、テスト、拡張、再利用、変更が行いにくいものになってしまします。 「コンテナ・プレゼンテーション」パターンは、これらの問題を解決するために存在します。 一般的にすべてのコンポーネントは、コンテナコンポーネント(スマート)とプレゼンテーションコンポーネント(ダム)の 2 つのグループに分けられます。 #Angular #Angular2 #UI 開発 #コーディングのガイドライン #フロントエンド #その他 0 0 0 810
記事 Mihoko Iijima · 2022年5月29日 2m read プログラムでCSVファイルをテーブルにインポート/テーブルからCSVファイルにエクスポートする方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。 ※ サンプルはバージョン 2017.1以降で動作確認しています。 ※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 806
記事 Hiroshi Sato · 2022年7月20日 2m read タスクの起動でエラーが発生した時にメールで通知する方法 タスク成功時・失敗時、それぞれ通知メールを送信することができます。 そのためには事前にターミナルからTASKMGRルーチン を実行して、メールサーバを登録する必要があります。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 802
記事 Mihoko Iijima · 2021年9月7日 3m read Windowsで InterSystems 製品をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Windows システムにインストールされた InterSystems 製品を削除するには、コントロールパネルにあるプログラムの追加と削除(Windows 10の場合は、Windows の設定からアプリを選択)を使用します。 システムに変更を加えますので、管理者権限を持ったユーザでログインして作業を行う必要があります。 1) 管理者(Administrator)でシステムにログインします。 2) システムトレイから、アンインストールを行う InterSystems 製品インスタンスのランチャーを終了します(ランチャークリック → 終了)。 3)コントロールパネルにある プログラムの追加と削除 (Windows 10の場合は、Windows の設定からアプリを選択)で <InterSystems製品> instance [xxxx] ( xxxx にはインスタンス名が表示されています) を削除します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 798
記事 Junichi Sakata · 2023年11月6日 6m read Embedded Pythonの使い所は? Python流行ってますよね。(一時は圧倒的な支配力のあったJavaも、O社に買われてライセンスが云々とか言われ始めた頃からブレーキが掛かってしまった気がします。) Pythonの魅力の一つがパッケージで様々な機能が提供されていることがあげられるかなと思っています。 私もこれまでPythonのコードをそこそこ書いてきました。実のところ、ここ1年では間違いなくObject ScriptよりPythonのほうが書いた量が多いです。Excelのドキュメントがそれらよりも遥かに多いのは何とかしたいところですが😅 IRISと連携するため$ZF(-1)を使ってPythonプログラムをコールしているものもあります。 IRIS 2021.2からPythonがIRISにEmbedded Pythonとして組み込まれたということで、どのように使えるかを試してみました。 なお、使用した環境は以下です。 #Embedded Python #コンテスト #InterSystems IRIS 9 0 0 796
記事 Minoru Horita · 2024年4月4日 6m read Vector Search (ベクトル検索) をご紹介します みなさんこんにちは! 今回は、IRIS 2024.1で実験的機能として実装されたVector Search (ベクトル検索)について紹介します。ベクトル検索は、先日リリースされたIRIS 2024.1の早期アクセスプログラム(EAP)で使用できます。IRIS 2024.1については、こちらの記事をご覧ください。 ベクトル検索でどんなことができるの? ChatGPTをきっかけに、大規模言語モデル(LLM)や生成AIに興味を持たれている方が増えていると思います。開発者の方々の中には、中はどうなっているのか気になっている方も多いのではないでしょうか。実は、LLMや生成AIの仕組みを理解したいと思えば、ベクトルの理解は不可欠な要素となります。 ベクトルとは? ベクトルは、高校の数学で習う「あの」ベクトルのことです。が、今回は、複数の数値をまとめて扱うデータ型であるという理解で十分です。例えば、 #Artificial Intelligence (AI) #Early Access Program (EAP) #Python #SQL #InterSystems IRIS #InterSystems IRIS for Health 7 1 1 775
記事 Toshihiko Minamoto · 2021年9月1日 8m read Amazon EKSとIRIS。 高可用性とバックアップ 記事で使用されているすべてのソースコード: https://github.com/antonum/ha-iris-k8s 前の記事では、従来型のミラーリングではなく分散ストレージに基づいて、高可用性のあるk8sでIRISをセットアップする方法について説明しました。 その記事では例としてAzure AKSクラスタを使用しました。 この記事では引き続き、k8sで可用性の高い構成を詳しく見ていきますが、 今回は、Amazon EKS(AWSが管理するKubernetesサービス)に基づき、Kubernetes Snapshotに基づいてデータベースのバックアップと復元を行うためのオプションが含まれます。 #AWS #DevOps #クラウド #コンテナ化 #デプロイ #バックアップ #高可用性 #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 795
記事 Mihoko Iijima · 2020年7月20日 1m read 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS で作成する REST サーバの仕組み IRIS で作成する REST サーバの仕組みを解説します。 https://www.youtube.com/embed/tWP_9-jk4no[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] このビデオには、以下の関連ビデオがあります。 #REST API #ビデオ #初心者 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 793
記事 Mihoko Iijima · 2024年1月18日 5m read Webサーバ(IISやApache)を利用してVSCodeからInterSystemsサーバに接続するときの注意点(バージョン2023.1以下) 開発者の皆さん、こんにちは! VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。 (*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです) 対象バージョン:2023.1以下のInterSystems製品 追加が必要なパス: /api #ObjectScript #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #VSCode 0 0 0 790
記事 Tomohiro Iwamoto · 2021年2月16日 19m read InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート - Windows編 目的 CloudFormationの記事は、Linux系のものが多いですが、Windowsでも自動化したいという需要がありそうですので、オリジナル記事を元に、CloudFormationを使用してミラークラスターをWindowsサーバにデプロイする例を実装してみました。また、簡単な実行例も追加しました。 ソースコード一式はこちらのGitレポジトリにあります。 更新: 2021年3月1日 ワンライナーで踏み台ホスト経由でWindowsに公開鍵認証する方法を追記しました 更新: 2022年11月29日 QuickStartの形式に合わせて大幅に変更しました。以前の内容はこちらに保存してあります。 更新: 2022年12月21日 踏み台ホストの使用を止め、代わりにAWS System Manager(SSM)を有効化しました。プライベートサブネット上のインスタンスへのアクセスが簡素化されます。以前の内容はこちらに保存してあります。 #AWS #Mirroring #クラウド #デプロイ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 787
InterSystems公式 Seisuke Nakahashi · 2024年3月1日 InterSystems サポートプラットフォーム最新情報 Q1-2024 2024年最初のプラットフォーム最新情報をお届けします。初めてご覧になる方、はじめまして! この記事では、最近おこなわれた変更点や今後予定されている変更点に関する情報を、みなさまに共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解くださいませ。 #プラットフォーム #InterSystems公式 0 0 0 785
記事 Tomoko Furuzono · 2020年9月10日 3m read 日付範囲クエリのSQLパフォーマンスを改善する vol2 日付範囲クエリが極端に遅くなっていませんか? SQLのパフォーマンスが低下していませんか? 日付範囲のサブクエリをまだご覧になっていない場合は、前回の投稿をご確認ください。https://jp.community.intersystems.com/post/日付範囲クエリのsqlパフォーマンスを改善する なぜ、こうも日付クエリに注目しているのでしょうか? それは、日付クエリが重要だからです。 それは報告であり、統計であり、自分の素晴らしい仕事を上司に証明するための数字です(もちろん、あなたが実際にそうしていればの話ですが )。では、前回と同じようなテーブルを見てみましょう。ただし、実際には MAXLEN と MINLEN を次のように適切に定義します。 #Code Snippet #SQL #Caché #InterSystems IRIS 1 0 0 784
記事 Toshihiko Minamoto · 2020年7月6日 24m read Microsoft Azure Resource Manager(ARM)向けInterSystemsサンプルリファレンスアーキテクチャ この記事では、InterSystems Technologiesに基づく、堅牢なパフォーマンスと可用性の高いアプリケーションを提供するリファレンスアーキテクチャをサンプルとして提供します。Caché、Ensemble、HealthShare、TrakCare、およびDeepSee、iKnow、Zen、Zen Mojoといった関連する組み込みテクノロジーに適用可能です。 Azureには、リソースを作成して操作するための、Azure ClassicとAzure Resource Managerという2つのデプロイメントモデルがあります。 この記事で説明する情報は、Azure Resource Managerモデル(ARM)に基づきます。 要約 Microsoft Azureクラウドプラットフォームは、InterSystems製品すべてを完全にサポートできるクラウドサービスとして、IaaS(サービスとしてのインフラストラクチャ)向けの機能の豊富な環境を提供しています。 あらゆるプラットフォームやデプロイメントモデルと同様に、パフォーマンス、可用性、運用、管理手順などの環境に関わるすべての側面が正しく機能するように注意を払う必要があります。 この記事では、こういった各分野の詳細について説明しています。 #Azure #Mirroring #クラウド #Caché #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 784
記事 Minoru Horita · 2020年6月2日 14m read グローバルはデータを保存するための魔法の剣ですパート2 - ツリー #Node.js #グローバル #データモデル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 1 0 0 783
記事 Hiroshi Sato · 2022年7月11日 2m read InterSystems IRISをインストールする場合の最低システム要件 CPU:サポート対象OSが問題なく動作するもの以下のページをご参考ください。 サポート対象プラットフォーム ディスク容量:アプリケーションの要件を除外した場合、 IRISをインストールするためには、最低1.5GB以上の空き容量が必要です。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 780
記事 Hiroshi Sato · 2021年8月31日 2m read Linux で InterSystems IRIS をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Linux上では、以下の手順で InterSystems IRIS (以降IRIS)のインスタンスを削除してください。 (1) アンインストールしたい IRIS のインスタンスを iris stop で停止 # iris stop インスタンス名 (2) 以下のコマンドでインスタンス情報を削除 # iris delete インスタンス名 (3) IRIS のインストールディレクトリを rm コマンドで削除 # rm -r インストールディレクトリ IRISは、インストール先のディレクトリのほかに、以下の(a)(b)も使用しています。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 777
記事 Hiroshi Sato · 2021年10月27日 1m read ターミナルでSQLを実行する方法 これは、InterSystems FAQサイトの記事です。$system.SQL.Shell() を使用します。 以下にサンプルを示しますので参考にしてください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 768
記事 Megumi Kakechi · 2020年11月9日 3m read Linuxでシステム開始/停止時に、インターシステムズ製品を自動起動/停止することはできますか? これはInterSystems FAQ サイトの記事です。 IRISのサービスを /usr/lib/systemd/system/iris.service に作成し systemctl ユーティリティにて設定を行います。 手順は以下になります。 ※ 作業は root ユーザまたは root 権限を持つユーザで行ってください。 1. IRISの自動起動・自動停止のスクリプトファイル「irisstartstop」を作成します。 irisstartstop #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 768
記事 Megumi Kakechi · 2021年4月29日 2m read ミラーリングの機能について これは InterSystems FAQ サイトの記事です。 InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。 自動フェイルオーバ ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製 1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。 #Mirroring #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 765
記事 Tomohiro Iwamoto · 2020年6月5日 18m read InterSystemsデータプラットフォームとパフォーマンス –パート3: CPUに注目 今週は、ハードウェアの主な”食品群” (^_^) の1つであるCPUに注目します。お客様から、次のようなシナリオについてのアドバイスを求められました。お客様の本番サーバーはサポート終了に近づいており、ハードウェアを交換する時期が来ています。 また、仮想化によってサーバーを一元的に管理できるようにし、ベアメタルか仮想化によりキャパシティを適正化したいとも考えています。 今日はCPUに焦点を当てますが、後日の記事では、メモリやIOといったほかの主要食品群を適正化するアプローチについて説明したいと思います。 では、質問を整理しましょう。 #システム管理 #パフォーマンス #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 759
記事 Megumi Kakechi · 2023年2月6日 4m read ファイル操作関連のTips ファイルとディレクトリの操作に使用できる API 、%Library.File クラス (%File が省略形) の便利なサンプルコードをご紹介します。 こちらのAPIを使用して、ディレクトリやファイルの中身をのぞいたり、作成・書込み・読込みを行ってみます。 ★ディレクトリ内のファイル一覧をリストする 以下のサンプルは、C:\temp フォルダ内の *.txt ファイルをリストします(ファイルパス_サイズ_作成日)。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 1 0 737
記事 Hiroshi Sato · 2020年9月28日 1m read クライアントのIPやマシン名を取得する方法 これはInterSystems FAQ サイトの記事です。 言語バインディングなどのサーバクライアント型で接続した場合、クライアントのマシン名は以下の処理で取得できます。 set client=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName クライアントのIPアドレスは以下の処理で取得できます。 set ip=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientIPAddress * サーバーとクライアントが同一マシンの場合、上記で取得できるIPアドレスは、127.0.0.1になります。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 753
記事 Mihoko Iijima · 2020年7月6日 11m read GitLabを使用したInterSystemsソリューションの継続的デリバリー - パートVII:コンテナを使用したCD この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けて実現可能な複数の手法を紹介し、議論したいと思います。 次のようなトピックについて説明します。 #DevOps #Docker #Git #GitHub #継続的デリバリー #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 752
記事 Toshihiko Minamoto · 2021年1月26日 7m read InterSystems IRIS における AWS Glue の使用について 2019年 10月 17日 Anton UmnikovInterSystems シニアクラウドソリューションアーキテクトAWS CSAA、GCP CACE AWS Glue は、完全に管理された ETL (抽出、変換、読み込み) サービスです。データの分類、クリーンアップ、強化、そして様々なデータストア間でデータを確実に移動させるという作業を簡単にかつコスト効率の良いかたちで行えるようにするものです。 #AWS #Python #SQL #クラウド #データベース #ビッグデータ #InterSystems IRIS 0 0 0 739