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

INFORMATION_SCHEMA スキーマを使用して取得できます。

INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルの SQL メニューに表示されません。

表示させる方法は以下の通りです。

  1. 管理ポータル→システムエクスプローラ→SQL メニューを開きます。
  2. スキーマのプルダウン左にある「システム」をチェックします。
  3. スキーマのプルダウンから INFORMATION_SCHEMA を選択します。

0 0
0 171

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

24時間停止しないシステムの場合、「ジャーナルファイルの削除設定」に合わせて 0時30分 に古いジャーナルファイルを削除します。

「ジャーナルファイルの削除設定」より古いジャーナルファイルが残っている原因として、オープンされたままのトランザクションが存在していることが考えられます。

その場合、トランザクション実行中プロセスを探し、トランザクションを確定させることでジャーナルファイルを削除できるようになります。

以下のサンプルは、オープンされたままのトランザクションの存在確認と、存在する場合は対象ファイル名とジャーナルレコード情報が出力されます。

(サンプルは、https://github.com/Intersystems-jp/CheckOpenTransaction からダウンロードできます)

0 0
0 171

IRISTEMPというデータベースをご存じでしょうか?

特定の処理に対してデータを無期限に保存する必要がなく、「同一プロセス内でのみ使用したい場合」や「IRISが起動中のみ使用したい場合」に、IRISTEMPデータベースに保存されるグローバルを使用できます。
IRISTEMPデータベースに保存されるグローバルに対する操作は ”一切ジャーナルされない” ため、効率性を最大限にしたい作業に使用できます。

IRISTEMPデータベースに保存されるグローバル(データ)には、以下の種類があります。

1 0
1 169

私たちのほとんどは、多かれ少なかれDockerに慣れ親しんでいます。 Dockerを使用している人たちは、ほとんどのアプリケーションを簡単にデプロイし遊んで、何かを壊してしまってもDockerコンテナを再起動するだけでアプリケーションを復元できる点を気に入っています。

InterSystems も Docker を気に入っています。

InterSystems OpenExchange プロジェクトには、InterSystems IRISのイメージを簡単にダウンロードして実行できるDockerコンテナで実行するサンプルが多数掲載されています。また、Visual Studio IRISプラグインなど、その他の便利なコンポーネントもあります

0 0
0 169
記事
· 2020年10月19日 5m read
SQL パフォーマンスリソース

SQL パフォーマンスリソース

SQL のパフォーマンスについて語るとき、最も重要なトピックとして取り上げられるのが「Indices」、「TuneTable」、「Show Plan」の 3 つです。 添付の PDF にはこれらのトピックに関する過去のプレゼン資料が含まれていますので、それぞれの基礎を一度に確認していただけます。 当社のドキュメンテーションでは、これらのトピックの詳細に加え、SQL パフォーマンスの他のトピックについてもカバーしておりますので、下のリンクからお読みください。 eラーニングをご利用いただくと、これらのトピックをもっと深く理解していただけます。 また、開発者コミュニティによる記事の中にも SQL パフォーマンスについて書かれたものが複数ありますので、関連するリンクを下に記載しております。

下に記載する情報には同じ内容が多く含まれています。 SQL パフォーマンスにおける最も重要な要素を以下に紹介します。

  • 利用可能なインデックスの種類
  • あるインデックスの種類を他の種類の代わりに使用する
  • TuneTable がテーブルに集める情報とそれが Optimizer に対して意味する内容
  • Show Plan を読んでクエリの善し悪しを深く理解する方法
  • 0 0
    0 169

    Java Business Host から PEX への移行

    InterSystems IRIS 2020.1 および InterSystems IRIS for Health 2020.1 で PEX がリリースされ、Java Business Host を使うよりも優れたかたちで Java プログラムをプロダクション環境に取り込めるようになりました。 PEX は、相互運用性のコンポーネントを構築するための API をすべて提供するほか、Java と .NET の両方で使用できます。 Java Business Host は非推奨となり、今後のリリースで廃止される予定です。

    PEX を使うメリット

    0 0
    0 169

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

    バージョン2017.2以降から、CREATE TABLE文で作成したテーブル定義のデータを格納するグローバル変数の命名ルールが変わり ^EPgS.D8T6.1 のようなハッシュ化したグローバル変数名が設定されます。(この変更はパフォーマンス向上のために追加されました。)

    ※ バージョン2017.1以前については、永続クラス定義のルールと同一です。詳細は関連記事「永続クラス定義のデータが格納されるグローバル変数名について」をご参照ください。

    以下のテーブル定義を作成すると、同名の永続クラス定義が作成されます。

    0 0
    0 168

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

    コンソールログファイル (※1) に、以下のメッセージが表示されることがあります。

    05/14/19-09:32:14:056 (6888) 0 System routine buffer (64 KB) shortage is detected, 430 routine buffers configured, adjusted per process cached rtn to 71

    (※1)
    コンソールログファイルは、[管理ポータル] > [システムオペレーション] > [システムログ] > [コンソール・ログ] から参照できます。
    または、以下ファイルを直接参照することもできます。


     

    <インストールディレクトリ>\mgr\cconsole.log 

    上記メッセージでは、ルーチンバッファサイズのうちの 64KB バッファの不足が検出されています。

    0 0
    0 168

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

    VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。

    (*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです)

    対象バージョン:2023.1以下のInterSystems製品

    追加が必要なパス: /api

    0 0
    0 167

    以下、デプロイモード(配置モード)でプログラムを配布する方法を2つご紹介します。


    ① DB内のソースコードをデプロイモードでエクスポートする方法

    ② ソースコード用DBを用意してIRIS.datごとデプロイモードにする方法


    ①は、プログラムのみデプロイモードでエクスポート/インポートできるので、初回システム構築時はもちろん、プログラムの修正が発生した時などソースの一部のみエクスポートすることも可能となります。

    ②は、IRIS.dat ごとデプロイするので初回システム構築時に IRIS.dat のみ配置すればよく手順が単純です。

    クラスがデプロイモードになると、そのクラスのメソッドとトリガのソースコードは削除されます。
    クラスがデータ型クラスである場合、クエリキャッシュによって実行時にメソッド定義が必要になる可能性があるために、メソッド定義が保持されるのでご注意ください。

    0 0
    0 166
    記事
    · 2020年12月16日 2m read
    SQLインジェクションに対する対策

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

    SQLインジェクションに関しては、様々なWebサイトで対策等が公開されていますが、InterSystems SQLを使ったアプリケーションでも、他のRDBMSと同様にそれらの対策を適切に実施することで、SQLインジェクションは防げると考えられます。

    さらに、InterSystems Data Platform(以下IRIS)の場合、一般的なRDBMSに比較して、SQLインジェクションを実行しづらい、幾つかの施策が組み込まれています。

    0 0
    0 165

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

    ディスクの空きスペースにもよりますが、ブロック別で最大サイズが異なります。

    各バージョン共通で、8KBのブロックサイズを使用した場合は、32TBです。

    バージョン2008.1以降のバージョンでは、8KB以外のブロックサイズを指定できるようになったため、最大サイズは以下の通りです。

    • 16KBのブロックサイズを使用した場合、64TB
    • 32KBのブロックサイズを使用した場合、128TB
    • 64KBのブロックサイズを使用した場合、256TB
    1 0
    0 165

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

    マシン名の変更後に InterSystems IRIS(以降IRIS) を停止せずにOSを再起動すると、IRISが開始できないという問題が発生します。

    開始するためには、<インストールディレクトリ>\mgr\iris.ids ファイルを削除してください。

    iris.ids には、起動したノード名や共有メモリの情報(共有メモリID)が格納されていて、IRIS 開始時に作成され、停止時(iris stop または iris force を実施した場合)に削除されます。

    0 0
    1 165

    はじめに

    InterSystemsは最近、HL7バージョン2の相互運用性に焦点を当てた、IRIS for Health 2020.1のパフォーマンスとスケーラビリティのベンチマークを完了しました。 この記事では、さまざまなワークロードで観察されたスループットを説明し、IRIS for HealthをHL7v2メッセージングの相互運用性エンジンとして使用しているシステムの一般的な構成とサイジングのガイドラインを提供します。

    0 0
    0 165

    Docker による Apache Web ゲートウェイ

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

    この記事では、以下を使用して、Docker でプログラムによって Apache Web ゲートウェイを構成します。

    • HTTPS プロトコル
    • Web ゲートウェイと IRIS インスタンス間の安全な通信を確保する TLS/SSL

    画像

    イメージには、Web ゲートウェイ用と IRIS インスタンス用の 2 つを使用します。

    すべての必要なファイルは、こちらの GitHub リポジトリで入手可能です。

    では、git clone から始めましょう。

    0 0
    0 163

    こちらの記事では、RESTやCSPなどの「Webアプリケーションのトラブルシューティング」のヒントをご紹介します。

    何かしらのトラブルと思われる事象が発生した場合、確認したいのがログファイルになります。
    各コンポーネント間のやり取りで、どこでどのようなトラブルが発生しているかを、それぞれログを取得して確認することができます。

    ① クライアント ⇔ Webサーバ間では、「Webサーバログ(IISやApacheのアクセスログなど)」、
    ② Webサーバ ⇔ Webゲートウェイ間では、「イベントログ」・「HTTPトレース」、
    ③ Webゲートウェイ ⇔ IRISサーバ間では、「ISCLOG」・「監査ログ」・「messages.log」などがあります。

    3 0
    0 163

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

    IRISおよびIRISforHealthのランチャーからドキュメントをポイントすると、Web上の英語ドキュメントを参照します。

    以下の設定ファイルを下記のように修正することにより、ランチャーから日本語ドキュメントを参照できるようになります。

    <インストールディレクトリ>\httpd\conf\httpd-doc.conf

    0 0
    0 162

    みなさんこんにちは! 今回は、IRIS 2024.1で実験的機能として実装されたVector Search (ベクトル検索)について紹介します。ベクトル検索は、先日リリースされたIRIS 2024.1の早期アクセスプログラム(EAP)で使用できます。IRIS 2024.1については、こちらの記事をご覧ください。

    ベクトル検索でどんなことができるの?

    ChatGPTをきっかけに、大規模言語モデル(LLM)や生成AIに興味を持たれている方が増えていると思います。開発者の方々の中には、中はどうなっているのか気になっている方も多いのではないでしょうか。実は、LLMや生成AIの仕組みを理解したいと思えば、ベクトルの理解は不可欠な要素となります。

    ベクトルとは?

    ベクトルは、高校の数学で習う「あの」ベクトルのことです。が、今回は、複数の数値をまとめて扱うデータ型であるという理解で十分です。例えば、

    6 1
    0 161

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

    SQLクエリーの文字列を監査ログに残すことができます。

    詳細は、以下のドキュメントをご参照下さい。

    システム監査イベントについて

    ※%SQLで始まるイベントをご覧ください。

    InterSystems SQL の使用法

    ※監査関連ページをご覧ください。

    0 0
    0 161

    みなさん、こんにちは。 今回は ML モデルを IRIS Manager にアップロードしてテストしようと思います。

    注意: Ubuntu 18.04、Apache Zeppelin 0.8.0、Python 3.6.5 で以下を実行しました。

    はじめに

    最近では実にさまざまなデータマイニングツールを使用して予測モデルを開発し、これまでにないほど簡単にデータを分析できるようになっています。 InterSystems IRIS Data Platform はビッグデータおよび高速データアプリケーション向けに安定した基盤を提供し、最新のデータマイニングツールとの相互運用性を実現します。

    0 0
    0 161

    まずはこの記事で手短にこの疑問に回答します。 この連載のパート2には、pButtonsから抽出されたパフォーマンスデータのグラフを含めました。 pButtonsの.htmlファイルからmgstatなどのメトリックを抽出してExcelで簡単にグラフ作成する方法として、カット&ペーストよりも素早く行える方法がないか、オフラインで尋ねられました。

    参照: パート2: 収集したメトリックを確認する

    pButtonsは、収集したデータをWRCに送信して確認しやすくするために、そのデータを1つのhtmlファイルにコンパイルするのですが、 特に24時間などの長い収集時間で実行されるpButtonsの場合は、mgstat、vmstatなどの時間ベースのデータをグラフィック表示にして確認できれば、トレンドやパターンが見やすくなります。

    0 0
    0 160

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

    データベースの空き容量は、システムモニタを使用して監視することができます。

    システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。

    0 0
    0 160

    1 年ほど前、私のチーム(多数の社内アプリケーションの構築と管理、および他の部署のアプリケーションで使用するツールやベストプラクティスの提供を担う InterSystems のアプリケーションサービス部門)は、Angular/REST ベースのユーザーインターフェースを元々 CSP や Zen を使って構築された既存のアプリケーションに作りこむ作業を開始しました。 この道のりには、皆さんも経験したことがあるかもしれない興味深いチャレンジがありました。既存のデータモデルとビジネスロジックに新しい REST API を構築するというチャレンジです。

    0 0
    0 159

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

    $IsObject()を使用して判別できます。 調べたい変数をvとすると、

    $IsObject(v)=1 // vはOREF
    $IsObject(v)=0 // vはOREFではない
    $IsObject(v)=-1 // vはOREFだが、有効なオブジェクトを指していない

    となります。

    vが未定義の場合は、$IsObject(v)はUNDEFINEDエラーとなりますので、ご注意ください。

    UNDEFINEDエラーを防止するには、次のように$Getを使用することをお勧めします。

    0 0
    0 157

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

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

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

    0 0
    0 157
    記事
    · 2022年11月8日 9m read
    Django 入門 パート 2

    パート 1 では、Django で新しいプロジェクトを開始する方法を紹介し、新しいモデルの定義方法と既存のモデルの追加方法を説明しました。 今回は、初期状態で利用可能な管理者パネルとどのように役立つかについて説明します。 _重要な注意事項: この記事のアクションを繰り返しても、動作しません。 記事の途中で、django-iris プロジェクトにいくつか修正を行い、InterSystems が作成した DB-API ドライバーの課題もいくつか修正しました。このドライバーは現在の開発中であり、将来的に、より安定したドライバーが提供されると思います。 この記事では、すべてを実行した場合にどのようになるかを説明しているにすぎません。_

    0 0
    0 157

    IRIS 2023.1でのメソッドコードの生成と呼び出し方法の変更について、お知らせしたいと思います。

    IRIS のクラスは、2 つの主要なランタイムコンポーネントで構成されています。

    1. クラスディスクリプタ - クラスを構成するメソッド、プロパティ、クラスパラメータ、およびこれらのそれぞれに関連する属性(パブリック/プライベート設定など)が最適化されたリストです。
    2. ObjectScriptコード - メソッドが呼び出されたときに実行される ObjectScript コードを含むルーチンのセットです。

    クラス/オブジェクトのメソッドを呼び出すと、ディスパッチコードがクラス記述子からメソッドを探し、呼び出しが許可されているかどうかを確認し、正しいクラスコンテキストを設定し(その過程で $this を更新)、最後に関連するクラスルーチンにある ObjectScript コードを呼び出します。

    2 0
    0 157

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

    正規表現を使用する$Locate()関数がご使用いただけます。

    正規表現の使用方法

    使用方法の例は以下の様になります。

    USER>write str
    あいうえおかきくけこABC123456さしすせそ USER>write $locate(str,"[A-Za-z]{3}[0-9]{6}",,,val)
    11 USER>write val
    ABC123456 USER>
    0 0
    0 156