Tableau Server データ エンジン

Hyper は、サイズの大きいまたは複雑なデータ セットでの高速データ インジェクトと分析クエリ処理に最適化された、Tableau のインメモリ データ エンジン テクノロジーです。Hyper を使用すると、Tableau Server 、Tableau Desktop 、Tableau Cloud、Tableau Public でデータ エンジンが強化されます。データ エンジンは、抽出を作成、更新、またはクエリするときに使用されます。また、複数の接続を備えたフェデレートされたデータ ソースをサポートするためのクロスデータベース結合でも使用されます。

プロセス

Data Engine

ステータス Data Engine のステータスは [ステータス] ページに表示されます。詳細については、サーバー プロセス ステータスの表示を参照してください。
ロギング Data Engine プロセスが生成したログは /var/opt/tableau/tableau_server/data/tabsvc/logs/hyper にあります。詳細については、Tableau Server ログとログ ファイルの場所を参照してください。

メモリと CPU 使用率

データ エンジンは、マシン上のすべての使用可能な CPU およびメモリを活用して、最速の応答時間を提供するように設計されています。

CPU 使用率

Hyper テクノロジーは、CPU 内で新しい命令セットを使用し、すべての使用可能なコアの並列化とスケーリングに対応しています。Hyper テクノロジーは、効率的に多数のコアへ拡大するとともに、各単一のコアを可能な限り最大限使用するように設計されています。これは、クエリ処理中に 1 時間あたり平均 75% の合計 CPU 使用率が見込めることを意味します。CPU をさらに追加すると、パフォーマンスの改善につながります。

注: 1 時間平均の使用率は 75% がデフォルトであり、専用サーバー ノードでデータ エンジンを実行している場合を除き、変更しないでください。専用ノードでデータ エンジンを実行する方法の詳細については、「抽出クエリの負荷が大きい環境用に最適化」を参照してください。

Microsoft Windows、Apple macOS、Linux などの最新のオペレーティング システムは、CPU がフルに使用されている場合でも、着信およびその他のアクティブなプロセスを確実に同時実行できるメカニズムを備えています。さらに、全体的なリソース消費量を管理し、マシン上で稼働している他のプロセスの過負荷や完全なリソースの枯渇を防ぐために、データ エンジンは Tableau Server リソース マネージャー (SRM) に設定された制限内に留まるように自身を監視します。Tableau Server リソース マネージャーは、リソース消費量を監視し、事前定義された制限を超えた場合は、使用量を削減するようにデータ エンジンに通知します。

データ エンジンは使用可能な CPU を利用するように設計されているため、時折、CPU 使用率が急増するのは通常動作です。ただし、長時間 (1 時間以上) 高い CPU 使用率 (例: 95%) が続く場合は、次のことを意味しています。

  • 高負荷のクエリが存在する。これは、複数のクライアント要求による過負荷のためにサーバーにストレスがかかり、複数のクエリがキューで待機状態になっている場合に発生することがあります。これが頻繁に発生する場合は、クライアントに対応するためにより多くのハードウェアが必要であることを示しています。この場合は、より多くの CPU を追加すると、パフォーマンスの改善に役立ちます。

  • 1 つのクエリが長時間実行されている。この場合は、Tableau Server リソース マネージャーは、タイムアウト設定に基づいて、長時間実行されているクエリを停止します。このことは、10.5 より前の Tableau Server バージョンにも当てはまります。

Tableau Server リソース マネージャーの詳細については、一般的なパフォーマンスのガイドラインを参照してください。

メモリ使用率

データ エンジンのメモリ使用率は、クエリに応答するために必要なデータの量によって異なります。データ エンジンは、このインメモリの実行を最初に試みます。ワーキング セット メモリは、クエリ処理中の中間データ構造を保存するために割り当てられます。通常、システムにはこれらのタイプの処理を実行するために十分なメモリがありますが、使用可能なメモリが十分にない場合や RAM の 80% 超が利用されている場合は、データ エンジンは一時的にディスクに書き込むことでスプーリングに移行します。一時ファイルはクエリの回答後に削除されます。つまり、スプーリングは、より多くのメモリが必要である可能性を示しています。スプーリングによって引き起こされるパフォーマンス問題を回避するために、メモリ使用率を監視し、適切にアップグレードする必要があります。

マシン上のメモリ リソースを管理するために、データ エンジンの最大メモリ制限が Tableau Server リソース マネージャー (SRM) によって設定されています。

サーバー構成、スケーラビリティ、パフォーマンス

  • Tableau Server にファイル ストア、アプリケーション サーバー (VizPortal)、VizQLServer、データ サーバー、またはバックグラウンダーのインスタンスがインストールされているノードごとに、データ エンジンの単一のインスタンスが自動的にインストールされます。データ エンジンはそれ自身で拡大し、必要なだけ CPU とメモリを使用できるため、データ エンジンの複数のインスタンスを保持する必要はなくなりました。サーバー プロセスの詳細については、Tableau Server プロセスを参照してください。

  • ファイル ストアがインストールされているノードにインストールされたデータ エンジンのインスタンスは、ビューの要求のデータをクエリするために使用されます。バックグラウンダーがインストールされているノードにインストールされたデータ エンジンのインスタンスは抽出の作成と更新のために使用されます。これは、パフォーマンス調整を行う際の重要な考慮事項です。詳細については、「パフォーマンスの調整」を参照してください。

  • データ サーバー、VizQL Server、およびアプリケーション サーバー (VizPortal) はすべて、データ エンジンのローカル インスタンスを使用して、クロスデータベース結合を実行し、シャドー抽出を作成します。シャドー抽出ファイルは、非レガシーの Excel またはテキスト、もしくは統計ファイルに基づいたワークブックを操作している場合にのみ作成されます。Tableau は、データをよりすばやく読み込むために、シャドー抽出ファイルを作成します。

  • Tableau Server 10.5 では、バックグラウンダーをインストールすると、データ エンジンの 1 つのインスタンスが自動的にインストールされます。バックグラウンダー プロセスは、同じノードにインストールされているデータ エンジンの単一のインスタンス (hyperd.exe) を使用します。

重要! データ エンジンがファイル ストアと同じノードにインストールされる場合には例外があります。ファイル ストアが Tableau Server の外部で構成されている場合、データ エンジンがファイル ストアと共にインストールされることはなくなりました。ただし、Tableau Server が外部ファイル ストアを使用して構成されている場合でも、その他のプロセスをインストールした場合は、データ エンジンが引き続き上記のようにインストールされます。また、ファイル ストアが外部で構成されている場合は、他のプロセスのないノードでデータ エンジンを構成することもできます。外部ファイル ストアの詳細については、Tableau Server 外部ファイル ストアを参照してください。

スケーラビリティ:

新しいデータ エンジンをスケール アップすることができます。コアはフルに活用されるため、より多くのコアを追加することで個々のクエリの実行が迅速化され、より多くのクエリをより短い時間で実行できます。

スプーリングによって引き起こされるパフォーマンス問題を回避するために、メモリ使用率を監視し、適切にアップグレードする必要があります。

スケーラビリティの詳細については、「Tableau Server のスケーラビリティ (英語)」を参照してください。

パフォーマンス:

パフォーマンスにおけるメリット

10.5 以降、Hyper テクノロジーが Tableau データ エンジンに統合され、次の主なメリットを提供しています。

  • より高速な抽出作成: Hyper テクノロジーでは、ソース システムがデータを配信できる速度とほぼ同じ速度で抽出が生成されます。データを並べ替える必要はありません。

  • より大きなサイズの抽出をサポート: このリリースより前は、すべてのデータを単一の抽出に取り込むことができない場合がありました。Hyper テクノロジーを使用すると、単一の抽出としてはるかに大量のデータを含めることができます。

  • より高速な抽出分析: 多くの場合、サイズの大きい抽出または複雑な計算のワークブックでも、データのクエリが迅速化されます。

Hyper により強化されたデータ エンジンがサイズの大きいまたは複雑な抽出でより高性能を発揮し、より高速なクエリに最適化されている理由は次のとおりです。

  • Hyper テクノロジーは、より高速にデータを使用するように設計されています。以前のバージョンとは異なり、データ エンジンは、並べ替えなどの後処理を実行しません。Hyper では、データ エンジンがサイズの大きい抽出でもより効率的に実行できるため、並べ替えなどの後処理は必要ありません。

  • Hyper テクノロジーはメモリ最適化されています。つまり、必要な場合は、すべてのデータがメモリに内包されます。この結果、データ アクセス時間が高速化します。

  • Hyper テクノロジーは CPU 最適化されています。つまり、データ エンジンではクエリ実行が完全に並列化されており、クエリ実行時間はマシンのコア数に応じてほぼ直線的に加速されるような方法で使用可能な CPU が使用されます。

  • Hyper はコンパイル クエリ エンジンです。パフォーマンスを最大化するためにクエリはマシン コードに解釈またはコンパイルされるため、データ エンジンは最新のハードウェア (CPU、大容量メイン メモリ) の最高のパフォーマンスを引き出すことができます。

  • Hyper テクノロジーは、高度なクエリ最適化を使用して、クエリを高速化します。各列の最小値と最大値のマテリアライズ、検索範囲を最適化するミニインデックス、よりきめ細かいデータ ブロックレベルのディクショナリ、結合とサブクエリのパフォーマンスを最適化するための高度なロジックなどの多数の追加された高度な技術とともに、新しいデータ エンジンではパフォーマンスとスケーラビリティの点で以前の Tableau データ エンジンに多数の改善が加えられています。

パフォーマンスの詳細については、最初に一般的なパフォーマンスのガイドラインおよびパフォーマンスの調整を参照してください。

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!