記事 Mihoko Iijima · 2023年2月21日 3m read InterSystems Developer Hub:クリック1回で開始できるチュートリアル(4種)のご紹介 開発者の皆さん、こんにちは! 開発者向け情報を集めた「Developer Hub」ページが新たに登場しました! このページには、4種類のチュートリアルが用意されています。チュートリアはブラウザ上で動作し、VSCodeやIRISターミナル、管理ポータルなどチュートリアルで使用するすべての画面が1つのタブ内で開くようになっています。 チュートリアルを試すための事前準備は不要で、クリック1回ですぐにお試しいただけます!(ユーザ登録も不要です)(チュートリアル開始方法は、ページ末尾をご覧ください。) #ObjectScript #Python #REST API #SQL #チュートリアル #初心者 #Machine Learning (ML) #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 281
記事 Mihoko Iijima · 2023年2月14日 4m read irissqlcli(IRIS SQLの高度なターミナル):InterSystemsデベロッパーツールコンテスト2023入賞作品のご紹介 開発者の皆さん、こんにちは! InterSystems デベロッパーツールコンテスト2023が開催され、21の応募作品の中から勝者が発表されました🏆 この記事では、世界のIRIS開発者の皆さんから注目を集めた作品をご紹介します。 最初は、Experts Nomination 第1位に輝いた @Dmitry Maslennikov さんの作品をご紹介します! #SQL #ツール #InterSystems IRIS #InterSystems IRIS for Health #IRIS contest 0 0 0 177
記事 Megumi Kakechi · 2023年2月12日 3m read %TimeStamp型プロパティを使用した範囲指定のクエリが遅い場合の対処方法 これは InterSystems FAQ サイトの記事です。 日時検索で、TimeStamp型のクエリのパフォーマンスが出ない場合の対処法をご紹介します。 %TimeStamp データ型形式 (yyyy-mm-dd hh:mm:ss.ffff)は、人が読めることを目的とした ODBC 日付形式の文字列として格納されます。そのため、どうしてもデータサイズが大きくなりクエリの実行に時間がかかってしまいます。%TimeStamp型のプロパティにインデックスを作成している場合にも、クエリオプティマイザはそのインデックスを優先して最適化するようにはなっておりません。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 411
記事 Toshihiko Minamoto · 2023年2月8日 7m read 2020.1 の新機能: ユニバーサルクエリキャッシュ InterSystems IRIS 2020.1 には、重要なアプリケーションの構築を支援する新機能と機能改善が多数盛り込まれています。 2019.1 から 2020.1 までに行われた多数の大幅なパフォーマンス改善のほかに、最近の SQL の歴史において最も大きな変更点の 1 つであるユニバーサルクエリキャッシュ(UQC)が導入されています。 この記事では、SQL ベースのアプリケーションに対するそのインパクトについて、技術的な観点で詳しく説明しています。 #SQL #InterSystems IRIS 1 0 0 126
記事 Megumi Kakechi · 2023年2月2日 2m read 並列クエリについて(%PARALLEL) これは InterSystems FAQ サイトの記事です。 クエリパフォーマンスを最適化するための方法の一つとして、クエリ単位またはシステム全体でクエリの並列処理を使用することができます(標準機能)。 こちらは、特定のクエリに対しマルチプロセッサシステムでクエリの実行をプロセッサ間で分割して行うものです。並列処理の効果が得られる可能性がある場合のみ、クエリオプティマイザは並列処理を実行します。並列処理の対象はSELECT文のみとなります。 なお、並列プロセスの数は、CPUの数に応じて自動で調整するため、数の指定は行えません。現在のシステムのプロセッサ数は以下のコマンドで確認することができます。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 244
記事 Toshihiko Minamoto · 2022年12月8日 5m read InterSystems IRIS における一意のインデックスと null 値 一意のインデックスにまつわる興味深いパターンが最近持ちあがったので(isc.rest に関する内部ディスカッション)、コミュニティ向けに強調したいと思います。 動機付けのユースケースとして: ツリーを表すクラスがあるとします。各ノードには名前があるため、名前と親ノードでノードを一意にしたいと考えています。 各ルートノードにも一意の名前を持たせます。 この場合の自然な実装は以下のようになります。 #SQL #インデックス付け #Caché #InterSystems IRIS 0 0 0 270
記事 Megumi Kakechi · 2022年11月28日 2m read IRIS SQLでは OFFSET/LIMIT句のような機能をサポートしていますか? Question: IRISでは、PostgreSQLやMySQLで使うことができる、開始位置や取得件数を指定する OFFSET句やLIMIT句をサポートしているでしょうか? Answer: 残念ながらサポートしていません。ただ、代わりに使える同様の方法がありますのでご紹介します。 以下のようなSQLクエリをIRIS SQLで行うとします。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 317
質問 Yuji Ohata · 2022年10月24日 SQLの実行で意図せぬ結果になる。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 SQLの実行結果について、意図せぬ結果になるものが二点ありますので、利用方法等に誤りがないかを確認させてください。 ①CREATE TABLE Tmp.AAA AS SELECT * FROM Mst.AAA WHERE column = ?⇒管理ポータルで実行しても、?パラメータを置換するダイアログが表示されず、 オンコードで%Execute()しても実行エラーになる。 ★この構文では?パラメータは利用できないのでしょうか? #SQL #InterSystems IRIS 0 8 1 317
記事 Megumi Kakechi · 2022年9月21日 2m read SQL ゲートウェイを使用した外部データベースへのアクセス方法について SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。 手順は以下になります。 1. 外部ソースへの SQL ゲートウェイ接続の作成を行います ※こちらの例では、IRISの別インスタンスへの接続を試しています。 ※ODBCを使用される場合は、事前にシステムDSN(64bit)の準備が必要です。管理ポータルより [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。 接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。 #JDBC #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 531
記事 Toshihiko Minamoto · 2022年8月25日 2m read クラス/テーブルのサイズ情報を計算する その昔、クラス/テーブルのデータ、ストリーム、インデックスのサイズを判断するのは簡単なことでした。%GSIZE を実行して、D、S、I グローバルをそれぞれ確認するだけで済みました。 ところが最近では、シャーディングや、最適化されたグローバル名、分離されたグローバルのインデックスでは以下のような %GSIZE 出力が生成されます。 #SQL #シャーディング #InterSystems IRIS Open Exchange app 1 0 0 245
記事 Megumi Kakechi · 2022年6月29日 1m read ODBCツール等からアクセスした際に表示されるカラム順を制御する方法 これは InterSystems FAQ サイトの記事です。 デフォルトではテーブルのカラムの順番はシステムが自動的に決定します。 順番を変更するにはクラス定義を行う際にプロパティ・キーワード SqlColumnNumber でプロパティ毎に明示的に順番を設定してください。 例: Property Name As %String [SqlColumnNumber = 2]; ドキュメントは以下をご参照ください。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 150
記事 Mihoko Iijima · 2022年6月28日 5m read 【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開! 開発者の皆さん、こんにちは! この記事では、Embedded Pythonをご自身の好きなタイミングで学習できる📚セルフラーニングビデオ📚の YouTube プレイリストをご紹介します! 👆こんな具合に👆学習内容別 Embedded Python セルフラーニングビデオを公開しています! この記事では、これから Embedded Python でプログラミングを開始してみたい方向けに最適なビデオをご紹介します! #Embedded Python #SQL #オブジェクトデータモデル #グローバル #ビデオ #初心者 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 735
記事 Toshihiko Minamoto · 2022年6月21日 3m read SQLgateway を使ったデータベース移行 @Yuri Marx のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。 私の個人的な問題は、DBeaver を移行ツールとして使用することです。特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。 #Docker #SQL # データのインポートとエクスポート #InterSystems IRIS Open Exchange app 0 0 0 310
お知らせ Mihoko Iijima · 2022年5月29日 【アーカイブ配信のお知らせ】SQLでどこまでできる? ~データロードから機械学習まで~(2022年3月9日開催) 開発者のみなさん、こんにちは! 2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「SQLでどこまでできる? ~データロードから機械学習まで~」のアーカイブを YouTube に公開いたしました。 (プレイリストはこちら) データベースのテーブルにアクセスするためにSQLを利用するのは「ご飯を食べるときは箸を使います」と同じぐらい開発者にとって当たり前のことだと思いますが、SQLで分析や機械学習まで行えたらどうでしょうか。 便利ですよね? 本セッションではInterSystems IRISのSQLを使って、どこまでの操作ができるのかについて、デモを交えながらご紹介します。 ぜひ、動画をご参照ください。 #IntegratedML #SQL #分析 #Machine Learning (ML) #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 147
記事 Toshihiko Minamoto · 2022年5月10日 4m read まったく新しい LOAD DATA コマンドのコツとヒント 最近、LOAD DATA という素晴らしい新機能を使用することがありました。この記事では、初めて使用した際の体験についてお話しします。 以下の箇条書きには優先順がなく、他の評価も含まれません。 これらは、LOAD DATA コマンドを使用したときに私が気付いたことを記したものです。 また、プレビューリリースである IRIS バージョン 2021.2.0.617 を使用していることも記しておきたいと思います。 そのため、ここに記録されたことは、それ以降の IRIS バージョンに適用しない可能性があります。 それでも誰かのお役に立てるかもしれません。 #CSV #JDBC #SQL #コンテスト #ヒントとコツ #InterSystems IRIS Open Exchange app 0 0 0 308
お知らせ Mihoko Iijima · 2022年4月24日 【アーカイブ配信のお知らせ】FHIR SQL Builder ご紹介(2022年3月9日開催) 開発者のみなさん、こんにちは! 2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「FHIR SQL Builder」のアーカイブを YouTube に公開いたしました。 (プレイリストはこちら) 日本でも徐々に広がりを見せている HL7 FHIR。FHIR を活用したプロジェクトも着実に増えてきています。 取得した FHIR データをどのように利用するのか。その中で、FHIR データを使用して分析したいというニーズは必ず出てくるかと思います。 InterSystems では、FHIR データ分析を容易に可能にする新機能「FHIR SQL Builder」を発表いたしました。 この機能を利用することにより、FHIR リポジトリに格納したデータを通常の SQL で取り出し利用することが可能になります。 この機能の概要と使用方法をデモをまじえてご紹介いたします。 #FHIR #SQL #InterSystems IRIS for Health 0 0 0 171
お知らせ Mihoko Iijima · 2022年4月3日 【アーカイブ配信のお知らせ】Python Gateway のご紹介(2021年10月14日開催) 開発者のみなさん、こんにちは! 2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第2回目の「Python Gateway のご紹介」のアーカイブをYouTubeに公開いたしました。 InterSystems IRIS / IRIS for Health バージョン2021.1より、External Language Gateway に Python のサポートが追加されました。また、External Language Gateway の機能強化により外部ストアドプロシージャが利用できるようになり、Java、.Net、Python のコードを SQL から直接実行できるようになりました。 ウェビナーでは、Python からの利用法のついて、デモを交えながらご紹介しています。 ぜひご覧ください! (IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。) #Python #SQL #Webセミナー #オブジェクトデータモデル #キーバリュー #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 107
記事 Toshihiko Minamoto · 2022年4月1日 7m read InterSystems IRIS の新しい埋め込み SQL #SQL #InterSystems IRIS 0 0 0 377
記事 Tomoko Furuzono · 2022年3月29日 1m read SQLでのNULLデータの取り扱い これは、InterSystems FAQサイトの記事です。 SQLの場合、NULLデータと空文字列 ('')は区別されます。それぞれの設定・確認方法は、以下のようになります。 (1) NULLデータ 【SQL】 insert into test (a) values (NULL)select * from test where a IS NULL 【InterSystems ObjectScript】 set x=##class(User.test).%New()set x.a="" (2) 空文字列 ('') 【SQL】 #ObjectScript #SQL #Caché #InterSystems IRIS 0 0 0 304
記事 Tomoko Furuzono · 2022年3月29日 1m read プログラムでCSVファイルを1行ずつ読み込む方法 これは、InterSystems FAQサイトの記事です。 %SQL.Util.Proceduresクラスの CSV() プロシジャを使用することにより、実現できます。下記が使用例のコードとなります。(test.csvというファイルが c:\temp にあるという前提) #ObjectScript #SQL #Caché #InterSystems IRIS 1 0 1 535
記事 Hiroshi Sato · 2022年3月23日 2m read 現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか? 質問 現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか? 答え InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。 ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。 また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。(使用されているSQL文等はそのまま流用可能な場合が多いです。) さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 127
記事 Toshihiko Minamoto · 2022年3月2日 5m read 2021.2 SQL 機能スポットライト - 高度なテーブル統計 これは、IRIS でリレーショナルデータをクエリするアナリストとアプリケーションに、さらに優れた適応性とパフォーマンスによるエクスペリエンスを提供する IRIS SQL のイノベーションをトピックとした短い連載の 3 つ目の記事です。 2021.2 では連載の最後の記事になるかもしれませんが、この分野ではさらにいくつかの機能強化が行われています。 この記事では、このリリースで収集し始めたヒストグラムという追加のテーブル統計について、もう少し詳しく説明します。 #SQL #リレーショナルテーブル #InterSystems IRIS 0 0 0 86
記事 Toshihiko Minamoto · 2022年3月1日 5m read 2021.2 SQL 機能スポットライト - スマートサンプリング & テーブル統計の自動化 これは、適応性とパフォーマンスに優れた SQL エクスペリエンスを提供する 2021.2 SQL 強化機能に関する連載第 2 回目の記事です。 この記事では、前の記事で説明したランタイムプランの選択機能の主要な入力であるテーブル統計の収集におけるイノベーションに焦点を当てます。 #SQL #リレーショナルテーブル #InterSystems IRIS 0 0 1 166
記事 Mihoko Iijima · 2022年2月28日 7m read Embedded Python を使ってレシート(JPG)の中身を IRIS に登録してみました 開発者のみなさん、こんにちは。 今回は、スーパーやコンビニでもらうレシートを写真で撮り、OCR を使ってレシートの画像から文字列を切り出して IRIS に登録する流れを試してみました。 サンプルでは、Google の Vision API を利用してレシートの JPG 画像から購入物品をテキストで抽出しています。 #Embedded Python #Python #SQL #オブジェクトデータモデル #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 1.3K
記事 Toshihiko Minamoto · 2022年2月24日 5m read 2021.2 SQL 機能スポットライト - ランタイムプランの選択 InterSystems IRIS Data Platform の 2021.2 リリースには、ミッションクリティカルなアプリケーションを高速で柔軟性に優れ、セキュアに開発するための刺激的な新機能が多数含まれています。 Embedded Python は間違いなく脚光を浴びています(正当な理由で!)が、SQL の分野でも、テーブルデータに関する詳細な統計情報を収集し、それを最適なクエリプランに提供する、より適応性の高いエンジンに向けて大きな一歩を踏み出しました。 この短い連載記事では、2021.2 で新しく追加された 3 つの要素について詳しく説明し、ランタイムプランの選択(RTPC)を手始めに、この目標に向かって進みます。 これらについて適切な順序で話していくのは困難です(この記事を書く上で、私がどれだけ順序を入れ替えたか想像できないほどです!) というのも、これらが相互に非常にうまく機能するためです。 そのため、ご自由に順序を変えてお読みください。 #SQL #リレーショナルテーブル #InterSystems IRIS 0 0 1 167
記事 Mihoko Iijima · 2022年2月4日 7m read Embedded Python 試してみました 開発者の皆さん、Python好きの皆さん、こんにちは! ドキュメントをみながら IRIS 2021.2 に追加された Embedded Python を試してみました! IRIS にログインしてるのに Pythonシェルに切り替えできて Python のコードが書けたり、Python で import iris するだけで SQL を実行できたりグローバルを操作できるので、おぉ!✨という感じです。 ぜひ、みなさんも体感してみてください! では早速。 まず、IRISにログインします。Windows ならターミナルを開きます。Windows 以外は以下実行します。 #Embedded Python #ObjectScript #Python #SQL #オブジェクトデータモデル #初心者 #InterSystems IRIS #InterSystems IRIS for Health 4 0 1 772
記事 Toshihiko Minamoto · 2021年12月7日 31m read MLとIntegratedMLでCovid-19のICU入室予測を実行する(パート1) キーワード: IRIS、IntegratedML、機械学習、Covid-19、Kaggle 目的 最近、Covid-19患者がICU(集中治療室)に入室するかどうかを予測するKaggleデータセットがあることに気づきました。 231列のバイタルサインや観測で構成される1925件の遭遇記録が含まれる表計算シートで、最後の「ICU」列では「Yes」を示す1と「No」を示す0が使用されています。 既知のデータに基づいて、患者がICUに入室するかどうかを予測することがタスクです。 このデータセットは、「従来型ML」タスクと呼ばれるものの良い例のようです。 データ量は適切で、品質も比較的適切なようです。 IntegratedMLデモキットに直接適用できる可能性が高いようなのですが、通常のMLパイプラインと潜在的なIntegratedMLアプローチに基づいて簡易テストを行うには、どのようなアプローチが最も単純なのでしょうか。 範囲 次のような通常のMLステップを簡単に実行します。 #Artificial Intelligence (AI) #IntegratedML #SQL #Machine Learning (ML) #InterSystems IRIS Open Exchange app 0 0 0 278
記事 Hiroshi Sato · 2021年11月11日 1m read ODBCのクエリタイムアウトを回避する方法 これは InterSystems FAQ サイトの記事です。 タイムアウトを無効にするためには、DSNの設定でクエリタイムアウト無効に設定します。 Windowsコントロールパネル > [管理ツール] > [データソース(ODBC)] > [システムDSN]の構成 で クエリタイムアウト無効 にチェックを入れますと、タイムアウトは無効になります。 アプリケーション側で変更する場合は、ODBC APIレベルで設定することが可能です。 ODBCのSQLSetStmtAttr関数をコールする際に、SQL_ATTR_QUERY_TIMEOUT属性を設定してから、データソースに接続してください。 #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 11.2K
記事 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.4K
記事 Toshihiko Minamoto · 2021年9月30日 16m read Caché 2016.2のドキュメントデータモデルの紹介 はじめに Caché 2016.2のフィールドテストはかなり前から利用可能ですので、このバージョンで新しく追加されたドキュメントデータモデルという重要な機能に焦点を当てたいと思います。 このモデルは、オブジェクト、テーブル、および多次元配列など、データ処理をサポートするさまざまな方法として自然に追加されました。 プラットフォームがより柔軟になるため、さらに多くのユースケースに適したものになります。 #JSON #SQL #データモデル #ドキュメントデータモデル(NoSQL) 1 0 0 181