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 165
記事
· 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 164

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

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

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

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

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

    0 0
    0 164

    Windows と Mac で InterSystems IRIS 2019.1 (および 2018.1.2) の SSL/TLS 設定に認証局 (CA) の証明書を簡単に追加する新しい方法ができました。 IRIS にオペレーティングシステムの証明書ストアを使用することを要求するために、

    %OSCertificateStore

    を "信頼された証明書機関 X.509 証明書を含むファイル" のフィールドに入力します。 以下はポータルでそれを実行する方法を示した画像です。

    また、これについて説明したドキュメントへのリンクはこちらです。 "信頼された証明書機関の証明書を含むファイル" のオプションの中を探してください。

    0 0
    0 162

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

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

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

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

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

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

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

    0 0
    0 160

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


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

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


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

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

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

    0 0
    0 160

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

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

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

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

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

    InterSystems SQL の使用法

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

    0 0
    0 159

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

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

    はじめに

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

    0 0
    0 159

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

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

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

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

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

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

    0 0
    0 159

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

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

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

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

    0 0
    0 157

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

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

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

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

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

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

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

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

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

    0 0
    1 155

    はじめに

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

    0 0
    0 155

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

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

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

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

    0 0
    0 154

    *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

    VSCodeのObjectScript用エクステンションバージョン1.0がリリースされ、GitやDockerなどの標準技術とIRISを手軽に組み合わせて利用できるようになりました。 開発者コミュニティでは、IRISをもっと簡単に操作いただけるようコンテナ版IRISを利用した開発環境テンプレ―トやObjectScriptパッケージマネージャを公開しています。

    https://www.youtube.com/embed/CV15rQF-hpA
    [これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。]

    0 0
    0 154

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

    0 0
    0 153

    *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

    現在使用している Caché/Ensemble システムから InterSystems IRIS に移行する場合、マイグレーション(インプレース変換)を行うのでなければ現行環境と新環境を一時的に並行稼働させる必要があるかもしれません。

    https://www.youtube.com/embed/Dm6f0QoXRhw
    [これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。]

    この動画では、そのような場合のインストールや構成についての注意点やデータ移行にどのような技術が利用可能かについてご紹介します。

    0 0
    0 152
    記事
    · 2020年8月6日 2m read
    Python Gateway パート VI: Jupyter

    この連載記事では、InterSystemsデータプラットフォーム用のPython Gatewayについて説明します。 また、InterSystems IRISからPythonコードなどを実行します。 このプロジェクトは、InterSystems IRIS環境にPythonの力を与えます。

    • 任意のPythonコードを実行する
    • InterSystems IRISからPythonへのシームレスなデータ転送
    • Python相互運用アダプタでインテリジェントな相互運用ビジネスプロセスを構築する
    • InterSystems IRISからのPythonコンテキストの保存、調査、変更、復元

    その他の記事

    現時点での連載計画です(変更される可能性があります)。

    はじめに

    Jupyter Notebookは実コード、数式、図、説明文を含むドキュメントを作成および共有できるオープンソースのWebアプリケーションです。

    この拡張機能を使用すると、InterSystems IRIS BPLのプロセスをJupyterノートブックとして参照および編集できます。

    0 0
    0 152

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

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

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

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

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

    0 0
    0 151

    これは 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 150

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

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

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

    0 0
    0 149

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

    ObjectScript言語は、Java言語等がサポートしている型キャストをサポートしていません。

    ただし、メソッドのキャストはサポートしています。

    詳細は以下ドキュメントページをご参照ください。


    メソッドのキャスト【IRIS】
    メソッドのキャスト

    0 0
    0 149

    これは 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 148

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

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

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

    0 0
    0 148

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

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

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

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

    2 0
    0 148

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

    ご存知のように、InterSystems IRIS インターオペラビリティソリューションには、プロダクション、ビジネスルール、ビジネスプロセス、データ変換、レコードマッパーなどの様々なエレメントが含まれています。 また、UI ツールを使用してこれらの要素を作成し、変更することもあります。 もちろん、UI ツールで行った変更をソース管理する便利で堅牢な方法も必要です。

    長い間、これは手動(クラス、エレメント、グローバルなどのエクスポート)か面倒な設定作業手順によって行われてきました。そのため、ソース管理 UI の自動化で節約された時間は、設定のセットアップとメンテナンスの時間で相殺されていました。

    現在では、この問題はなくなりました。 パッケージファースト開発と @Timothy Leavittgit-source-control という IPM パッケージの使用という 2 つのアプローチによる結果です。

    詳細は以下のとおりです!

    1 0
    0 147