記事
· 2024年1月11日 3m read
DeepSee で有効な階層を設計

DeepSee で階層を設計する場合、子メンバーに 1 つの親しか指定できません。 子が 2 つの親に対応する場合には、信頼性のない結果が得られることになります。 類似する 2 つのメンバーが存在する場合、そのキーがそれぞれ一意になるように変更する必要があります。 これが起きる場合とそれを回避する方法について、2 つの例を見ながら説明します。

例 1

(アメリカには)Boston と言う都市がある州がたくさんあります。 私のサンプルデータでは、Boston, MA(マサチューセッツ州ボストン)と Boston, NY(ニューヨーク州ボストン)のレコードがあります。 次元は次のように定義されています。

0 0
0 22

はじめに

InterSystems IRIS 2020.1 には、Java または .NET で記述されたコンポーネントで IRIS 相互運用性プロダクションの開発を容易にする PEX(プロダクション拡張フレームワーク)が含まれています。

この PEX により、Java または .NET の知識を備える統合開発者は、InterSystems IRIS 相互運用性フレームワークの力、スケーラビリティ、および堅牢性を利用し、すぐに生産性を高めることができます。

IRIS 相互運用性フレームワークエキスパートに対し、PEX は既存の Java 言語または .NET 言語の外部コンポーネントとの統合を簡単にリッチ化することができます。

0 0
0 44

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

多くの方が、Open Exchange と GitHub で InterSystems ObjectScript ライブラリを公開しています。

でも、開発者がプロジェクトの使用とコラボレーションを簡単に行えるようにするにはどうしていますか?

この記事では、ファイルの標準セットをリポジトリにコピーするだけで、ObjectScript プロジェクトを簡単に起動して作業する方法をご紹介します。

では始めましょう!

0 0
0 45

IRIS コンテナに VSCode を追加する

繰り返し利用できる開発環境をセットアップするには、環境用のコンテナを起動するのが最も簡単な方法の 1 つです。 素早く繰り返す際には、自分の開発コンテナ内に vscode インスタンスをホストするのが非常に便利なことが分かりました。 そこで、ブラウザベースの vscode を IRIS コンテナに追加するための簡易コンテナスクリプトを作成しました。 これは、ほとんどの 2021.1+ のコンテナで動作するはずです。 私のコードリポジトリはこちらにあります

vscode を含み事前に接続された InterSystems IRIS コンテナ

0 0
0 70

Caché と InterSystems IRIS データベースの整合性は、システム障害から完全に保護されてはいますが、物理ストレージデバイスが保管しているデータは、デバイスの障害によって破損してしまいます。 そのため、多くのサイトでは、データベースの整合性チェックを定期的に実行するように選択しており、特に特定のバックアップが災害時に信頼できるかどうかを検証するためにバックアップが行われています。 システム管理者がストレージの破損を伴う災害に対応するために、整合性チェックも緊急に必要となる場合もあります。 整合性チェックはチェックされているグローバルの各ブロック(すでにバッファーにない場合)を、グローバル構造で指示された順序で読み取る必要があります。 これには膨大な時間がかかりますが、整合性チェックは、ストレージサブシステムが維持できる限り高速に読み取ることができます

1 0
0 96

cAdvisorContainer Advisor)は、実行中のコンテナのリソースの使用率とパフォーマンスデータを分析して公開します。 cAdvisor は初期設定のままで Prometheus メトリクスを公開します。

https://prometheus.io/docs/guides/cadvisor/

Prometheus は SAM に統合されています。 このため、cAdvisor メトリクスと利用して Prometheus と Grafana で公開することが可能です。

cAdvisor はポート 8080 でリッスンしますが、これは Nginx のポートと競合するため、それに対応するように Nginx ポートを変更することができます。

構成手順:

  1. nginx ポートを変更します。

nghix.conf を変更します。

0 0
0 194

この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。

このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。

ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。 この場合は、サポートセンターにお問い合わせください。

左から右の操作列に進むと、このガイドを最も簡単に活用できます。

1 0
0 63

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

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

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

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

画像

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

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

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

0 0
0 126

この記事では、.Net/Java ゲートウェイを簡単にコンテナ化する方法を説明します。

この例では、Apache Kafka との統合を開発します。

Java/.Net と相互運用するために、PEX を使用しています。

アーキテクチャ

このソリューションは完全に docker で実行し、以下のように構成されます。

0 0
0 94

Python は世界で最も使用されているプログラミング言語になり(出典: https://www.tiobe.com/tiobe-index/)、SQL はデータベース言語としての道をリードし続けています。 Python と SQL が連携して、SQL だけでは不可能であった新しい機能を提供できれば、素晴らしいと思いませんか? 結局のところ、Python には 380,000 を超える公開ライブラリがあり(出典: https://pypi.org/)、Python 内で SQL クエリを拡張できる興味深い機能が提供されています。 この記事では、Embedded Python を使用して、InterSystems IRIS データベースに新しい SQL ストアドプロシージャを作成する方法を詳しく説明します。

サンプルとして使用する Python ライブラリ

この記事では、IRIS で SQL を扱う人にとって非常に便利な GeoPy と Chronyk という 2 つのライブラリを使用します。

1 0
0 158
記事
· 2023年6月27日 13m read
REST の設計と開発

はじめに

今日の相互運用性分野に従事する多くの人にとって、REST は最高峰にあります。 REST API 開発用のツールとアプローチが溢れかえる中、コードを書き始める前に、どのツールを選び、何を計画する必要があるでしょうか? この記事では、堅牢性、適応性、および一貫性に優れた REST API を構築できるようにする設計パターンと考慮事項を焦点としています。 CORS サポートと認証管理の課題に他する実行可能なアプローチについて、REST API 開発の全段階に適用できる様々なヒントとテクニック、最適なツールを織り交ぜながら説明します。 InterSystems IRIS Data Platform で利用できるオープンソース REST API と複雑化し続ける API の課題にどのように取り組むかについてお読みください。 これは、同じトピックに関する最近のウェビナーを記事にしたものです。

0 0
1 203

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

最近では、誰もが GithubGitLabbitbucket などのリポジトリにプロジェクトのソースコードを保管していると思います。 InterSystems IRIS プロジェクトについても同様で、Open Exchange にチェックされています。

InterSystems Data Platform で特定のリポジトリの操作を開始または継続するたびに、何をしているでしょうか?

ローカルの InterSystems IRIS マシン、プロジェクト用の環境のセットアップ、ソースコードのインポートが必要です。

つまり、すべての開発者は以下を実行しています。

  1. リポジトリからコードをチェックアウトする。
  2. ローカル IRIS インストールをインストール/実行する。
  3. プロジェクト用の新しいネームスペース/データベースを作成する
  4. コードをこの新しいネームスペースにインポートする。
  5. すべての残りの環境をセットアップする。
  6. プロジェクトのコーディングを開始/継続する。

リポジトリを Docker 化すると、この手順は次の 3 つのステップに短縮できます。

  1. リポジトリからコードをチェックアウトする。
  2. docker-compose build を実行する。
  3. プロジェクトのコーディングを開始/継続する。

メリット: 実行に数分かかる上、頭が痛くなるようなステップ 3、4、5 を行わなくて済みます。

次の数ステップで、(ほぼ)すべての InterSystems リポジトリを Dcoker 化できます。 では、やってみましょう!

0 0
1 170

Web スクレイピングとは:

簡単に言えば、Web スクレイピングWeb ハーベスティング、または Web データ抽出とは、Web サイトから大量のデータ(非構造化)を収集する自動プロセスです。 ユーザーは特定のサイトのすべてのデータまたは要件に従う特定のデータを抽出できます。 収集されたデータは、さらに分析するために、構造化された形式で保存することができます。

Web スクレイピングとは? — James Le

Web スクレイピングの手順:

1 0
0 231
記事
· 2023年2月27日 7m read
Ensembleでの孤立メッセージ

今回は、「孤立メッセージ」について説明します。

孤立メッセージとは何ですか?

すべてのメッセージボディは、メタデータを保持するメッセージヘッダと関連付けらます。ヘッダーには、ソース構成名称、ターゲット構成名称、作成時刻、処理時刻、関連するメッセージボディ参照、セッション情報、メッセージボディのクラス名称、メッセージステータスなどの情報が格納されます。 メッセージボディに対応するヘッダーレコードが存在しない場合、そのメッセージボディは孤立メッセージボディと呼ばれます。ここでは、孤立メッセージボディの原因となる可能性があるものについて説明します。

0 0
0 100



このフォーメーション私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。

1 0
0 171
記事
· 2021年7月1日 5m read
便利な自動生成メソッド

クラスのコンパイル時に、定義済みのプロパティ、クエリ、またはインデックスごとに対応する複数のメソッドが自動的に生成されます。 これらのメソッドは非常に便利です。 この記事では、その一部について説明します。

0 0
0 110

RESTフレームワークの有用な機能の1つに、ディスパッチクラスがリクエストのプレフィックスを識別して別のディスパッチクラスに転送するという機能があります。 URLマップをモジュール化するこの手法により、コードの可読性が向上し、インターフェースの個別のバージョンが管理しやすくなります。また、特定のユーザーのみがアクセスできるように、API呼び出しを保護する手段も得ることができます。

概要

CachéインスタンスにRESTサービスをセットアップするには、専用のSCPアプリケーションを定義して、それに関連付けられた、受信リクエストを処理するディスパッチクラスを作成する必要があります。 ディスパッチクラスは、%CSP.RESTを拡張し、URLマップを含むXDataブロックを含めます。 こうすることで、システムに、特定のリクエストを受信したときにどのメソッドを呼び出すのかを指示します。

以下に、例を示します。

0 0
0 303
記事
· 2021年6月23日 10m read
InterSystems Cachéのマクロ

この記事では、InterSystems Cachéにおけるマクロについて説明します。 マクロは、コンパイル中に一連の命令に置き換えられるシンボリック名です。 マクロは、渡されたパラメーターとアクティブ化したシナリオに応じて、呼び出されるたびに一連の命令セットに「展開」されます。 これは、静的コードの場合もあれば、ObjectScriptを実行して得られる結果である場合もあります。 それでは、アプリケーションでマクロをどのように使用できるのかを見てみましょう。

0 0
0 187

この記事では、syslogテーブルについて説明したいと思います。 syslogとは何か、どのように確認するのか、実際のエントリはどのようなものか、そしてなぜそれが重要であるのかについて説明します。 syslogテーブルには、重要な診断情報が含まれることがあります。 システムに何らかの問題が生じている場合に、このテーブルの確認方法とどのような情報が含まれているのかを理解しておくことが重要です。

0 0
0 281

注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください
注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。

0 0
0 96

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

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

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

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

コンテナ

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

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

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

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

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

0 0
0 276

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

<

0 0
0 422

数年ほど前、Caché Foundationsの講座(現「Developing Using InterSystems Objects and SQL」)において、%UnitTestフレームワークの基礎を講義していたことがあります。 その時、ある受講者から、ユニットテストを実行している間に、パフォーマンス統計を収集できるかどうかを尋ねられました。 それから数週間後、この質問に答えるために、%UnitTestの例にコードを追加したのですが、 ようやく、このコミュニティでも共有することにしました。

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

はじめに

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

0 0
0 3.1K

はじめに

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

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


監査クラス

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

0 0
0 149
記事
· 2020年12月23日 3m read
動的SQLの新旧対照表

新しい動的 SQL クラス(%SQL.Statement および %StatementResult)のパフォーマンスは %ResultSet より優れてはいますが、%ResultSet の使用方法をせっかく学習したので、しばらくの間新しい方を使用せずにいましたが、 やっとチートシートを作ったので、新しいコードを書いたり古いコードを書き直す際に役立てています。 皆さんのお役に立てればいいなと思っています。

次に示すのは、私のチートシートの詳細版です。

0 0
0 163