記事 Mihoko Iijima · 2023年3月13日 3m read 永続クラス定義のデータが格納されるグローバル変数名について これは InterSystems FAQ サイトの記事です。 永続クラス定義では、データを格納するグローバル変数名を初回クラスコンパイル時に決定しています。グローバル変数名は、コンパイル後に表示されるストレージ定義(Storage)で確認できます。 例) #オブジェクトデータモデル #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 190
記事 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 502
記事 Megumi Kakechi · 2021年2月2日 2m read 2つのデータベースにある複数のグローバルやルーチンを比較する方法 これは InterSystems FAQ サイトの記事です。 ※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。 グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。DataCheckの概要【IRIS】 DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。 *** ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。 以下は、管理ポータルでの使用方法になります。 #システム管理 #ヒントとコツ #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 266
記事 Hiroshi Sato · 2021年11月24日 1m read InterSystems製品開始時に特定の処理を実行する方法 これは InterSystems FAQ サイトの記事です。 InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。 (%ZSTARTルーチンは%SYSネームスペースで作成します) SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。 ^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。 詳しくは、以下ドキュメントをご参照ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 176
記事 Mihoko Iijima · 2021年3月26日 2m read Linux のシェルスクリプトでルーチンやメソッドの戻り値を取得する方法 これは InterSystems FAQ サイトの記事です。 Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。 詳細はドキュメント「インスタンスの接続について」 をご参照ください。 コマンド記述例は以下の通りです。 iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド" #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1K
記事 Mihoko Iijima · 2021年4月9日 1m read 関数・メソッドの引数に可変長引数を渡すことができるかどうか これは InterSystems FAQ サイトの記事です。 引数名の後ろに ... をつけることで可変の引数を渡すことができます。 ObjectScript では、配列を使って任意の数の引数を渡すことができます。 例文は以下の通りです。例文では、メソッド実行後に確認しやすいように、グローバル変数(=データベースに格納される変数)に引数の情報を設定しています。 Class TEST.ARGTEST1 Extends %RegisteredObject { ClassMethod NewMethod1(Arg... As %String) As %Boolean { kill ^a merge ^a = Arg } } ターミナルで実行した結果は以下の通りです。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 204
記事 Megumi Kakechi · 2021年5月13日 1m read InterSystems IRIS Data Platform がWeb開発に適している理由 これは InterSystems FAQ サイトの記事です。 Webアプリケーションの開発・運用には、高性能・高スケーラビリティ・開発生産性の良さが求められます。 IRIS Data Platformには、高性能で軽量なデータベースエンジンとそのエンジンの性能を最大限活用するアプリケーションサーバ機能、および、Webアプリケーションを迅速に開発するためのREST/JSON対応、API管理機能が用意されています。 さらに、マルチコア・マルチCPUシステムに最適化したアーキテクチャや、複数サーバでのスケールアウト手法による高スケーラビリティを提供するECP、シャーディングと呼ばれる技術を提供します。 #ヒントとコツ #初心者 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 129
記事 Megumi Kakechi · 2021年6月16日 2m read コンソールログに出力されるアラート情報の意味 これは InterSystems FAQ サイトの記事です。 InterSystems製品のシステムモニタが色々なリソースの使用状況を監視しています。 そしてその使用状況に応じてアラートやワーニング情報をコンソールログ(message.log/cconsole.log)に出力します。 アラート情報が表示するCPUのリソースについては、以下のものが定義されています。 #ヒントとコツ #監視 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 240
記事 Toshihiko Minamoto · 2021年9月14日 10m read リレーショナルデータベースにおけるEntity-Attribute-Valueモデル。 グローバル変数はテーブルでエミュレートする必要がありますか? パート2. より産業向けのグローバルストレージスキーム この連載の第1回では、リレーショナルデータベースにおけるEAV(Entity-Attribute-Value)モデルを取り上げ、テーブルにエンティティ、属性、および値を保存することのメリットとデメリットについて確認しました。 このアプローチには柔軟性という点でメリットがあるにもかかわらず、特にデータの論理構造と物理ストレージの基本的な不一致などによりさまざまな問題が引き起こされるという深刻なデメリットがあります。 こういった問題を解決するために、階層情報の保存向けに最適化されたグローバル変数を、EAVアプローチが通常処理するタスクに使用できるかどうかを確認することにしました。 パート1では、オンラインストア向けのカタログをテーブルを使って作成し、その後で1つのグローバル変数のみで作成しました。 それでは、複数のグローバル変数で同じ構造を実装してみることにしましょう。 #SQL #グローバル #データベース #パフォーマンス #ヒントとコツ #リレーショナルテーブル #非構造化データ #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 282
記事 Megumi Kakechi · 2022年2月13日 2m read IRISが使用するワーキングセット(メモリ)について これは、InterSystems FAQサイトの記事です。各プロセスが消費しているメモリの内容は、Windowsリソースモニタの項目のワーキングセット、共有可能、プライベートで確認できます。 これらの内容は以下になります。 ワーキングセット プロセスが使用する物理メモリです。 ワーキングセット(プライベート)とワーキングセット(共有可能)との合計です。 共有可能 プロセスが使用する物理メモリ内で他のプロセスと共有可能なメモリです。 プライベート プロセスが使用する物理メモリ内で他のプロセスと共有不可能なメモリです。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 201
記事 Megumi Kakechi · 2022年7月3日 2m read $ZF(-100)でOSコマンド実行した際に <NOTOPEN> エラー または -1 が返る理由 これは InterSystems FAQ サイトの記事です。 バージョン2015.2以降から、Windows上のインストール環境では、サービス・アカウントを 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」の「ローカル・システムアカウント」から Windows の任意の管理者アカウントに変更した場合に <NOTOPEN> エラー または -1 が返ります。 この状況を回復するためには、以下2つの設定をする必要があります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 325
記事 Megumi Kakechi · 2022年10月3日 1m read InterSystems IRIS は 2フェーズコミットをサポートしていますか? これは InterSystems FAQ サイトの記事です。 Question: InterSystems IRIS は 2フェーズコミットをサポートしていますか? Answer: サポートしていません。 2フェーズコミットはデータベースシステムがサポートしているだけでは十分ではなく、アプリケーションサーバ等の各実装が定めている2フェーズコミットのプロトコルを駆使して、アプリケーションを構築する必要があります。 また関連するシステムの全てのコンポーネントが対応している必要がある、ロングトランザクションには向いていないなど、現実に実装する局面では様々な制約事項があります。 2フェーズコミットは、技術面、設計および実装面、コスト面、性能面などハードルが非常に高いため、実際には限られた領域での利用に留まっています。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 76
記事 Mihoko Iijima · 2023年4月10日 4m read テーブル定義のデータが格納されるグローバル変数名について これは InterSystems FAQ サイトの記事です。 バージョン2017.2以降から、CREATE TABLE文で作成したテーブル定義のデータを格納するグローバル変数の命名ルールが変わり ^EPgS.D8T6.1 のようなハッシュ化したグローバル変数名が設定されます。(この変更はパフォーマンス向上のために追加されました。) ※ バージョン2017.1以前については、永続クラス定義のルールと同一です。詳細は関連記事「永続クラス定義のデータが格納されるグローバル変数名について」をご参照ください。 以下のテーブル定義を作成すると、同名の永続クラス定義が作成されます。 #SQL #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 160