この連載の第1回目の記事では、「大規模な」チャンクのデータをHTTP POSTメソッドのRaw本体から読み取って、それをクラスのストリームプロパティとしてデータベースに格納する方法について説明しました。 では、そのようなデータとメタデータをJSON形式で格納する方法について見てみましょう。

0 0
0 390

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

クラス定義のプロパティの表示順は、スタジオのプロパティウィザードを利用して登録した場合は、末尾に追記されます。

また、エディタ上の任意の場所でプロパティ定義文を記述する場合は、その場所に追記され、クラス定義が登録されます。


つまり、定義者が記述した順番に登録されます。

(スタジオが並び換えを行ったりはしません。)

作成したクラス定義が、PersistentやSerialのようにデータベースに格納する属性を持ったクラス定義である場合、”初回のコンパイル”で クラス定義に対応するグローバル変数の定義情報=ストレージ定義を作成します。

初回コンパイル以降に、プロパティ定義の追加が行われれば、そのプロパティに対応するグローバル変数のスロット番号を、末尾に追加し、ストレージ定義を更新します。

以下の例は、クラス定義に対応するストレージ定義の例です。

(初回コンパイル時の状態)

0 0
0 119

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

下記のWebゲートウェイのエラーメッセージ/システム応答に対して、個別のエラーページを設定することができます。

  • サーバエラー
  • サーバビジー
  • サーバが利用可能ではありません
  • サーバタイムアウト
  • 接続が閉じられました

設定は、Webゲートウェイ管理画面( [管理ポータル] > [システム管理] > [構成] > [Webゲートウェイ管理] )で行います。

[デフォルトパラメータ] メニュー内の [エラーページ] セクションで、各エラー発生時に表示させるhtmlページのファイル名またはリダイレクトさせるURLを設定します。

0 0
0 192
記事
· 2021年2月24日 3m read
ECPはどのように使うのが正しい?

以下のドキュメントでご紹介しています通り、ECPは分散キャッシュ用のアプリケーションサーバーを並列に増設することで、処理量に応じてスケールアウトすることを主目的として設計されています。

ECP機能紹介

従ってインターシステムズデータプラットフォーム上で稼働する複数のアプリケーション間の簡便なデータ交換手段としてECPをご使用いただくことは推奨していません。

以下その理由についてご説明します。

データ量の増加、処理量の増加に伴いスケーラビリティに関する要件も今後益々厳しくなる中、将来にわたってより良いスケーラビリティ性能を得られるようインターシステムズの開発部門は、より良いアルゴリズムの開発や処理のチューニングをECPに対して継続的に行っております。


その成果は順次最新バージョンに反映していきます。

0 0
0 308

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

InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。

(%ZSTARTルーチンは%SYSネームスペースで作成します)

SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。

^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。

詳しくは、以下ドキュメントをご参照ください。

0 0
0 177

ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。

<

0 0
0 435
記事
· 2021年6月3日 4m read
コンテナ - コンテナとは?

コンテナ

InterSystems IRIS Data Platformの公開により、Dockerコンテナでも製品を提供しています。 コンテナとは一体何でしょうか。

基本的なコンテナの定義は、プロセスのサンドボックスの定義です。

コンテナは、たとえば実行できるという点において、仮想マシン(VM)に似た部分を持つソフトウェア定義パッケージです。

コンテナは、完全なOSエミュレーションを使わずに分離することができるため、 VMよりもはるかに軽量です。

本質的に、コンテナは、どのようにアプリケーションをシステムから別のシステムに確実に移動し、それが動作することを保証できるのかという問題に対する答えと言えます。 アプリケーションのすべての依存関係をコンテナにカプセル化し、プロセス分離領域を作成することにより、アプリケーションソリューションがプラットフォーム間で移動した場合でも動作するという高い保証を得ることができます。

0 0
0 288

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

機械学習やAIの進歩が、社会的にも大きな話題になっています。 しかしながら、実際に機械学習を活用したシステムを開発し、ビジネスに生かすところに到達するまでには様々な課題があります。例えば、データサイエンティストと呼ばれる高度なスキルを持った人材の不足もその一つです。

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

0 0
0 110

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

InterSystems IRISではシャドウイングは非推奨の為、Caché/Ensembleからのマイグレーションに伴い、シャドウイングをご使用頂いているお客様はミラーリングへ移行する必要があります。

この動画では、ミラーリングの概要およびミラーリングの構成例、シャドウイングとの運用上の違いや注意点についてご説明します。

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

0 0
0 199

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

ユーザーが作成したクラス定義は、クラス定義クラスの中に格納されます。

クラス定義一覧をプログラムから取得する方法として、「クラス定義クラス」を利用することができます。

メモ:クラス定義クラスとは、%Dictionary パッケージに含まれるクラス全般のことをさします。

0 0
0 184

画像

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

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

Python を使用する理由

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

0 0
0 478

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

何らかの理由でサーバー移行が必要になった際に、移行前の環境から移行後の環境に設定情報をコピーすることで設定作業を軽減できます。

以下の設定情報を移行できます。

  • iris.cpf
  • SQLゲートウェイ設定
  • Webゲートウェイ設定 *注1
  • IRISSYSデータベースに保存しているユーザー作成ルーチンなど *注2
  • セキュリティ設定
  • タスク設定

注1 パスワードを設定している場合には、パスワードのみ手動で再設定が必要です。
注2 ^%ZSTART, ^ZMIRRORルーチンなど

優先接続サーバー設定に関しても、物理的には移行可能ですが、Windowsのレジストリー情報をコピーする必要があります。

0 0
0 171
記事
· 2021年7月6日 1m read
動画:Performance 101

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

稼働後のシステムで、お客様から「パフォーマンスが思ったように出ない」と問い合わせを受けることが良くあります。漠然とした「遅い」状況をどのように解決すればいいのでしょう?

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

パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介します。

0 0
0 103

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

CSVまたはURLからCSVデータをプログラムでInterSystems IRISにインポートしなければならない場合があります。 そして、適切なデータ型でクラスが作成され、そのデータがインポートされることを期待するでしょう。

それを実現するcsvgenモジュールをOpen Exchangeに公開しました。

IRISにCSVファイルをインポートするだけであれば、次のようにすることができます。

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.Titanic
Header: PassengerId INTEGER,Survived INTEGER,Pclass INTEGER,Name VARCHAR(250),Sex VARCHAR(250),Age INTEGER,SibSp INTEGER,Parch INTEGER,Ticket VARCHAR(250),Fare MONEY,Cabin VARCHAR(250),Embarked VARCHAR(250)
Records imported: 891
USER>

または、GitHubのCOVID-19 Dataのように、インターネット上にCSVがある場合は、次のようにしてデータを取得できます。

USER>d ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/05-29-2020.csv",",","Data.Covid19")

Class name: Data.Covid19
Header: FIPS INTEGER,Admin2 VARCHAR(250),Province_State VARCHAR(250),Country_Region VARCHAR(250),Last_Update DATE,Lat MONEY,Long_ DOUBLE,Confirmed INTEGER,Deaths INTEGER,Recovered INTEGER,Active INTEGER,Combined_Key VARCHAR(250),Incidence_Rate DOUBLE,Case-Fatality_Ratio DOUBLE
Records imported: 3522
USER>

0 0
0 189

前の記事では、マクロの潜在的なユースケースををレビューしました。そこで、マクロの使用方法についてより包括的な例を見てみることにしましょう。 この記事では、ロギングシステムを設計して構築します。

ロギングシステム

ロギングシステムは、アプリケーションの作業を監視するための便利なツールで、デバッグや監視にかける時間を大幅に節約してくれます。 これから構築するシステムは2つの部分で構成されます。

  • ストレージクラス(レコードをログ記録するためのクラス)
  • 新しいレコードをログに自動的に追加する一連のマクロ
0 0
0 221

この連載の最初の記事では、大きなチャンクのデータをHTTP POSTメソッドのRaw本体から読み取って、それをクラスのストリームクラスとしてデータベースに格納する方法を説明しました。 2つ目の記事では、ファイルとファイル名をJSON形式にラップして送信する方法を説明しました。

それでは、大きなファイルを分割してサーバーに送るという構想を詳しく見ていきましょう。 これを行うために使用できるアプローチにはいくつかあるのですが、 この記事では、Transfer-Encodingヘッダーを使用してチャンク転送を指示する方法を説明します。 Transfer-EncodingヘッダーはHTTP/1.1仕様で導入されたものです。RFC 7230第4.1項では説明されているものの、HTTP/2仕様からはその説明が無くなっています。

0 0
0 1K

はじめに

多くのアプリケーションに共通する要件は、データベース内のデータ変更のログ記録です。どのデータが変更されたか、誰がいつ変更したかをログに記録する必要があります(監査ログ)。 このような質問について書かれた記事は多く存在し、Caché で行う方法の切り口もさまざまです。

そこで、データ変更を追跡して記録するためのフレームワークを実装しやすくする仕組みを説明することにします。 これは、永続クラスが「監査抽象クラス」(Sample.AuditBase)から継承すると「objectgenarator」メソッドを介してトリガーを作成する仕組みです。 永続クラスは Sample.AuditBase から継承されるため、永続クラスをコンパイルすると、変更を監査するためのトリガーが自動的に生成されます。


監査クラス

次は、変更が記録されるクラスです。

0 0
0 159

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


※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。

グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。
DataCheckの概要【IRIS】

DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。

***

ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。

以下は、管理ポータルでの使用方法になります。

0 0
0 268

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

復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。

その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。

ツール使用方法については、PDF または以下ビデオでご紹介しています。

0 0
0 256

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

設定内容によって、方法が異なります。

システム構成について

管理ポータルの [システム管理] > [構成]

以下の設定については(※1)、パラメータファイル(InterSystems IRISは iris.cpf、Caché/Ensemble/HealthShareは cache.cpf) に格納されます。

0 0
0 398
記事
· 2021年4月5日 11m read
WebSocketのチュートリアル

はじめに

Webで行われるサーバーとクライアント間のほとんどの通信は、リクエストとレスポンスの構造に基づいており、 クライアントがサーバーにリクエストを送信すると、サーバーがそのリクエストに対するレスポンスを送信します。 WebSocketプロトコルは、サーバーとクライアント間の双方向通信チャンネルを提供するプロトコルで、サーバーがリクエストを受信しなくても、クライアントにメッセージを送信することができます。 WebSocketプロトコルと、InterSystems IRISでの実装についての詳細は、以下のリンクをご覧ください。

0 0
0 3.2K

以前、WRCケースのエスカレーションを受けました。お客様は、Cachéに、rawDEFLATE圧縮/解凍機能が組み込まれているかを尋ねていました。

DEFLATEについて話すには、Zlibについても話す必要があります。Zlibは、90年代半ばに開発された無料の圧縮/解凍ライブラリで、、デファクトスタンダードとなっているからです。

Zlibは特定のDEFLATE圧縮/解凍アルゴリズムと、ラッパー(gzip、zlibなど)内でのカプセル化するという考えの下で動作します。
https://en.wikipedia.org/wiki/Zlib

0 0
0 644

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

グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。

%SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。

ユーティリティを直接実行する方法は以下のようになります。

0 0
0 303
記事
· 2021年4月29日 1m read
ミラーリングの機能について

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

InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。

  1. 自動フェイルオーバ
  2. ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製

1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。

0 0
0 411

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

InterSystems 製品を利用した REST/JSON の操作方法を、簡単なサンプルを利用して解説します。

サンプルでは、REST クライアント、HTML、ターミナルからデータ(JSON)を送信し、サーバ(InterSystems製品)で JSON 形式のデータを返す REST ディスパッチクラスを使った簡単な流れになっています。

サンプルは、https://github.com/Intersystems-jp/FAQ-REST-SimpleSample からダウンロードいただけます。

0 0
0 7K

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

Question:

IRISは医療に特化したシステム統合製品ですか?

Answer:

InterSystems IRIS Data Platform(以下IRISと表記)は、金融、物流など様々な業種でお使いいただいています。

また、IRISから派生して医療分野に特化したInterSystems IRIS for Health(以下IRIS4Hと表記)という製品があります。

IRIS4Hでは医療分野で良く使われる情報交換規格 HL7(FHIR,V2,V3,CDA)、DICOM、X12 などへの対応に力を入れています。

医療分野のお客様には、IRIS4Hをご利用いただくようお願いしております。

0 0
0 122