Denodo 組み込み MPP のサイズ設定の推奨¶
Denodo 組み込み MPP クラスタで利用可能なサイズとリソースは、パフォーマンス全体に大きな影響を与える可能性があるため、使用するシナリオに最適な構成を選択することが重要です。最適なサイズ設定は、ワークロードの特性によって大きく異なります。そのため、実際のシナリオにできるだけ近いデータとクエリを使用して、独自のサイズ設定テストを実施することをお勧めします。テストを実施する際は、 以下の点を考慮してください 。
N 個のワーカーを構成する場合は、 N+2 ノードでクラスタを作成し 、各ワーカーを 1 つのノードに配置して、コーディネーターとメタストア用の空きスペースを確保します。
一般的に、 ワーカーを増やすと、クエリの実行速度が速くなります 。これは、Denodo 組み込み MPP が並列で実行できる操作が、より多くのノードに分散されるためです。たとえば、テーブルから Parquet ファイルを読み込むとします。
特に同時実行の状況では、 CPU コア数を増やすと、クエリの速度も上がります 。
For the previous considerations, make sure the total number of CPU cores of your Denodo Embedded MPP cluster does not reach the maximum allowed by your Denodo license.
クラスタに十分な量のメモリがあることを確認します 。また、Denodo 組み込み MPP でデータがディスクに流出したり、同時実行の状況でクラッシュしたりしないように、十分な量のメモリを確保することが重要です。
以下の推奨値 は、スケールファクター 100 の TPC-DS ベンチマークを使用した当社独自のサイズ設定テストに基づいています。そのため、数億行以上に対して機能する分析クエリで構成されるワークロードの場合に有益です。
まず、128 GB 以上のメモリと 16 ~ 32 コアを搭載したノードで、8 ワーカー以上から始めます。たとえば、Amazon Web Services では、m5.8xlarge または r5.4xlarge ノードで開始できます。
クラッシュやパフォーマンスの低下が生じた場合は、 クラスタのサイズを 2 倍にします 。数億行を管理するクエリでは、同時に実行しない分離したクエリであっても、通常は小規模なクラスタよりもはるかに高速に実行されます。同時実行性がある場合、小規模なクラスタではおそらく十分なパフォーマンスを発揮できません。クラスタのワーカー数を 2 倍にする場合、以下のことが予測されます。
同時実行性がない場合: ほとんどのクエリでパフォーマンスが向上しますが、大幅な改善は見られません。多くの場合、5 ~ 15% の改善が見られます。
同時実行性が中程度の場合 (例: 5 つの同時実行クエリによる負荷の持続): ワーカー数を 2 倍にすると平均実行時間が 30 ~ 40% 短縮されますが、数が増えるたびに効果は弱まります。
同時実行性が中程度の場合 (例: 10 ~ 15 個の同時実行クエリによる負荷の持続)。ワーカー数を 2 倍にした場合の効果は、さらに強く持続します。8 個のワーカー (ワーカーにつき 128 GB、32 コア) では、かなりの数のクエリの処理に数分かかるようになるため、少なくとも 16 個のワーカーを使用してください。
同時実行性が高い場合: 32 個のワーカー (ワーカーにつき 128 GB、32 コア) で開始し、予想されるワークロードに応じてクラスタをスケーリングします。
クラスタのサイズを大きくしてもパフォーマンスが向上しない場合は、 メモリと CPU の数を増やしてノードを使用します 。(分散された結果を統合する集約と同様) 一部の操作が並列に実行できず、特に同時実行の状況では必要なリソースが増える可能性があることを考慮してください。たとえば、AWS では一般的に、mx8large などの汎用ノードではなく、rx8large などのメモリが最適化されたノードを使用する方法が適切です。ただし、メモリを最適化したノードはかなり高価になる場合があり、その効果はワークロードによって大きく異なる可能性があるため、使用するシナリオに応じた具体的なテストを行います。一般的に、同時実行性を上げると効果も高まりますが、状況はクエリに応じて大きく異なります。小幅な改善から、中~高の同時実行性に応じて速度が 3 倍になるなどさまざまです。
目的のパフォーマンスに達したら、 オートスケーリングを使用するようにクラスタを構成して 、必要なリソースのみを使用できます。
Kubernetes の Presto クラスタツールガイ のオートスケールのセクションで説明するように、ポッドのオートスケーリングを構成できます。
特定のクラウドプロバイダーの指示に従って、クラスタノードのオートスケーリングを構成できます。たとえば、AWS を使用している場合は、 EKS ユーザーガイド のオートスケーリングのセクションを参照してください。
注釈
クラスタのサイズやクラスタノードのリソースを増やしてもパフォーマンスが改善しない場合は、Denodo と MPP クラスタ間、および MPP クラスタとアクセスしているオブジェクトストレージ間のネットワークの遅延を確認します。