記事 Tomoko Furuzono · 2022年3月1日 2m read ミラー・データベースがミラー構成削除後に読み取り専用でマウントされる これは、InterSystems FAQサイトの記事です。 ミラー構成削除時に、ミラー・データベースのミラー属性を削除するオプションを指定しないと、通常データベースに戻すことができず、次回マウント時に読み取り専用でデータベースがマウントされます。 読み書き可能なデータベースに戻すためには、システムルーチン ^MIRROR を使用してミラー属性を削除する必要があります。手順は以下のとおりです。(%SYSネームスペースで実行します。) #Mirroring #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 111
記事 Toshihiko Minamoto · 2022年3月1日 5m read 2021.2 SQL 機能スポットライト - スマートサンプリング & テーブル統計の自動化 これは、適応性とパフォーマンスに優れた SQL エクスペリエンスを提供する 2021.2 SQL 強化機能に関する連載第 2 回目の記事です。 この記事では、前の記事で説明したランタイムプランの選択機能の主要な入力であるテーブル統計の収集におけるイノベーションに焦点を当てます。 #SQL #リレーショナルテーブル #InterSystems IRIS 0 0 1 129
記事 Mihoko Iijima · 2022年2月28日 7m read Embedded Python を使ってレシート(JPG)の中身を IRIS に登録してみました 開発者のみなさん、こんにちは。 今回は、スーパーやコンビニでもらうレシートを写真で撮り、OCR を使ってレシートの画像から文字列を切り出して IRIS に登録する流れを試してみました。 サンプルでは、Google の Vision API を利用してレシートの JPG 画像から購入物品をテキストで抽出しています。 #Embedded Python #Python #SQL #オブジェクトデータモデル #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 1.1K
記事 Toshihiko Minamoto · 2022年2月24日 5m read 2021.2 SQL 機能スポットライト - ランタイムプランの選択 InterSystems IRIS Data Platform の 2021.2 リリースには、ミッションクリティカルなアプリケーションを高速で柔軟性に優れ、セキュアに開発するための刺激的な新機能が多数含まれています。 Embedded Python は間違いなく脚光を浴びています(正当な理由で!)が、SQL の分野でも、テーブルデータに関する詳細な統計情報を収集し、それを最適なクエリプランに提供する、より適応性の高いエンジンに向けて大きな一歩を踏み出しました。 この短い連載記事では、2021.2 で新しく追加された 3 つの要素について詳しく説明し、ランタイムプランの選択(RTPC)を手始めに、この目標に向かって進みます。 これらについて適切な順序で話していくのは困難です(この記事を書く上で、私がどれだけ順序を入れ替えたか想像できないほどです!) というのも、これらが相互に非常にうまく機能するためです。 そのため、ご自由に順序を変えてお読みください。 #SQL #リレーショナルテーブル #InterSystems IRIS 0 0 1 128
記事 Megumi Kakechi · 2022年2月23日 1m read ジャーナルファイルの使用量をチェックする方法 これは、InterSystems FAQサイトの記事です。現ジャーナルファイル名の取得は、ジャーナリング API を利用します。 ##class(%SYS.Journal.System).GetCurrentFileName() 現ジャーナルファイルの使用量bytesの取得は、ジャーナリング API を利用します。 ##class(%SYS.Journal.System).GetCurrentFileOffset() 実行例は以下の通りです。 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 120
記事 Toshihiko Minamoto · 2022年2月22日 14m read InterSystems IRIS で IMAP クライアントを実装する - パート II 最初のパートでは、IMAP プロトコルコマンドについて簡単に説明しました。このパートでは、IRIS を使用してこれらのコマンドを実装し、独自の IMAP クライアントを作成してみましょう! #InterSystems IRIS 0 0 0 85
記事 Toshihiko Minamoto · 2022年2月16日 8m read InterSystems IRIS で IMAP クライアントを実装する - パート I この記事では、InterSystems IRIS プラットフォームを使用して基本的な IMAP クライアントを記述する方法を説明します。 はじめに IMAP の概要を確認してから、本題の IMAP コマンドとクライアント実装について説明します。 最後に、IRIS 相互運用性アプリケーションでこの IMAP クライアントを簡単に使用します。 #InterSystems IRIS 0 0 0 300
記事 Megumi Kakechi · 2022年2月13日 2m read IRISが使用するワーキングセット(メモリ)について これは、InterSystems FAQサイトの記事です。各プロセスが消費しているメモリの内容は、Windowsリソースモニタの項目のワーキングセット、共有可能、プライベートで確認できます。 これらの内容は以下になります。 ワーキングセット プロセスが使用する物理メモリです。 ワーキングセット(プライベート)とワーキングセット(共有可能)との合計です。 共有可能 プロセスが使用する物理メモリ内で他のプロセスと共有可能なメモリです。 プライベート プロセスが使用する物理メモリ内で他のプロセスと共有不可能なメモリです。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 201
記事 Toshihiko Minamoto · 2022年2月9日 2m read IRIS-NativeAPI-Nodejs-compact (jp) これは、前回の「DockerマイクロサーバーとしてのIRIS Native APIを使用するWebSocketクライアントJS」のフォローアップです。 すべてのピースが1つのDockerイメージにまとめられたため、インストールがはるかに簡単になりました。 作業が楽になります。 ただしもちろん、マイクロサービスの原則はわかりにくくなくなっています。 オールインワンのバンドルパッケージであるため、 コンパクトになっています。 #Docker #JavaScript #Microservices #Node.js #ObjectScript #コンテスト #コンテナ化 #InterSystems IRIS Open Exchange app 0 0 0 213
記事 Mihoko Iijima · 2022年2月4日 7m read Embedded Python 試してみました 開発者の皆さん、Python好きの皆さん、こんにちは! ドキュメントをみながら IRIS 2021.2 に追加された Embedded Python を試してみました! IRIS にログインしてるのに Pythonシェルに切り替えできて Python のコードが書けたり、Python で import iris するだけで SQL を実行できたりグローバルを操作できるので、おぉ!✨という感じです。 ぜひ、みなさんも体感してみてください! では早速。 まず、IRISにログインします。Windows ならターミナルを開きます。Windows 以外は以下実行します。 #Embedded Python #ObjectScript #Python #SQL #オブジェクトデータモデル #初心者 #InterSystems IRIS #InterSystems IRIS for Health 4 0 1 587
記事 Toshihiko Minamoto · 2022年2月3日 12m read PandasデータフレームをIRISに保存する - 簡易メモ キーワード: Pandasデータフレーム、IRIS、Python、JDBS 目的 PandasデータフレームはEDA(探索的データ分析)に一般的に使用されるツールです。 MLタスクは通常、データをもう少し理解することから始まります。 先週、私はKaggleにあるこちらのCovid19データセットを試していました。 基本的に、このデータは1925件の遭遇の行と231列で構成されており、タスクは、患者(1つ以上の遭遇レコードにリンク)がICUに入室するかどうかを予測するものです。 つまりこれは、いつものようにpandas.DataFrameを使用して、まず簡単にデータを確認する、通常の分類タスクです。 #JDBC #Python #機械学習 #InterSystems IRIS Open Exchange app 0 0 0 221
記事 Minoru Horita · 2022年2月2日 6m read Embedded Pythonを簡単にご紹介します 開発者の皆さん、こんにちは! 最近リリースされた InterSystems IRIS 2021.2 の目玉機能のひとつが Embedded Pythonです。Embedded Pythonは、PythonのランタイムをIRISに組み込むことによって、IRISのメソッドをPythonで記述したり、PythonのコードからIRISのクラスにアクセスしたりなどなど、IRISのObjectScriptとPythonとで相互に呼び出しを行なえる機能です。 しかも、Pythonのランタイムを埋め込んでいるため、ネットワークのオーバーヘッドがなく、パフォーマンスへの影響は最小限です。 IRISのプログラマの方には、Pythonの豊富なライブラリをストレスなく利用して頂けます。 Pythonのプログラマの方には、ObjectScriptを学ぶことなく、IRISの高速なデータベースやインターオペラビリティ機能などをストレスなく活用して頂けます。 今回の記事では、Embedded Pythonの機能をほんの一部だけ紹介します。 #Embedded Python #Python #InterSystems IRIS #InterSystems IRIS for Health 4 0 0 1.1K
記事 Toshihiko Minamoto · 2022年2月1日 5m read DockerマイクロサーバーとしてIRIS Native APIを使用したWebSocketクライアントJS これはIRIS 2020.2で動作するコーディングの例です 最新バージョンとは同期していません。 また、InterSystemsのサポートによるサービスはありません動作中のデモを確認できるデモビデオを以下で公開しています。https://youtu.be/dSV-0RJ5Olg 皆さんこんにちは 完全に新しいIRISイメージとたった4行のDockerコマンドを使って実行するイメージを使ってマイクロサービスのデモを行いましょう。 2020年6月1日 - rcc すべてのパーツを1つのコンテナイメージにまとめたコンパクトなオールインワンバージョンが公開されました。 詳細はこちら: IRIS-NativeAPI-Nodejs-compact 2020年5月24日 - rcc Dockerを使った簡易インストールを追加しました。コンテキストを参照 2020年5月25日 - rcc Linux & Windowsに最適な検証済みの強化スクリプトはこちら https://github.com/rcemper/WSockClientMicroSV/blob/master/READMEwindows.MD 2020年5月26日 - rcc このデモは、Caché用にすでに存在するNode.jsに基づくWebSocketクライアントを再設計したものです。 主に以下のような変更点があります。 新しいIRIS Native API for Node.jsの使用。特にグローバル配列を操作する場合 直接トリガーされたクライアントからサーバー設計への変更 マイクロサービス/マイクロサーバーの例として、結果を別のdockerイメージに配置 マイクロサービスの実行を制御するための単純なインターフェースをIRISに追加 #Docker #JavaScript #Microservices #Node.js #ObjectScript #グローバル #コンテスト #コンテナ化 #InterSystems IRIS Open Exchange app 0 0 0 221
記事 Megumi Kakechi · 2022年1月30日 1m read アプリケーションのログを^ERRORSグローバルに入れる方法 これは、InterSystems FAQサイトの記事です。 TRY-CATCHで行うことが可能です。以下のように行ってください。 #dim ex As %Exception.AbstractException TRY { "<何かエラーを発生させる処理>" } CATCH ex { do ex.Log() } ^%ETNを使用する場合は、^%ETNを呼び出す際にBACKエントリ(BACK^%ETN)から呼び出してください。 あわせて、以下の関連記事も是非ご覧ください。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 211
記事 Toshihiko Minamoto · 2022年1月27日 11m read Python用IRISネイティブAPI はじめに バージョン2019.2より、InterSystems IRISは、高性能データアクセス手法としてPython用のネイティブAPIを提供してきました。 ネイティブAPIを使用すると、ネイティブのIRISデータ構造と直接対話することができます。 #API #Python #InterSystems IRIS 0 0 0 321
記事 Toshihiko Minamoto · 2022年1月25日 9m read IRISデータベースへのPython ODBC接続 - 2つ目の簡易メモ キーワード: PyODBC、unixODBC、IRIS、IntegratedML、Jupyterノートブック、Python 3 目的 数か月前、私は「IRISデータベースへのPython JDBC接続」という簡易メモを書きました。以来、PCの奥深くに埋められたスクラッチパッドよりも、その記事を頻繁に参照しています。 そこで今回は、もう一つの簡易メモで「IRISデータベースへのPython ODBC接続」を作成する方法を説明します。 ODBCとPyODCBをWindowsクライアントでセットアップするのは非常に簡単なようですが、Linux/Unix系サーバーでunixODBCとPyODBCクライアントをセットアップする際には毎回、どこかで躓いてしまいます。 バニラLinuxクライアントで、IRISをインストールせずに、リモートIRISサーバーに対してPyODBC/unixODBCの配管をうまく行うための単純で一貫したアプローチがあるのでしょうか。 #AI #分析 #機械学習 #InterSystems IRIS 0 0 0 888
記事 Megumi Kakechi · 2022年1月12日 5m read ミラージャーナルファイルの削除のタイミングと要件 これは、InterSystems FAQサイトの記事です。ミラージャーナルファイルの削除(パージ)のタイミングは以下のようになります。 ・プライマリ・フェイルオーバー・メンバ #Mirroring #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 184
記事 Mihoko Iijima · 2022年1月6日 4m read IRIS ターミナルで履歴からのコマンド実行、コマンドのショートカット作成ができるのをご存知ですか? 開発者のみなさん、あけましておめでとうございます🎍 今年もどうぞよろしくお願いします! さて、この記事では、IRIS ターミナルに(こっそり)追加された便利機能をご紹介します!(つい最近知りまして、びっくりしました) 2023/4/13 追記:Pythonシェルへ切り替えるメソッドのショートカットが追加されていたので返信欄に追記しました。 IRIS ターミナルで以前実行したコマンドを再実行する場合、上矢印キーを連打しながらコマンドを探されていると思うのですが、IRIS 2021.1 から履歴表示と、履歴番号を指定した実行ができるようになっていました! では早速、履歴(history)の使い方をご紹介します。これがあれば、もう、上矢印キーを連打せずに以前実行したコマンドを再実行できます!! #ターミナル #InterSystems IRIS 6 1 0 414
記事 Toshihiko Minamoto · 2022年1月6日 9m read IRISデータベースへのPython JDBC接続 - 簡易メモ キーワード: Python、JDBC、SQL、IRIS、Jupyterノートブック、Pandas、Numpy、および機械学習 1. 目的 これは、デモの目的で、Jupyterノートブック内でPython 3によってIRIS JDBCドライバーを呼び出し、SQL構文でIRISデータベースインスタンスにデータを読み書きする、5分程度の簡単なメモです。 昨年、私はCacheデータベースへのPythonバインディング(セクション4.7)について簡単に触れました。 そこで、Pythonを使ってIRISデータベースに接続し、そのデータをPandasデータフレームとNumPy配列に読み込んで通常の分析を行ってから、事前処理済みまたは正規化されたデータをML/DLパイプラインに通すためにIRISに書き込む作業においてのオプションと議論について要約しましょう。 すぐに思い浮かぶ簡単なオプションがいくつかあります。 #JDBC #ODBC #Python #機械学習 #InterSystems IRIS 2 0 0 742
記事 Hiroshi Sato · 2021年12月28日 2m read コンパイルフラグについて これは InterSystems FAQ サイトの記事です。 コンパイル時のフラグや修飾子の記号と意味については、以下ドキュメントをご参照ください。 コンパイルフラグについて【IRIS】 コンパイルフラグについて なお、開発環境のスタジオやVisual Studio Codeでは、開発環境の設定画面でフラグを変更できます。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 536
記事 Hiroshi Sato · 2021年12月28日 1m read MS Accessからのクエリで取得されるデータ項目値が全て"#Deleted"と表示される場合の対処方法 これは、InterSystems FAQサイトの記事です。 データ項目の値が”#Deleted"と表示される場合、MS Accessの設定でこの問題を回避することができます(MS Access2016以降)。 MS Accessのオプションより、「大きい数値(BigInt)データ型をサポート」にチェックを入れます。 設定後、リンクテーブルを一度閉じて、リンクの更新を行います。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 7.4K
記事 Tomoko Furuzono · 2021年12月26日 1m read メッセージ・ログ(messages.log)/コンソール・ログ(cconsole.log) に出力される「Purging Application Error Logs」のメッセージとは これは、InterSystems FAQサイトの記事です。 MM/DD/YY-hh:mm:ss:fff ( ) 0 [Utility.Event] Purging old application errors こちらのメッセージは、エラーではなく、アプリケーションのエラーログを記録した古い ^ERRORSグローバルのパージ処理が実行された際に出力されるメッセージになります。ログを削除した旨のみを伝えるメッセージであり、出力されていても特に問題はありません。また、このログは、^ERRORSグローバルのパージ処理がタスク実行される毎日01:00 に出力されます。 #システム管理 #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 141
記事 Tomoko Furuzono · 2021年12月26日 1m read 特殊変数$ZTIMESTAMP をローカルのタイムゾーンに変更する方法 これは、InterSystems FAQサイトの記事です。$ZTIMESTAMPはUTC形式で日付時刻を返すため、ローカルのタイムゾーンに変更するためには以下システムオブジェクトを利用します。 $SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP) 上記出力結果は ddddd,sssss.fff の形式で出力されます。 ddddd:$HOROLOGの日付と同じ形式 sssss:現在の日付の午前 0 時からの経過秒数を示す整数 fff :秒の小数部を示す可変桁数 ※ $HOROLOGに似ていますが、$HOROLOGには秒の小数部分は含まれません。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 213
記事 Toshihiko Minamoto · 2021年12月24日 3m read InterSystems IRISのGrafanaサポート 皆さん、こんにちは。私の最新のプロジェクトの1つをご紹介します。 Grafana用データソースプラグインです。これは、InterSystems IRISに直接接続して(将来的に)あらゆるデータを収集できるプラグインです。 #SAM - System Alerting and Monitoring #監視 #InterSystems IRIS Open Exchange app 1 0 0 81
記事 Hiroshi Sato · 2021年12月21日 1m read 監査ログをプログラムで出力(ユーザやイベント指定など)する方法 これは、InterSystems FAQサイトの記事です。 監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。 サンプルコードは以下のようになります。 Set statement=##class(%SQL.Statement).%New() Set status=statement.%PrepareClassQuery("%SYS.Audit","List") Set rs=statement.%Execute() Set tab = $char(9) While rs.%Next() { Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),! } #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 130
記事 Hiroshi Sato · 2021年12月20日 1m read <EXTERNAL INTERRUPT>エラーの原因と対処法 これは、InterSystems FAQサイトの記事です。 CSPアプリケーションでは、リクエスト処理時間がサーバー応答タイムアウト値(CSPゲートウェイ管理ページで設定、既定値60 sec)を経過すると、CSPゲートウェイからクライアントブラウザにタイムアウトを通知し、処理を続けているデータプラットフォームサーバプロセスにエラーを発生させます。 エラーが発生している処理を確認して頂き、処理遅延の改善、例えばタイムアウトが発生しないように処理内容を見直して応答時間を短くすることや必要に応じてサーバ応答タイムアウト値を大きくすることで対処可能です。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 296
記事 Toshihiko Minamoto · 2021年12月14日 5m read Node.jsでのZPMの使用 着想: @Evgeny Shvarovとその記事より Deploying InterSystems IRIS Embedded Python Solutions with ZPM Package Manager このアイデアを発展させ、同じことをNode.js.のモジュールで行ってみました。 このケースは、私の「IRIS Native API for Node.js」の例に基づいています。 InterSystems IRIS はクライアントとしてネイティブでWebSocketsをサポートしているというわかりきった返答を期待して: その通りです。そして、私がその昔書いた関連記事とOEXのサンプルへのリンクはこちらです。 #API #Node.js #グローバル #InterSystems IRIS Open Exchange app 1 0 0 113
記事 Tomoko Furuzono · 2021年12月13日 1m read グローバル単位でジャーナルのON/OFF設定をする方法 これは、InterSystems FAQサイトの記事です。 グローバル単位でジャーナルのON/OFF設定を行いたい場合は、グローバルマッピング設定で、 ・ジャーナルしたいグローバル ⇒ ジャーナルON(「はい」)のデータベースにマッピング ・ジャーナルしたくないグローバル ⇒ ジャーナルOFF(「いいえ」)のデータベースにマッピングと、分けることで可能です。 但し、通常のデータベースは、ジャーナルOFF設定であっても、トランザクション中の更新についてはジャーナルファイルに記録されます。 #グローバル #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 99
記事 Toshihiko Minamoto · 2021年12月9日 23m read MLとIntegratedMLでCovid-19のICU入室予測を実行する(パート2) キーワード: IRIS、IntegratedML、機械学習、Covid-19、Kaggle 前のパート1の続き... パート1では、Kaggleに掲載されているこのCovid-19データセットにおける従来型MLのアプローチを説明しました。 今回のパート2では、IRISのIntegratedMLを使用して、可能な限り単純な形態で同じデータとタスクを実行しましょう。IntegratedMLは、バックエンドAutoMLオプション用に洗練された優れたSQLインターフェースです。 同じ環境を使用します。 #IntegratedML #機械学習 #InterSystems IRIS 2 0 0 102
記事 Megumi Kakechi · 2021年12月9日 3m read 管理ポータル/スタジオ/ターミナルにパスワード認証を設定する方法 これは、InterSystems FAQサイトの記事です。 【 管理ポータルへのパスワード認証設定方法 】 管理ポータルの、 [ホーム] > [システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション]で /csp/sys、および、/csp/sys/ 以下の各アプリケーション(/csp/sys/expなど) の編集画面を開き、“許可された認証方法” の、"認証なし" のチェックを外し、“パスワード” のみチェックをして保存します。 #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 386