記事 Toshihiko Minamoto · 2021年6月3日 4m read コンテナ - コンテナとは? コンテナ InterSystems IRIS Data Platformの公開により、Dockerコンテナでも製品を提供しています。 コンテナとは一体何でしょうか。 基本的なコンテナの定義は、プロセスのサンドボックスの定義です。 コンテナは、たとえば実行できるという点において、仮想マシン(VM)に似た部分を持つソフトウェア定義パッケージです。 コンテナは、完全なOSエミュレーションを使わずに分離することができるため、 VMよりもはるかに軽量です。 本質的に、コンテナは、どのようにアプリケーションをシステムから別のシステムに確実に移動し、それが動作することを保証できるのかという問題に対する答えと言えます。 アプリケーションのすべての依存関係をコンテナにカプセル化し、プロセス分離領域を作成することにより、アプリケーションソリューションがプラットフォーム間で移動した場合でも動作するという高い保証を得ることができます。 #Docker #クラウド #コンテナ化 #システム管理 #ベストプラクティス #InterSystems IRIS 0 0 0 412
記事 Toshihiko Minamoto · 2021年5月31日 3m read DeepSee: データベース、ネームスペース、マッピング(4/5) 以下の記事では、DeepSee のより柔軟なアーキテクチャ設計の概要を説明します。 前の例で説明したとおり、この実装には、DeepSee キャッシュや DeepSee の実装と設定、および同期グローバル用の個別のデータベースが含まれています。 この例では、DeepSee インデックスを保存するための新しいデータベースを紹介します。 DeepSee インデックスがファクトテーブルや次元テーブルとともにマッピングされないように、グローバルマッピングを再定義します。 #マッピング #チュートリアル #デプロイ #分析 #初心者 #InterSystems IRIS BI (DeepSee) 0 0 0 164
記事 Toshihiko Minamoto · 2021年5月27日 5m read DeepSee: データベース、ネームスペース、マッピング(3/5) 以下の記事では、DeepSee の中程度の複雑さのアーキテクチャ設計を説明します。 前の例で説明したとおり、この実装には、DeepSee キャッシュや DeepSee の実装と設定用の個別のデータベースが含まれています。 この記事では、同期に必要なグローバルの保存用と、ファクトテーブルとインデックスの保存用に、2 つの新しいデータベースを紹介します。 #マッピング #チュートリアル #デプロイ #データベース #分析 #初心者 #InterSystems IRIS BI (DeepSee) 0 0 0 238
記事 Toshihiko Minamoto · 2021年5月24日 3m read DeepSee: データベース、ネームスペース、マッピング(2/5) 以下の記事は、DeepSee の基本的なアーキテクチャを実装するためのガイドです。 この実装には、DeepSee キャッシュ用のデータベースと DeepSee 実装と設定用のデータベースが含まれています。 #マッピング #チュートリアル #デプロイ #データベース #分析 #初心者 #InterSystems IRIS BI (DeepSee) 0 0 0 256
記事 Toshihiko Minamoto · 2021年5月20日 9m read DeepSee: データベース、ネームスペース、マッピング(5/5) 以下の記事は、この連載の締めくくりとして、完全に柔軟なアーキテクチャの例で確認されたすべてのデータベースのリストを掲載しています。 #マッピング #チュートリアル #デプロイ #データベース #分析 #初心者 #InterSystems IRIS BI (DeepSee) 0 0 0 158
記事 Toshihiko Minamoto · 2021年5月18日 12m read インデックス処理 第2部: インデックス処理 クラスにどのようなインデックスが必要であるのか、それをどのように定義するのかについて理解できたので、 次に、どのように処理するのかについて確認しましょう。 #SQL #インデックス付け #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 376
記事 Toshihiko Minamoto · 2021年5月12日 12m read インデックスを理解する これは、SQLインデックスに関する2部構成の記事の前半です。 第1部 - インデックスを理解する #SQL #インデックス付け #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 601
記事 Toshihiko Minamoto · 2021年5月11日 9m read InterSystems IRIS Data Platform の Ethereum アダプター 1. ブロックチェーン この記事を書いている時点(2019年2月)で、ビットコインの価値はそれが絶頂期だったころの 5 分の 1 未満に下落しています。 そのため、ブロックチェーンの私の体験について誰かに話すときに最初に耳にするのは、「今頃ブロックチェーンを欲しがる人がいるのか」という偽りなく懐疑的な言葉です。 その通り。ブロックチェーンの盛り上がりは衰退しています。 ところが、それが基づいているテクノロジーはここにとどまり、特定の分野で使用され続けるでしょう。一般的にインターネットではこのテクノロジーの使用方法が記述された資料でいっぱいです。 #相互運用性 #Ensemble #InterSystems IRIS Open Exchange app 0 0 0 257
記事 Toshihiko Minamoto · 2021年5月6日 4m read IRIS から直接 Grafana を使用する 中間データベースを使用して、Grafana と IRIS(または Cache/Ensemble)を使用する方法を説明した非常に有益な記事がコミュニティにいくつか掲載されています。 しかし私は、IRIS 構造に直接アクセスしたいと考えていました。 特にこのリンクで説明しているように、SQL でアクセス可能なCaché履歴モニターのデータにアクセスしたかったのです。 https://community.intersystems.com/post/apm-using-cach%C3%A9-history-mon... また、データをいじりたくもありませんでした。 必要とするデータを返すクラスクエリはすでにあったので、それらを、JSON を返す REST クラスに埋め込むだけで良かったからです。 クラス Grafana.MonitorData はまだ含めていません。それでなければならないという理由があるわけではなかったためですが、要望があれば、含めることは可能です。 #監視 #InterSystems IRIS 0 0 0 232
記事 Toshihiko Minamoto · 2021年5月4日 2m read ObjectScriptエラー処理のスニペット ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。 < #Code Snippet #エラーハンドリング #ObjectScript #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 599
記事 Toshihiko Minamoto · 2021年4月28日 5m read ユニットテスト実行中のパフォーマンスデータの収集 数年ほど前、Caché Foundationsの講座(現「Developing Using InterSystems Objects and SQL」)において、%UnitTestフレームワークの基礎を講義していたことがあります。 その時、ある受講者から、ユニットテストを実行している間に、パフォーマンス統計を収集できるかどうかを尋ねられました。 それから数週間後、この質問に答えるために、%UnitTestの例にコードを追加したのですが、 ようやく、このコミュニティでも共有することにしました。 #Code Snippet #テスト #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 180
記事 Toshihiko Minamoto · 2021年4月26日 41m read ゼロから使いこなす IAM(InterSystems API Manager) この記事には、IAM の基本概念を学習するための、教材、例、演習が含まれます。 すべてのリソースはこちらの git から入手できます: https://github.com/grongierisc/iam-training ソリューションは training ブランチにあります。 この記事では、次の点について説明します。 #InterSystems IRIS Open Exchange app 1 0 0 660
記事 Toshihiko Minamoto · 2021年4月22日 11m read ObjectScript の信頼性の高いエラー処理機能とクリーンアップ機能 はじめに (および本記事を書いた動機) ObjectScript コードのユニット (ClassMethod など) を実行する場合、そのスコープ外にあるシステムの諸部分と対話するときに適切なクリーンアップを行えないことが原因で、様々な予期せぬ副作用が発生することがあります。 以下にその一部を紹介します。 #エラーハンドリング #ObjectScript #Caché #InterSystems IRIS 0 0 0 372
記事 Toshihiko Minamoto · 2021年4月22日 3m read PersistentクラスやSerialクラスからSwaggerクラスを生成する 先日、永続クラスとシリアルクラスからSwagger仕様を生成する必要がありました。そこで、その時のコードを公開することにします(完全なコードではないため、アプリケーション固有の部分を変更する必要がありますが、まずは出発点として使用できます)。 こちらからご利用ください。 次のクラスがあるとしましょう。 #API #Code Snippet #REST API #InterSystems IRIS 0 0 0 182
記事 Toshihiko Minamoto · 2021年4月20日 7m read 動画再生時に早送り巻き戻しができない 開発者の皆さんこんにちは。 先日、RESTのクラスを使って、PDFなどのファイルをアップロード、ダウンロードするサンプルをお送りしたお客さんからご質問を頂きました。ダウンロード機能を使ってmp4などの動画を表示させた場合、以下のようにvideoの画面下のスライダーを移動しても、再生を進めたり戻したりができませんでした 。 やはり、以下のようにスライダを動かすと、その時点の画像が表示されたほうが良いですね。 #REST API #Caché #InterSystems IRIS 4 0 0 2.6K
記事 Toshihiko Minamoto · 2021年4月19日 12m read 仮想IPアドレスを使用しないデータベースミラーリング ++更新日:2018年8月1日 Cachéデータベースミラーリングに組み込まれているInterSystems仮想IP(VIP)アドレスの使用には、特定の制限があります。 具体的に言うと、ミラーメンバーが同じネットワークサブネットに存在する場合にのみ使用できるというところです。 複数のデータセンターを使用した場合は、ネットワークの複雑さが増すため、ネットワークサブネットが物理的なデータセンターを越えて「延伸」されることはさほどありません(より詳細な説明はこちらです)。 同様の理由で、データベースがクラウドでホストされている場合、仮想IPは使用できないことがよくあります。 ロードバランサー(物理的または仮想)などのネットワークトラフィック管理のアプライアンスを使用して、クライアントアプリケーションやデバイスに単一のアドレスを提示することで、同レベルの透過性を実現できます。 ネットワークトラフィックマネージャは、クライアントを現在のミラープライマリの実際のIPアドレスに自動的にリダイレクトします。 この自動化は、災害後のHAフェイルオーバーとDRプロモーションの両方のニーズを満たすことを目的としています。 #Mirroring #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #システム管理 #フェイルオーバー #高可用性 #Caché 0 0 0 584
記事 Toshihiko Minamoto · 2021年4月19日 8m read 配列プロパティ要素のための SQL インデックス クラスの中で配列プロパティを使い、その要素 (キーと値の両方) によってスピーディに検索を実行できると非常に便利な場合があります (EAV モデルの場合は特に重宝します)。 それでは、簡単な例を見てみましょう。 #ObjectScript #SQL #インデックス付け #パフォーマンス #Caché 1 0 0 415
記事 Toshihiko Minamoto · 2021年4月15日 3m read odt ドキュメントと docx ドキュメントをテンプレートから作成するためのツール 皆さん、こんにちは! 皆さんに私のプロジェクトをご紹介したいと思います。 #Caché Open Exchange app 0 0 0 161
記事 Toshihiko Minamoto · 2021年4月12日 24m read アトミックでない属性のインデックス作成 (1NF/2NF/3NF)露 からの引用 行と列で特定される位置には、それぞれアプリケーションドメインの値が 1 つだけあります (それ以外は何もない)。 その目的によって、同じ値がアトミックであったり、なかったりします。 例えば、「4286」という値は、 「クレジットカードの PIN コード」を意味するのであれば、アトミックとなります (破損している場合や並び替えられている場合は、使用できません)。 単に「連続する番号」であれば、非アトミックとなります (いくつかに分割されていたり、並び替えられていても、値は意味を成します)。 この記事では、文字列や日付、($LB 形式の) 単純なリスト、「list of <...>」、「array of <...>」といったフィールドの型を伴う SQL クエリのパフォーマンスを向上させる標準的な方法にして検証します。 #ObjectScript #SQL #インデックス付け #オブジェクトデータモデル #パフォーマンス #Caché 0 1 0 179
記事 Toshihiko Minamoto · 2021年4月8日 6m read Jupyter Notebook + Apache Spark + InterSystems IRIS を起動させる方法 皆さん、こんにちは。 今日は、Jupyter Notebook をインストールして、Apache Spark と InterSystems IRIS に接続したいと思います。 注記: 以下にお見せする作業は Ubuntu 18.04 で Python 3.6.5 を使って実行しました。 #Artificial Intelligence (AI) #API #Python #互換性 #初心者 #InterSystems IRIS 0 0 0 391