by David Rorke & Tim Armstrong
この記事は 2021/01/15 に公開された「Cloudera Data Warehouse Demonstrates Best-in-Class Cloud-Native Price-Performance」の翻訳です。
はじめに
クラウド上のデータウェアハウスは従来と比べ、ユーザーに分析目的のワークロードをより高い機敏性と、より分離され、より低い管理コストで実行できるようにします。 オンデマンドで迅速にプロビジョニングする機能と、固定および管理コストの削減により、クラウドデータウェアハウスの運用コストは、主にデータウェアハウスプラットフォーム自体の価格性能比によって決まります。 従量課金制の価格設定により、高性能を提供するプラットフォームは、より迅速な結果だけでなく、直接的なコスト削減のような利益をユーザーにもたらします。
Cloudera Data Warehouseは、Apache ImpalaとApache HiveのようなSQLエンジン技術をクラウドネイティブの機能と組み合わせ、クラウドでデータウェアハウジングワークロードを実行しているユーザーに最高の価格性能比を提供できる、高度にスケーラブルなサービスです。 しかし、この言葉だけでは信用できません。 McKnight Consulting Groupは最近、Cloudera Data Warehouseの価格性能比を他の4つ主要なクラウドデータウェアハウスベンダーと比較した、独自のサードパーティベンチマーク調査を公開しました。 結果は、TPC-DSベンチマークからの99のクエリのフルセットでCloudera Data Warehouseの優れた価格性能比を示しています。 次の価格性能比の要約は、McKnightレポートから直接引用したものです:
このチャートは、Cloudera Data Warehouse(CDW)で30TB規模のデータに対し、TPC-DSにある99個のクエリを全部実行する時のコストを4つの競合他社と比較しています。 DW1はAWSで実行されるあるクラウドデータウェアハウスであり、DW2はGCPで実行されるあるデータウェアハウスです。 チャートに示されているように、このベンチマークでは、Cloudera Data Warehouseが他のどの競合他社よりも大幅に優れた価格性能比を叩き出しました。 CDWと比較し、Amazon Redshiftは19%高いコストでワークロードを実行し、Azure Synapse Analyticsは43%高いコストで、DW1は79%高いコストで、DW2は5.5倍高いコストでした。
本稿では、CDWがこの優れた価格性能比を実現し、McKnightベンチマークの結果を裏付けるCDWの機能のいくつかについて説明します。
Cloudera Data Warehouseの概要
Cloudera Data Warehouseは、Apache ImpalaおよびApache Hive SQLエンジンに基づくクラウドネイティブのデータウェアハウスであり、Kubernetesに基づくコンテナ化されたアーキテクチャを使用してデプロイされます。 CDWは、Cloudera Data Platform (CDP)を構成するいくつかのマネージドサービス内の1つです。
CDWはパフォーマンスにおいて、そのベースとなる高性能なSQLエンジンから恩恵を受けています。 CDWは、Apache HiveまたはApache Impalaエンジンでのクエリ実行をサポートしています。 McKnight Consulting Groupが実行したベンチマークでは、Impalaエンジンを使用しました。 Impalaは、高性能と並列実行、インタラクティブなクエリを低レイテンシで、効率なCPU利用をLLVMに基づく動的コード生成を備えたC++で実現するなど、長い間ユーザーから評価されています。 Impalaチームは、性能でリードするように継続的な進化を遂げています。 例えば最近では以下のような最適化があります:
- 新しいマルチスレッディングモデル (Cloudera ブログを参照).
- リモート読み取りの最適化:
- IMPALA-8341: Data cache for remote reads
- IMPALA-8428: Add support for caching file handles on S3
- IMPALA-7928: Consistent placement of remote scan ranges
- IMPALA-8690: Add LIRS cache eviction algorithm
- ImpalaにおけるKRPCの利用 (Cloudera ブログを参照).
- バックエンド改善:
- IMPALA-5444: Asynchronous code generation
- IMPALA-9655: Dynamic intra-node balancing for HDFS scans
- Parquet page indexes (see dedicated blog post)
- 計画中の改善:
- IMPALA-10099: Push down DISTINCT in set operations
- IMPALA-9983: Pushdown limit to analytic sort operator
- IMPALA-1270: Add distinct aggregation to semi joins
- IMPALA-9183: Convert disjunctive predicates to conjunctive normal form
CDWは、コアSQLエンジンのこれらすべての最適化の恩恵を受け、それらを組み合わせ、さらに一連の追加のクラウドネイティブ機能と一緒に、McKnightベンチマークで最高のパフォーマンスを提供することが実証されました。
- Kubernetesを介したコンテナー化されたデプロイによる高速クラスタープロビジョニング
- ワークロード要件に必要なリソースが動的かつ正しく設定されるように、自動スケーリングと自動シャットダウンを含む柔軟なリソース管理
- ローカルキャッシュを使用してクラウドオブジェクトストア(S3、Azure Data Lake Storageなど)からの読み取りおよび書き込みパスを最適化し、ローカルストレージに明示的にロードすることなく、共有オブジェクトストアのデータに対してワークロードを直接実行できるようにします
- カスタムチューニングを必要とせずに、「すぐに使える」ようにデフォルト設定を自動調整し、パフォーマンスを向上
- テナント間のリソース奪い合いを防ぐためのコンピューティング分離
CDWには、ハイパフォーマンスに加えて、他のクラウドデータウェアハウスと比較しても下記のような差別化要因があります:
- 同じコンテナ化されたアーキテクチャを使用して複数のパブリッククラウドに対応し、オンプレミスでのプライベートクラウド展開でも可能であり、一貫したユーザー体験を備えたハイブリッドクラウド展開のサポート。
- CDWは、コンピューティングとストレージを完全に分離し、完全にオープンで標準のデータ形式(Apache ParquetおよびApache ORC)を使用して、クラウドオブジェクトストア内のデータに対して直接クエリを実行します。CDP(データウェアハウジング、機械学習、データエンジニアリング)内の複数の分析エンジンは、これらのファイル形式を持つ同じ共有データを操作できます。このベンチマークの他のベンダーは、クローズドな独自のデータ形式を使用しているか、クエリを実行する前に共有オブジェクトストレージからデータをインポートするための明示的な読み込み手順を必要としています。
- CDPの一部としてのCDWは、CDPのShared Data Experience(SDX)によって管理される一元化されたセキュリティおよびガバナンスモデルにも入っています。これにより、CDWがCDP内の他のサービスと連携するときに、一貫したセキュリティとメタデータアーキテクチャが利用できます。
ベンチマークの紹介
ベンチマークの詳細はMcKnightレポートに詳しく説明されていますが、重要なポイントを以下に要約します。
- 使用されたデータセットとクエリは、業界標準のTPC-DSベンチマークに準拠します
- ベンチマークに使用されたスケールファクターは30TBで、データはTPCの標準データ生成ツールを使用して生成されました
- ベンチマークには99のクエリが含まれ、そのうち4つ(クエリ14、23、24、および39)には2つから構成されており、合計103のクエリがあります。クエリは、TPC-DS仕様のバージョン2.13に準拠していました
- 各ベンダーのクラスター構成は、可能な限り、各ベンダーで同様の1時間あたりのコストを達成するように選択されました。CDW実行のクラスターサイズは、64個のエグゼキューターノードを使用しました。他のベンダーのクラスターサイズの詳細は、McKnightレポートに記載されています
- 103個のフルセットのクエリが3回ずつベンダーごとに実行され、レポートされた主要なメトリックは、3回の実行の中で最も速いものの合計実行コストでした
- CDWの実行では、クラスターでベンチマークためのチューニングは実施されませんでした。プロビジョニングでは64ノードクラスターサイズを指定し、デフォルト設定が使用されました。
- CDWのクエリは、S3にあるParquet形式のデータに対して実行されました。クエリを実行する前に、ローカルデータの読み込み手順は必要ありませんでした。これと、S3からマネージド/ローカルストレージへの明示的なデータロードステップを必要とするAmazon Redshiftとの対照にご注目ください(Redshiftの場合、このステップに必要な時間は、レポートされたベンチマークタイミングに含まれていませんでした)
- CDWの実行に使用されるスキーマの詳細については、CDWスキーマとクエリの両方をここで入手できます
結果の掘り下げ
前述の概要でのグラフは、CDWが99のクエリワークロード全体を実行するための総コストが最も低いという結果を表しています。 この集計指標に加えて、ベンチマークからの個々のクエリの結果には興味深いことがあります。McKnightレポートには、ベンダーのクエリごとの個別のコストの表が含まれています。 以下では、その同じクエリごとのデータを使用して、いくつかの結果を可視化して説明します。
まず、クエリ全体のパフォーマンスの分布を簡単に確認できるグラフを使用して、Cloudera Data Warehouseで個々のクエリ実行時間とコストを見てみましょう。
このグラフからの1つのポイントは、CDWがベンチマークのクエリの大部分にインタラクティブなパフォーマンスを提供し、クエリの3分の2が15秒未満で完了することです(15秒はCDWの1時間あたりのクラスターコスト$123.26を使用すると50セントのコストに相当します)。
また、このようにクエリあたりのコストを低いレベルでの達成度合いを、他のベンダーがどれほどできているのかを確認することもできます。 次のグラフは、個々のクエリコストが50セント未満で実行されている各ベンダーのクエリの割合を比較しています。
繰り返しになりますが、低コストで実行できるクエリの割合が最も高いCDWが強力なインタラクティブパフォーマンスを発揮していることが分かります。
最後に、実行時間の長いクエリの最悪の場合のコストを制限するさまざまなベンダーの機能を確認できます。
CDWはこの評価面でも強力であり、パフォーマンスが最も低いクエリのコストでも最も低くなります。
ここでは、個々のクエリ結果から興味深いことのほんの一部を取り上げました。 より詳細な内容に関しては、McKnight reportですべての結果を確認することができます。
終わりに
パフォーマンスは、クラウドデータウェアハウスを選択する際に考慮すべき1つ重要な属性です。 使用コストは実行時間と相関であるため、高性能プラットフォームは、結果の高速化だけでなく、直接的なコスト削減を通じてユーザーにメリットをもたらします。 Cloudera Data Warehouseは、高性能なApache ImpalaとApache Hiveをベースに構築されており、最適化されたクラウドネイティブアーキテクチャと、パブリッククラウドとオンプレミスのプライベートクラウド展開の両方をサポートしています。 McKnight Consulting Groupによる最近のベンチマークは、CDWによるクラス最高の価格性能比を示しています。
McKnightレポートはこちらからダウンロードできます。さらにCDW、 Impala、 そしてHiveから他の関連ブログを参照することができます。
謝辞
日本語版翻訳のレビューにあたってくれた、Cloudera Japan のDaisuke Kobayashiに感謝します。