画像

IRIS と Python でチャットボットを作成する

この記事では、InterSystems IRIS データベースを Python と統合して自然言語処理(NLP)の機械学習モデルを提供する方法を説明します。

Python を使用する理由

世界的に広く採用され使用されている Python には素晴らしいコミュニティがあり、様々なアプリケーションをデプロイするためのアクセラレータ/ライブラリが豊富に提供されています。 関心のある方は https://www.python.org/about/apps/ をご覧ください。

0 0
0 263

1.本記事の内容

Caché パターンマッチングと同様に、Caché では正規表現を使ってテキストデータのパターンを特定することができますが、後者の場合はより高い表現力を利用できます。 本記事では正規表現を簡単に紹介し、Caché での活用方法について解説します。 本記事の情報は、主に Jeffrey Friedl 氏著作の「Mastering Regular Expressions (詳説 正規表現)」に加え、もちろん Caché のオンラインドキュメンテーションなど、様々なリソースを基に提供しています。 本記事は正規表現のあらゆる可能性や詳細について解説することを意図したものではありません。 更なる詳細にご興味のある方は、チャプター 5 に記載のソースを参照してください。 オフラインで読む場合は、PDF バージョンをダウンロードしていただけます。

0 0
0 260

2022年5月30日より、外部アプリからGmailを送信するには OAuth 2.0が必須になりました (リンク) そのため、IRIS から Gmail を送信したい 場合は、今後は OAuth 2.0 を利用して Gmailアカウントに接続する 必要があります。 そこで、IRIS コード ObjectScript を使って、OAuth 2.0 でGmailアカウントに接続&メール送信するサンプルを作成しました。 ぜひご活用ください!

2 0
0 258

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

IISおよびWebゲートウェイの設定方法は以下のとおりです。

(1) IIS構成で以下の設定を行います
アプリケーション /rest を作成し、ハンドラーマッピングで * = CSPms のみ定義します。

IIS構成 > Default Website > アプリケーション /rest > "ハンドラーマッピング" をダブルクリック
  要求パス:     *
  モジュール:   CSPms
  名前:         CSPGW    (任意の名前)

要求の制限 > [要求のマップ先が次の場合のみハンドラーを呼び出す] のチェックはオフにします。
※こちらの設定はデフォルトでは「チェックあり」になっていますのでご注意ください。

この構成により、IIS は /rest アプリケーションをWebゲートウェイに転送します。

0 0
0 254

初めに

Caché ActiveX Bindingは、Visual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。

CacheActiveX.dllとCacheObject.dllの2種類のバージョンが存在します。

IRISでは、CacheActiveX.dllは動作可能です。

CacheObject.dllはサポートしていません。

いずれにしろ誕生から既に20年以上が経過した非常に古いテクノロジーでマイクロソフト社も非推奨の古い規格ですので、今後も使い続けるのは得策ではありません。

Caché ActiveX Bindingの機能はIRISに用意されている.Net Native APIと.Net Managed Providerの機能を使って書き換え可能です。

ここでは、Caché ActiveX Bindingを使って書かれていたサンプルアプリケーションをIRISで動作するように移植した作業内容について解説します。

このサンプルは、以下のgithubサイトから入手可能です。

0 0
0 254

InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。

ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。

グローバルはデータを保存するための魔法の剣です パート1
グローバルはデータを保存するための魔法の剣ですパート2 - ツリー
グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列

0 0
0 253
記事
Mihoko Iijima · 2021年5月23日 2m read
VDOC (仮想ドキュメント)とは?

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

仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

0 0
0 252

この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けていくつかの可能性のあるアプローチをを紹介し、議論したいと思います。 今回は以下のようなトピックを取り上げます。 

0 0
0 251

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

TIMESTAMP型はInterSystems製品では、%Library.TimeStampデータタイプ(=%TimeStamp)に対応していて、フォーマットは YYYY-MM-DD HH:MM:SS.nnnnnnnnn です。

小数点以下の精度を変更したい場合は、以下の方法で設定します。

1) システムワイドに設定する

管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [一般SQL設定] 
GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP のデフォルト時刻精度 に 0~9 の範囲で桁数を指定できます。

0 0
0 247

Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。

以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。 *実行は、%SYSネームスペースで行って下さい。*
 

1 3
0 245

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

ジャーナルファイルの削除は、自動削除と手動削除が選択できます。


「自動削除」については、以下2つの方法が選択できます。

A) タスクスケジュールを使用して指定時間に自動削除する方法
B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法
 

A) タスクスケジュールを使用して指定時間に自動削除する方法

インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。
自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。

0 0
0 240

前回のつづきとして、いよいよIRISのインターオペラビリティ機能を使ってMQTTブローカーからメッセージを受信し、データベースに格納する方法について解説したいと思います。IRISのインターオペラビリティ機能につきましてはこちらをご参照ください。

ネームスペース作成

インストール時に作成されているUSERネームスペースはInteroperabilityに必要なライブラリを参照するためのマッピングができていません。
そのため、新たにネームスペースを作成する必要があります。
作成方法は、以下の通りです。

0 0
0 239

日本語ドキュメント公開

このたび、InterSystems IRIS 2020.1 の日本語ドキュメントが完成しました。それぞれ以下のWEBサイトで公開をしています。

ページ内の「すべてのドキュメント」アイコンをクリックすることで、各技術コンテンツを参照いただけます。

1 0
0 238

日付範囲クエリが極端に遅くなっていませんか?  SQLのパフォーマンスが低下していませんか?

日付範囲のサブクエリをまだご覧になっていない場合は、前回の投稿をご確認ください。
https://jp.community.intersystems.com/post/日付範囲クエリのsqlパフォーマンスを改善する


なぜ、こうも日付クエリに注目しているのでしょうか? それは、日付クエリが重要だからです。 それは報告であり、統計であり、自分の素晴らしい仕事を上司に証明するための数字です(もちろん、あなたが実際にそうしていればの話ですが )。では、前回と同じようなテーブルを見てみましょう。ただし、実際には MAXLEN と MINLEN を次のように適切に定義します。

1 0
0 235

はじめに

システム開発では、集計作業や他システムとの連携など、数十秒ごとにバックグラウンドで処理を実行する、常駐プロセスが必要になるケースが多々あるかと思います。

Cachéでは、Jobコマンドを使って常駐プロセスを作成しますが、実際にシステムを安定稼働させるには、以下の監視の仕組みが必要でした。

  • 常駐プロセスの監視 常駐プロセス起動時にロックをかけ、二重起動を防止したり、プロセスが起動しているかどうかを監視する
  • ログ 常駐プロセスの処理状況や発生したエラーを記録し、処理が行われているどうかを監視する

IRISの場合、Interoperabilityにはこれらの機能が装備されています。したがって、Interoperabilityの機能を使えば、簡単に常駐プロセスを起動、監視することができます。

常駐プロセスの作り方

常駐プロセスの作成には以下の作業を行います。

0 0
0 234
記事
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 以外は以下実行します。

4 0
0 229

キーワード: 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の配管をうまく行うための単純で一貫したアプローチがあるのでしょうか。

0 0
0 228

みなさん、こんにちは。

 

数日前、SOAP(Web)サービスを使用して、REST に基づく新しいアプリケーション API と同じ認証を使用できるように、既存のレガシーアプリケーションを拡張したい、とお客様から伺いました。 新しいアプリケーションは OAuth2 を使用しているため、課題は明らかでした。SOAP リクエストを含むアクセストークンをどのようにしてサーバーに渡すか、ということです。

Google でしばらく調べてみたところ、SOAP エンベロープにヘッダー要素を追加してから、アクセストークンを検証するために必要なことを Web サービス実装が実行できるようにするのが 1 つの実現方法であることがわかりました。

0 0
0 225

$LIST のフォーマットと%DynamicArray、%DynamicObject クラス

IRIS には、様々なデータ値を含むシーケンスを作成する方法がいくつかあります (以前は Cache にもありました)。  長年に渡り使用されているデータシーケンスの 1 つに $LIST の文字列があります。  より最近のデータシーケンスには %DynamicArray クラスと %DynamicObject クラスがあり、両者ともに JSON の文字列表現に対応する IRIS サポートの一部となっています。  これら 2 つのシーケンスにはそれぞれ非常に異なるトレードオフがあります。

$LIST の文字列形式

$LIST 形式は、かつてメモリアドレスのスペースが小さいだけでなく、ディスクドライブも小さく、読み取り速度が遅かった時代に考案されました。  $LIST の形式は、複数の異なるデータ型で構成されるシーケンスをバイト数を可能な限り抑えながら 8 ビットの一般的な文字列にパッキングするためにデザインされました。

$LIST のシーケンスは、ObjectScript の $LISTBUILD 関数を使って作成します。 

0 0
0 224

この記事はこちらの投稿の続きの内容です。

前回の記事では、プロダクションとは?について確認しました。また、サンプルコードを動かしながらプロダクションに流れるメッセージの中身をトレース画面で確認しました。

今回は記事では、システム統合を行うための必要な開発内容の中から、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認していきます。

0 0
0 223

キーワード: 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に書き込む作業においてのオプションと議論について要約しましょう。

すぐに思い浮かぶ簡単なオプションがいくつかあります。

2 0
0 222

 

IRIS 2019.4以降の製品には、Prometheus形式でIRISのメトリックを公開する/api/monitorサービス機能が実装されています。 IRISのメトリックを監視・警告ソリューションの一部として使用したい人にとっては大きなニュースです。 このAPIは、IRISの次期バージョンでリリースされる予定の新しいIRIS System Alerting and Monitoring (SAM) ソリューションのコンポーネントです。 

ただし、IRISインスタンスを監視するためにSAMがこのAPIの計画と実証実験を開始するのを待つ必要はありません。 今後の投稿では利用可能なメトリックとその意味についてさらに掘り下げ、対話型ダッシュボードの例を示します。 しかし、まずは背景の説明といくつかの質問と回答から始めましょう。 

0 0
0 222

応募期間は 2020年6月29日~7月12日 です!

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $2,000 

🥈 2位 - $1,000 

🥉 3位 - $500

2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

1 0
0 221

以前紹介した記事 (お読みいただいたでしょうか) では、GitHub とパーフェクトに統合する CircleCI のデプロイシステムについてカバーしました。 なのにどうしてさらに掘り下げる必要があるのか? それは、GitHub には GitHub Actions という独自の CI/CD プラットフォームがあり、詳しく見ておく価値があるからです。 GitHub Actions を使えば、外部のサービスを使用する必要はありません。

この記事では、GitHub Actions を使って InterSystems Package Manager のサーバー部分である ZPM-registry を Google Kubernetes Engine (GKE) にデプロイする、ということを試したいと思います。

0 0
0 221

InterSystems は自社が提供する InterSystems IRIS の Dockerイメージについて、Linux 環境での使用のみをサポートしています。 Docker for Windows は Linux プラットフォームのようにコンテナをネイティブプロセスとして実行するのではなく、Windows の仮想化機能である Hyper-V で実行される Linux VM を作成してコンテナをホストします。 このような追加レイヤーによって複雑度が増しているため、InterSystems は現時点で Docker for Windows をサポートすることができません。

0 0
0 212

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

SELECT ... FOR UPDATE は明示的な行ロック取得の方法として多くの RDBMS で実装されているため、この機能を使われているケースも多いと思います。

このシンタックスは InterSystems 製品ではエラーにはなりませんが、期待されるような行ロックの取得は行われません。

この記事では同等の機能を実現する方法をご紹介します。

DECLARE CURSOR C1 IS
SELECT Name FROM Person WHERE Name LIKE 'A%' FOR UPDATE
OPEN C1
LOOP FETCH C1 INTO name 
... name を表示
... 終了ならLOOPをEXIT
END LOOP
CLOSE C1

 

上記のようなSQL文は、下記のSQL文で代替可能です。

1 0
0 211

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

InterSystems製品を停止しないバックアップ方法は、3種類あります。


① 外部バックアップ
② オンライバックアップ
③ レガシー並行外部バックアップ

 

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

0 0
0 207

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

※データベースファイルとは、IRIS.DAT、および、CACHE.DATのことを指します。

Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 以降のバージョンより、データベースファイル のサイズの縮小に、データベースの「圧縮」と「未使用領域の削除」機能をあわせて使用できます。

1 0
0 207