記事
· 2023年5月2日 5m read

カラムナーストレージを使用するケース

InterSystems 2022.2 では、IRIS SQL テーブルを永続化する新しいオプションとして、分析クエリを桁違いに向上させられるカラムナーストレージを導入しました。 2022.2 と 2022.3 ではこの機能は実験的としてマークされていますが、次の 2023.1 リリースでは、完全にサポートされた本番機能に「卒業」する予定です。 

製品ドキュメントとこの紹介動画では、IRIS では現在でもデフォルトであり、全顧客ベースで使用されている行ストレージと、このカラムナーストレージの違いがすでに説明されており、ユースケースに適切なストレージレイアウトの選択方法に関する大まかなガイダンスが提供されています。 この記事では、このテーマについて詳しく説明し、業界で実践されているモデリング原則、内部テスト、および早期アクセスプログラム参加者からのフィードバックに基づく推奨事項をいくつか紹介します。 

全般的に、IRIS SQL スキーマに適したテーブルレイアウトを選択するためのガイダンスは以下のとおりです。

  1. EHR、ERP、またはトランザクション処理アプリケーションなど、IRIS SQL またはオブジェクトを利用するアプリケーションをデプロイしている場合は、現在の行ストレージレイアウトをカラムナーストレージレイアウトに変更する必要はありません。エンドユーザーやプログラムトランザクションに対して発行されるほとんどの SQL クエリは、限られた数の行のみを取得または更新し、結果行は通常テーブルの行に対応しており、集計関数の使用もほんのわずかです。 カラムナーストレージとベクトル化されたクエリ処理から得られるメリットはこのような場合に適用されません。  
  2. そのようなアプリケーションに運用分析も組み込まれおり、対応する分析クエリの現在のパフォーマンスが満足いくものでなければ、列インデックスの追加を検討してください。これには、現在のインベントリを表示するダッシュボードやライブデータに関する基本的な財務レポートなどが含まれます。 集計に使用される数値フィールド(数量、通貨など)または範囲条件で使用されるカーディナリティの高いフィールド(タイムスタンプなど)を探します。 そのような可能性を示すのに適した指標は、通常カーディナリティの低いフィールド(カテゴリカルフィールドや順序フィールドなど)で大量の行のフィルタリングを高速化するビットマップインデックスの現在の使用状況です。 これらのビットマップインデックスを置き換える必要はありません。追加の列インデックスはそれらと連携して十分に動作し、マスターマップまたは通常のインデックスマップ(行あたり 1 つの gref)からの過剰な読み取りを回避することが目的です。  
  3. IRIS SQL テーブルに含まれる行数が 100 万行未満である場合、カラムナーストレージを検討する必要はありません。具体的な数に固執したくはありませんが、ベクトル化されたクエリ処理のメリットが、これらの低い範囲に影響を及ぼす可能性はありません。  
  4. IRIS SQL スキーマをデータウェアハウス、ビジネスインテリジェンス、または同様の分析ユースケースにでデプロイしている場合は、カラムナーストレージがデフォルトとなるように変更することを検討してください。スタースキーマ、スノーフレークスキーマ、またはその他の非正規化されたテーブル構造、およびビットマップインデックスとバッチインジェストの広範な使用は、これらのユースケースが該当することを示しています。 カラムナーストレージのメリットがある分析クエリは、大量の行をスキャンし、それらの値を集計するクエリです。 「カラムナーテーブル」を定義する場合、IRIS は、ストリーム、ロング文字列、またはシリアルフィールドなど、カラムナーストレージに適していないテーブル内の列に行レイアウトを透過的に使用します。 IRIS SQL はこのような混合テーブルレイアウトを完全にサポートしており、クエリプランの適切な部分にベクトル化されたクエリ処理を使用します。 カラムナーテーブルに対するビットマップインデックスの付加価値は限られているため、省略できます。

環境とデータ関連のパラメーターによって、向上の程度は異なります。 したがって、代表的なセットアップで様々なレイアウトをテストすることを強くお勧めします。列インデックスは、通常の行編成テーブルに簡単に追加でき、クエリパフォーマンスのメリットについて現実的な見通しを素早く生成することができます。 これは、混合テーブルレイアウトの柔軟性とともに、InterSystems IRIS の重要な差別化要因であり、桁違いのパフォーマンス改善を達成するのに役立ちます。

完全な本番リリースで実際のエクスペリエンスをさらに得るにつれ、これらの推奨事項をより具体化していく予定です。 もちろん、早期アクセスプログラムと POC エンゲージメントでは、お客様の実際のスキーマとワークロードに基づくより具体的なアドバイスを提供できます。お客様とコミュニティメンバーからのフィードバックを楽しみにお待ちしています。 カラムナーストレージは、InterSystems IRIS Advanced Server ライセンスの一部であり、InterSystems IRIS と IRIS for Health の Community Edition でも有効になっています。 完全にスクリプト化されたデモ環境については、こちらの GitHub リポジトリをご覧ください。

ディスカッション (1)1
続けるにはログインするか新規登録を行ってください