記事 Megumi Kakechi · 2022年5月6日 1m read なぜフラグメントが発生しにくいのか これは、InterSystems FAQサイトの記事です。InterSystems製品では、永続データは後で高速にランダムアクセスできるように、ある一定の規則に沿ってキー順にソートされて格納されます。 新しいノードが追加された場合、ノードが削除された場合、データの長さが変更された場合など、データの構造変化が起こる度に、その並び順を維持できるようまた無駄な領域が発生しないように動的なデータの配置変えを実施します。 従って、常にデータはきれいに整理された状態で格納されるため、無駄な空き領域が発生しません。 これらの並べ替えの作業は、書き換えのコストのかかる処理ですが、InterSystems製品では、これらの処理はなるべくメモリ(キャッシュ)上で実行し、ディスクI/Oを軽減することにより、性能の劣化を抑えています。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 138
記事 Megumi Kakechi · 2022年5月6日 1m read InterSystems IRIS Data Platformはリレーショナルデータベースと何が違うのか これは、InterSystems FAQサイトの記事です。InterSystems IRIS Data Platform(以下IRISと表記)はSQLのサポートをはじめ、リレーショナルデータベースとの高い互換性を有します。 さらに、IRISは多次元データエンジンをベースにしており、通常のリレーショナルデータベースシステムに比べて柔軟なデータ構造を持つことができ、一般的にパフォーマンス、スケーラビリティ、データ保守性に優れています。 また完全なオブジェクト指向をサポートしており、Javaなどのオブジェクト指向開発環境との親和性という点でも優れています。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 244
記事 Megumi Kakechi · 2022年4月17日 4m read Embedded Python で Excel のデータを IRIS グローバルに格納する方法 InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。Embedded Python については、「Embedded Pythonを簡単にご紹介します」の記事をぜひご覧ください。 こちらでは、Embedded Python を使用して Excel のデータを IRIS グローバルに出力する方法をご紹介します。 最初に、irispip コマンドで必要なライブラリをインストールします。今回は、pandas、xlrd、openpyxl の3つのライブラリをインストールします。 #Embedded Python #Python #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 3 2 1 609
記事 Megumi Kakechi · 2022年3月31日 1m read インスタンス(構成)名を変更する方法 これは、InterSystems FAQサイトの記事です。 Windowsでは、変更することはできませんが、Unix系プラットフォームでは、iris rename コマンドを使用することで変更できます。 iris rename instname(現インスタンス名) newname(新インスタンス名) iris rename コマンドの詳細は、以下ドキュメントをご参照くださいiris コマンドについて #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 140
記事 Megumi Kakechi · 2022年3月23日 3m read ジャーナルレコードに記録されるタイプについて これは、InterSystems FAQサイトの記事です。ジャーナル・ファイルの処理でジャーナルファイルに記録されるタイプが、それぞれどのような状況下で記録されるのかについて説明します。 #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 197
記事 Megumi Kakechi · 2022年3月3日 3m read IRISTEMPデータベースでどの一時グローバルがサイズ消費しているかを特定する方法 これは、InterSystems FAQサイトの記事です。ある処理において、データを無期限に保存する必要がなくグローバルの強力な性能が必要になる場合に、IRISTEMP/CACHETEMP データベースに保存される一時グローバルが使用されます。IRISTEMP/CACHETEMPデータベースはジャーナルされないので、一時グローバルの使用ではジャーナルファイルは作成されません。 IRISTEMP/CACHETEMP データベースは、システムで一時ストレージ用に使用され、ユーザも同じ用途で使用することができます。 一時グローバルとIRISTEMPデータベースの詳細については、以下のドキュメントをご覧ください。一時グローバルと IRISTEMP データベース #グローバル #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 312
記事 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 139
記事 Megumi Kakechi · 2022年2月13日 2m read IRISが使用するワーキングセット(メモリ)について これは、InterSystems FAQサイトの記事です。各プロセスが消費しているメモリの内容は、Windowsリソースモニタの項目のワーキングセット、共有可能、プライベートで確認できます。 これらの内容は以下になります。 ワーキングセット プロセスが使用する物理メモリです。 ワーキングセット(プライベート)とワーキングセット(共有可能)との合計です。 共有可能 プロセスが使用する物理メモリ内で他のプロセスと共有可能なメモリです。 プライベート プロセスが使用する物理メモリ内で他のプロセスと共有不可能なメモリです。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 223
記事 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 242
記事 Megumi Kakechi · 2022年1月12日 5m read ミラージャーナルファイルの削除のタイミングと要件 これは、InterSystems FAQサイトの記事です。ミラージャーナルファイルの削除(パージ)のタイミングは以下のようになります。 ・プライマリ・フェイルオーバー・メンバ #Mirroring #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 209
記事 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 435
記事 Megumi Kakechi · 2021年11月15日 1m read Webゲートウェイ/CSPゲートウェイの設定についての注意点(Apache) これは InterSystems FAQ サイトの記事です。 SELinuxの機能が有効になっているとファイルアクセス時にセキュリティコンテキストのチェックで permission エラーになります。 CSP のページについても同様に permission エラーになっているため、Apache にて 403 Forbidden エラーになります。 以下の設定でSELinuxの機能を無効にすることで回避できます。 設定ファイル /etc/selinux/config の SELINUX=disableに設定し、OS の再起動を行います。 例: #セキュリティ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 283
記事 Megumi Kakechi · 2021年11月10日 4m read InterSystems製品のプロセスが使用するメモリ量について これは InterSystems FAQ サイトの記事です。 InterSystems製品のプロセスが消費するメモリ領域は以下の6つの領域になります。 プロセスのプライベートな領域 1. プロセスパーティション(ローカル変数テーブル等、プロセスごとに使用するメモリ) 2. 長い文字列(LongString)使用メモリ 3. 文字列スタック...等 プロセス間共有領域 4. データベースキャッシュ 5. ルーチンキャッシュ 6. 一般ヒープメモリ(プロセステーブル、ロックテーブル等) #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 420
記事 Megumi Kakechi · 2021年10月28日 2m read TIMESTAMP型のフォーマットについて これは InterSystems FAQ サイトの記事です。 TIMESTAMP型はInterSystems製品では、%Library.TimeStampデータタイプ(=%TimeStamp)に対応していて、フォーマットは YYYY-MM-DD HH:MM:SS.nnnnnnnnn です。 小数点以下の精度を変更したい場合は、以下の方法で設定します。 1) システムワイドに設定する 管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [一般SQL設定] GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP のデフォルト時刻精度 に 0~9 の範囲で桁数を指定できます。 #ObjectScript #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.2K
記事 Megumi Kakechi · 2021年10月8日 1m read ターミナルでプログラム実行中にエラーが発生した際、プロンプトを元に戻す方法 これは InterSystems FAQ サイトの記事です。 ターミナルでルーチンを実行し、プログラム上でエラーが発生した時に、エラートラップを適切に設定していない場合、以下のようなデバッグモードになります。 USER>do ^error1 write A^a+2^error1 *AUSER 2d0> この状態から、ルーチン起動の前の状態に戻るにはQuitコマンドを入力します。 USER 2d0>Quit またエラーが発生したルーチン内でトランザクション処理を行なっている場合には、以下のような表示のプロンプトになります。 #ターミナル #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 338
記事 Megumi Kakechi · 2021年9月27日 1m read Windows Serverのリリースの違いは、サポートバージョンに影響しますか? これは InterSystems FAQ サイトの記事です。 インターシステムズは、特定のオペレーティングシステムのバージョンの特定リリースに対して、製品の検証は実施しておりません。 特定リリースとは、例えば、Windows Server 2003 R2やWindows Server 2008 R2などを指します。 これらの保証については、オペレーティングシステムベンダーが互換性を保証する限りにおいて、提供されます。 特別な状況の詳細は、下記弊社ホームページのサポート情報に明記しています。 最新プラットフォーム情報とリリースノート 明記されていない場合には、オペレーティングシステムベンダーが互換性を保証する限りにおいて、特定リリースもサポート対象となります。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 187
記事 Megumi Kakechi · 2021年9月21日 3m read Windows のシャットダウン時にInterSystems製品を自動停止することはできますか? これは InterSystems FAQ サイトの記事です。 Windowsのグループセキュリティポリシーに停止コマンドを記述したバッチファイルを登録する事により可能です。 手順は以下のとおりです。 1.Windowsのローカルコンピュータ・ポリシーのシャットダウンスクリプトに停止コマンドを登録します。 停止コマンドを含んだbatファイルを作成します。 CacheStop.bat ※InterSystems Caché の場合 c:\intersystems\cache\bin\ccontrol stop CACHE IRISStop.bat ※InterSystems IRIS の場合 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 611
記事 Megumi Kakechi · 2021年9月12日 2m read サイズの大きいグローバルに格納された文字列を検索する方法 特定文字列が含まれるグローバルを検索する時、どのように行われているでしょうか? 管理ポータルでグローバルを表示して Ctrl+F で検索することもできますが、サイズが大きなグローバルでは表示に時間がかかり難しい場合もあります。 もちろん、$ORDER や $QUERY 関数でループして含まれる文字列を検索することは可能です。 しかし、もっと簡単で便利な方法があります。 管理ポータルで行える、グローバル文字列検索機能 を使う方法です。 こちら、管理ポータルの [システムエクスプローラ] > [グローバル] :検索 から簡単に行えます 例えば、^%ISCLOGグローバルの中から「CSP error cleaning up after page」というエラーが含まれるグローバルを検索するときは以下のようになります。 #ヒントとコツ #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 166
記事 Megumi Kakechi · 2021年9月3日 2m read 文字列の中から数値だけを抜き出す方法 これは InterSystems FAQ サイトの記事です。 $ZSTRIPコマンドは、指定された文字列から文字のタイプと文字を削除します。このコマンドを使用することで文字列から数値部分のみを抽出することが可能です。 $ZSTRIP(string,action,remchar,keepchar) 第1引数(string) :対象文字列第2引数(action) :string から削除する対象。アクションコードとマスクコードで構成。第3引数(remchar) :削除する特定の文字を指定。第2引数のマスクコードに含まれない文字も指定可能。【オプション】第4引数(keepchar):削除しない特定の文字を指定。【オプション】 以下はその例です。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 296
記事 Megumi Kakechi · 2021年9月1日 1m read SQL文ではなくユーザコードでクラスクエリを記述する方法 これは InterSystems FAQ サイトの記事です。 InterSystems製品のクラスクエリにはSQL文を利用する方法と、ユーザコードによる記述が選択できます。 スタジオメニューの [クラス] >[追加] > [クエリ] を選択すると、クエリウィザードが起動します。 画面に、「実装」を選択する項目があり、「このクエリはユーザコードで定義されている」を選択すると SQL文ではなく、ユーザコードによりクエリ定義が行えます。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 362