記事 Toshihiko Minamoto · 2020年4月21日 28m read Caché Mirroring 101:簡単なガイドとよくある質問 Mirroring 101 Cachéミラーリングは、CachéおよびEnsembleベースのアプリケーションに適した信頼性が高く、安価で実装しやすい高可用性および災害復旧ソリューションです。 ミラーリングは幅広い計画停止シナリオや計画外停止シナリオで自動フェイルオーバーを提供するもので、通常はアプリケーションの回復時間を数秒に抑制します。 論理的にデータが複製されるため、単一障害点およびデータ破損の原因となるストレージが排除されます。 ほとんど、またはダウンタイムなしでアップグレードを実行できます。 #Mirroring #ヒントとコツ #システム管理 #データベース #フェイルオーバー #高可用性 #Caché #Ensemble #InterSystems IRIS 2 0 0 887
記事 Toshihiko Minamoto · 2022年9月10日 49m read Python のみを使用した InterSystems のインターオペラビリティフレームワーク このフォーメーションは私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースとリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。 #API #Embedded Python #Python #データベース #フレームワーク #ベストプラクティス #Ensemble #InterSystems IRIS #VSCode #学習ポータル 1 0 0 199
記事 Megumi Kakechi · 2021年8月5日 1m read データベースファイルの最大サイズ これは InterSystems FAQ サイトの記事です。 ディスクの空きスペースにもよりますが、ブロック別で最大サイズが異なります。 各バージョン共通で、8KBのブロックサイズを使用した場合は、32TBです。 バージョン2008.1以降のバージョンでは、8KB以外のブロックサイズを指定できるようになったため、最大サイズは以下の通りです。 16KBのブロックサイズを使用した場合、64TB 32KBのブロックサイズを使用した場合、128TB 64KBのブロックサイズを使用した場合、256TB #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 189
記事 Tomohiro Iwamoto · 2023年12月19日 11m read Debezium ご存じでしょうか Debeziumをご存じでしょうか? グローバルサミット2023にて、Debeziumを題材としたセッション「Near Real Time Analytics with InterSystems IRIS & Debezium Change Data Capture」がありましたので、ご覧になられた方もおられるかと思います。 ご興味がありましたら、グローバルサミット2023の録画アーカイブをご覧ください。 FAQによると、"dee-BEE-zee-uhm"(ディビジウム..ですかね)と読むそうです。元素周期表のように複数のDB(s)を束ねる、というニュアンスみたいです。 CDC(Change data capture)という分野のソフトウェアです。 外部データベースでの変更を追跡して、IRISに反映したいという要望は、インターオペラビリティ機能導入の動機のひとつになっています。一般的には、定期的にSELECT文のポーリングをおこなって、変更対象となるレコード群(差分。対象が少なければ全件)を外部システムから取得する方法が、お手軽で汎用性も高いですが、タイムスタンプや更新の都度に増加するようなバージョンフィールドが元テーブルに存在しない場合、どうしても、各ポーリング間で重複や見落としがでないように、受信側で工夫する必要があります。また、この方法ではデータの削除を反映することはできませんので、代替案として削除フラグを採用するといったアプリケーションでの対応が必要になります。 CDCは、DBMSのトランザクションログをキャプチャすることで、この課題への解決策を提供しています。DebeziumはRedHatが中心となっているCDCのオープンソースプロジェクトです。 #オープンソース #データベース #フレームワーク #リレーショナルテーブル #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 325
記事 Toshihiko Minamoto · 2021年1月21日 9m read Caché データベースブロックの内部構造、パート 1 InterSystems Caché のグローバルは、デベロッパーにとって非常に便利な機能を提供します。 しかし、グローバルが高速な上に効率が良いのはなぜでしょう? 理論 基本的に、Caché データベースとは、データベースと同じ名前を持ち、CACHE.DAT ファイルを含んだカタログのことです。 Unix システムでは、このデータベースを普通のディスクパーティションにすることもできます。 #システム管理 #データベース #Caché 1 0 1 407
記事 Mihoko Iijima · 2024年8月9日 36m read Text to IRIS SQL with LangChain:Pythonプログラミングコンテスト受賞作品紹介! 開発者の皆さん、こんにちは! この記事は、2024年7月に開催された「InterSystems Pythonプログラミングコンテスト2024」でエキスパート投票、コミュニティ投票の両方で1位を獲得された @Henry Pereira さん @José Pereira さん @Henrique Dias さんが開発された sqlzilla について、アプリを動かしてみた感想と、中の構造について @José Pereira さんが投稿された「Text to IRIS with LangChain」の翻訳をご紹介します。 第2回 InterSystems Japan 技術文書ライティングコンテスト 開催! では、生成AIに関連する記事を投稿いただくと、ボーナスポイントを4点獲得できます📢 @José Pereira さんの記事を💡ヒント💡に皆様の操作体験談、アイデアなどを共有いただければと思います。 開発されたアプリSQLzilla についての概要ですが、Open Exchange の sqlzilla のREADMEに以下のように紹介されています。 「SQLzilla は、Python と AI のパワーを活用して、自然言語の SQL クエリ生成を通じてデータ アクセスを簡素化し、複雑なデータ クエリとプログラミング経験の少ないユーザーとの間のギャップを埋めます。」 #Generative AI (GenAI) #Python #SQL #Vector Search #データベース #InterSystems IRIS Open Exchange app 1 1 0 56
記事 Tomoko Furuzono · 2021年12月13日 1m read グローバル単位でジャーナルのON/OFF設定をする方法 これは、InterSystems FAQサイトの記事です。 グローバル単位でジャーナルのON/OFF設定を行いたい場合は、グローバルマッピング設定で、 ・ジャーナルしたいグローバル ⇒ ジャーナルON(「はい」)のデータベースにマッピング ・ジャーナルしたくないグローバル ⇒ ジャーナルOFF(「いいえ」)のデータベースにマッピングと、分けることで可能です。 但し、通常のデータベースは、ジャーナルOFF設定であっても、トランザクション中の更新についてはジャーナルファイルに記録されます。 #グローバル #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 133
記事 Toshihiko Minamoto · 2021年2月8日 10m read Caché データベースブロックの内部構造、パート 3。 これで 3 記事目になります (パート 1 と パート 2 をご覧ください) が、引き続き Caché データベースの内部構造をご紹介いたします。 今回は、興味深い内容をいくつかご紹介し、私の Caché Blocks Explorer プロジェクトを使って作業の生産性をアップさせる方法について説明します。 #システム管理 #データベース #Caché 1 0 1 144
お知らせ Mihoko Iijima · 2021年12月15日 InterSystems データセットコンテスト 開催! 開発者の皆さん、こんにちは! InterSystems IRIS 2021.2 Preview 版 がリリースされました。新しい機能として LOAD DATA があります。 ということで、今回のコンテストでは、この新しい「LOAD DATA」をテストするコンテストにしてみたいと思います! 🏆 InterSystems Datasets Contest 🏆 応募期間: 2021年12月27日~2022年1月9日 💰 賞金総額: $9,450 💰 #イベント #コンテスト # データのインポートとエクスポート #データベース #InterSystems IRIS #IRIS contest #Open Exchange 1 0 0 132
お知らせ Mihoko Iijima · 2022年1月10日 ★投票開始!★InterSystems データセットコンテスト 開発者の皆さん、こんにちは! 今週から データセットコンテスト の投票が始まります! InterSystems IRIS を使い開発されたベストソリューションにぜひ、投票をお願いします! 🔥 投票はこちらから! 🔥 投票方法については、以下ご参照ください。 # データのインポートとエクスポート #データベース #InterSystems IRIS #Open Exchange 1 0 0 62
記事 Mihoko Iijima · 2021年4月15日 2m read アプリケーションでロックタイムアウトエラーが発生する理由 これは InterSystems FAQ サイトの記事です。 このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。 他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。 トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。 #SQL #システム管理 #データベース #データベースのトランザクション処理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 686
記事 Toshihiko Minamoto · 2021年6月15日 11m read MonCaché - MongoDB としての Caché MonCaché — InterSystems Caché での MongoDB API 実装 免責事項:この記事は筆者の私見を反映したものであり、InterSystemsの公式見解とは関係ありません。 構想 プロジェクトの構想は、クライアント側のコードを変更せずに MongoDB の代わりに InterSystems Caché を使用できるように、ドキュメントを検索、保存、更新、および削除するための基本的な MongoDB(v2.4.9) API 機能を実装するところにあります。 #API #JSON #Node.js #オブジェクトデータモデル #データベース #データモデル #ドキュメントデータモデル(NoSQL) #Caché 0 0 0 112
記事 Toshihiko Minamoto · 2021年7月8日 6m read ランダム読み出しIOストレージパフォーマンスツール 目的 このツールは、データベース内からランダム読み出し入力/出力(IO)を生成するために使用されます。 このツールの目的は、目標IOPSを達成し、許容範囲内のディスク応答時間の維持を確保するために、可能な限り多くのジョブを駆動することです。 IOテストから収集された結果は、IOサブシステムに基づいて構成ごとに異なります。 これらのテストを実行する前に、対応するオペレーティングシステムとストレージレベルの監視が、今後の分析のためにIOパフォーマンスの測定データーを保存するように設定されていることを確認してください。 #データベース #パフォーマンス #InterSystems IRIS Open Exchange app 0 0 0 142
記事 Mihoko Iijima · 2023年3月13日 3m read 永続クラス定義のデータが格納されるグローバル変数名について これは InterSystems FAQ サイトの記事です。 永続クラス定義では、データを格納するグローバル変数名を初回クラスコンパイル時に決定しています。グローバル変数名は、コンパイル後に表示されるストレージ定義(Storage)で確認できます。 例) #オブジェクトデータモデル #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 269
記事 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 221
記事 Tomoko Furuzono · 2020年9月15日 14m read Cachéでのカスタムインデックスタイプの作成 Cachéデータベースのオブジェクトおよびリレーショナルデータモデルは、標準、ビットマップ #オブジェクトデータモデル #SQL #インデックス付け #データベース #Caché #InterSystems IRIS 0 0 0 209
記事 Toshihiko Minamoto · 2021年9月9日 10m read RDBにおけるEntity-Attribute-Value(EAV)モデル。 グローバル変数はテーブルでエミュレートする必要がありますか? パート1. はじめに この連載の最初の記事では、リレーショナルデータベースのEAV(Entity–Attribute–Value)モデルを見て、それがどのように使用されて、何に役立つのかを確認しましょう。 その上で、EAVモデルの概念とグローバル変数と比較します。 原則として検索する必要のある、フィールド数、または階層的にネストされたフィールドの数が不明なオブジェクトがある場合があります。 #SQL #グローバル #データベース #パフォーマンス #ヒントとコツ #リレーショナルテーブル #非構造化データ #InterSystems IRIS Open Exchange app 0 0 0 1.8K
記事 Mihoko Iijima · 2023年4月17日 1m read データベースがReadOnlyでマウントされるケース これは InterSystems FAQ サイトの記事です。 以下の状態の時、ReadOnlyでマウントされます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 194
記事 Toshihiko Minamoto · 2020年12月8日 4m read DeepSee: データベース、ネームスペース、マッピング(1/5) インスタンスのデータに基づくビジネスインテリジェンスを実装しようと計画中です。 DeepSee を使うには、データベースと環境をどのようにセットアップするのがベストですか? #マッピング #チュートリアル #デプロイ #データベース #ベストプラクティス #分析 #初心者 #InterSystems IRIS BI (DeepSee) 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 337
記事 Toshihiko Minamoto · 2021年9月28日 3m read DSTIMEでデータを同期する Cachéでのデータ同期については、オブジェクトとテーブルを同期させるさまざまな方法があります。 データベースレベルでは、シャドーイングまたはミラーリングを使用できます。 これは非常によく機能し、データの一部分だけを同期する必要がある場合には、 グローバルマッピングを使用してより小さなピースにデータを分割することができます。 または、クラス/テーブルレベルで双方向の同期が必要な場合には、オブジェクト同期機能を使用することができます。 これらすべての優れた機能には次のような制限があります。Caché/IRISからCaché/IRISにしか機能しません。 #データベース #分散データ管理 #相互運用性 #Caché #Ensemble #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 211
記事 Toshihiko Minamoto · 2021年1月26日 7m read InterSystems IRIS における AWS Glue の使用について 2019年 10月 17日 Anton UmnikovInterSystems シニアクラウドソリューションアーキテクトAWS CSAA、GCP CACE AWS Glue は、完全に管理された ETL (抽出、変換、読み込み) サービスです。データの分類、クリーンアップ、強化、そして様々なデータストア間でデータを確実に移動させるという作業を簡単にかつコスト効率の良いかたちで行えるようにするものです。 #AWS #Python #SQL #クラウド #データベース #ビッグデータ #InterSystems IRIS 0 0 0 582
記事 Tomoko Furuzono · 2021年11月28日 5m read データサイズを調べる方法 これは、InterSystems FAQサイトの記事です。InterSystems製品のデータ(テーブルの行データ、オブジェクトのインスタンスデータ)は、グローバル変数に格納されています。各グローバルのデータサイズは、管理ポータル>システム>構成>ローカルデータベース>グローバルのページから参照したいグローバルのプロパティをクリックし、表示されるグローバル属性ページ上のサイズ計算ボタンをクリックすることで個別のグローバルのサイズを取得することができます。ネームスペース上のグローバルのデータサイズをまとめて表示するには、ターミナル上で^%GSIZEユーティリティを起動することで取得することができます。実行方法は以下の通りです。 #データベース #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 335
記事 Toshihiko Minamoto · 2021年2月2日 9m read Caché データベースブロックの内部構造、パート 2 この記事は Caché データベースの内部構造を説明したこちらの記事の続編です。 そちらの記事では、様々なブロックタイプ、それぞれのつながりやグローバルとの関係について説明しました。 純粋に理論を述べた記事でした。 ブロックツリーを視覚化するのに役立つプロジェクトを作成しましたので、この記事ではその仕組みを詳しく説明します。 #システム管理 #データベース #Caché 0 0 0 257
記事 Toshihiko Minamoto · 2021年2月11日 27m read InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート #AWS #Mirroring #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #デプロイ #データベース #InterSystems IRIS 0 0 0 407
記事 Megumi Kakechi · 2021年3月2日 2m read データベースの空き容量をプログラムで取得する方法 これは InterSystems FAQ サイトの記事です。 管理ポータル:システムオペレーション > データベース にあるオプションボタン(ラジオボタン)「空き容量ビュー」で表示される内容は、システムクラス SYS.Database のFreeSpace クエリで取得可能です。 次のようなコードでクエリを実行します。 例:(%SYSネームスペースにて作成、実行します) #システム管理 #ツール #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 300
お知らせ Mihoko Iijima · 2022年1月17日 ★受賞者発表!★ InterSystems データセットコンテスト 開発者の皆さん、こんにちは! InterSystems データセットコンテスト の投票結果が発表されました!この記事ではコンテスト受賞者を発表します! 受賞された開発者の皆さん、👏おめでとうございます!🎊 # データのインポートとエクスポート #データベース #InterSystems IRIS #Open Exchange 0 0 0 93
記事 Toshihiko Minamoto · 2021年3月15日 16m read InterSystems IRIS のグローバルを使ったトランザクション。 InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。 ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。 グローバルはデータを保存するための魔法の剣です パート1 グローバルはデータを保存するための魔法の剣ですパート2 - ツリー グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列 #グローバル #データベース #データベースのトランザクション処理 #Caché #InterSystems IRIS 0 0 0 773
記事 Mihoko Iijima · 2022年3月29日 11m read データベース空き容量の監視方法について これは、InterSystems FAQサイトの記事です。 データベースの空き容量は、システムモニタを使用して監視することができます。 システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 188
記事 Mihoko Iijima · 2022年4月8日 4m read SYS.Database クラスの FreeSpace クエリを使用してデータベースのあるディスクの空き容量を確認する方法 これは、InterSystems FAQサイトの記事です。 システムユーティリティクラス:SYS.Database のクエリ:FreeSpace を利用してディスクの空き容量を任意のタイミングで確認することができます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 165