背景パブリック クラウドは、ユーザーに経済的で便利なコンピューティング リソースを提供するプラットフォームです。クラウド コンピューティング テクノロジーの急速な発展とビッグ データ クエリの需要の増加に伴い、多くのパブリック クラウドのクラウド コンピューティング アプリケーション市場には、ますます多くのクラウド OLAP エンジン サービスが登場しています。ビジネス ニーズに応じて適切な OLAP エンジンを選択し、適切な構成を通じてエンジンを最適に動作させるには、ユーザーは現在使用しているクエリ エンジンのパフォーマンスを評価する必要があります。 現在の OLAP エンジン パフォーマンス評価フレームワークは、クラウドに展開する場合、次の 3 つの大きな課題に直面します。
上記の問題に対処するため、南京大学の Gu Rong 教授、Wu Tongyu 博士らは、Apache Kylin コミュニティ チームと協力し、Raven と呼ばれるクラウドベースの OLAP エンジン クエリ パフォーマンス評価フレームワークを設計および開発しました。 Raven は、OLAP エンジンをクラウドに移行する際に、ユーザーがいくつかの実用的かつ重要な質問に答えられるように設計されています。
この記事では、Raven の設計と実装時に私たちのチームが遭遇した問題、対応する解決策、および現在の予備調査結果を紹介します。 クラウドアーキテクチャに適合したパフォーマンス評価フレームワークの設計OLAP エンジン クエリ パフォーマンス評価フレームワークをクラウド アーキテクチャに適応させると、実際にはクラウド上の PaaS、IaaS、および SaaS 機能に適応することになります。具体的には、クラウドサーバーの多くの機能がサービスの形でユーザーに提供されます。ユーザーは、クラウド サーバーの作成、ファイル操作、パフォーマンス指標の取得、アプリケーションの実行など、さまざまな目的を達成するために、対応するサービス インターフェイスを呼び出すだけで済みます。ファイル操作では、クラウド サーバーはコンピューティングとストレージを分離したアーキテクチャを使用しているため、一部のデータはサービスを通じてリモート クラウド ストレージ サービスから取得する必要がある場合があります。 図1: パブリッククラウドプラットフォームに基づくRavenパフォーマンス評価フレームワーク 上記の要件を組み合わせた Raven のフレームワークを図 1 に示します。実行手順は次のとおりです。
上記の設計の利点は次のとおりです。
実際の使用では、ユーザー入力は .yaml ファイルで提示され、次のようにフォーマットされます。
ユーザーが必要とするクラウド サーバーの数、各マシンの構成、さまざまなエンジンなどはすべて、JSON ファイルを通じて構成できます。 イベントとタイムスタンプに基づくワークロード設計従来の OLAP クエリ エンジンは通常、固定データ セットとクエリ セットを使用し、一連のクエリを実行して OLAP エンジンのクエリ パフォーマンスを確認します。しかし、多くの業界では作業負荷が複雑化しています。
Raven はタイムラインベースのイベント メカニズムを使用して、複雑な OLAP 作業シナリオを記述します。このメカニズムでは、ワークロードは複数のステージで構成され、ステージは複数のイベントで構成されます。タイムラインでは、ワークロードは複数のステージの順次実行として記述されます。各ステージはオンラインとオフラインの 2 つのステージに分かれています。オンライン ステージでは実際のクエリ要求が実行され、オフライン ステージでは事前計算やその他の操作が実行されます。イベントは、ワークロード内の各アトミック実行ユニットを抽象化したものであり、クエリ要求、シェル コマンド、または Python などのプログラミング言語で記述されたスクリプトなどです。 図2: Ravenワークロードの実行プロセス Raven のワークロードを図 2 に示します。実行手順は次のとおりです。
上記の設計の利点は次のとおりです。
たとえば、次の .yaml 構成ファイルを使用して、AWS 上で 1 つのマスターと 4 つのスレーブを持つ EC2 クラスターを起動し、データセットを SSB (SF=100) に指定し、ワークロードをポアソン分布 (λ=3.0) を満たすように指定し、ワークロードの継続時間を 600 秒に指定して Presto エンジンをデプロイできます。 雲:
プロパティ:
エンジン:
テスト計画:
プロパティ:
作業負荷:
パラメータ:
Raven は、均一分散、バースト高同時実行分散など、ユーザーが使用できるいくつかの一般的なワークロードを事前に設定しています。 カスタム多変量関数に基づくパフォーマンス評価モデルパフォーマンス評価の観点では、クラウドマシンはサイズや構成をカスタマイズできるのが特徴だ。したがって、クエリのパフォーマンスだけを考えれば、高性能なデバイスを大量にレンタルすることで理論的にはパフォーマンスを向上させることができます。しかし、これによりクラウド コンピューティングのコストも急騰することになります。したがって、パフォーマンスとコストのバランスと包括的な考慮を実現するための一連のメカニズムが必要です。 Raven のパフォーマンス評価方法は高度にカスタマイズされており、ユーザーは関数式を使用して利用可能なパラメータ インジケーターを組み合わせて評価スコアを取得できます。 Raven で使用できるパラメータ インジケーターは、主に次のカテゴリに分類されます。
Raven による評価は相対的なものであり、同じモデルの評価間でのみ比較できます。パフォーマンス評価スコアは、クラウド コストとクラウド オーバーヘッドの積です。スコアが低いほど、OLAP エンジンのパフォーマンスは向上します。クラウドのオーバーヘッドは、線形モデルを使用して上記のパラメータに重みを割り当てることで計算できます。または、非線形モデルを使用して上記のパラメータを関数式に代入します。 Raven は、ユーザーに一連のテンプレート関数も提供します。
このうち、PTO はパフォーマンススコア、PoC はクラウドコスト、ravgravg と qavgqavg はそれぞれ平均応答時間と平均実行時間、rmaxrmax と qmaxqmax はそれぞれ最大応答時間と最大実行時間、b は予算額、q95%q95% はクエリ時間の 95% 分位数を表します。ここでは、前回の記事でユーザーが注意する必要がある実際的な問題について確認します。予算優先順位モデルが主に「クラウドで実行する場合、どの OLAP エンジンの IT コストが低くなるか」を評価して回答するために使用されていることは容易に理解できます。速度優先モデル、クエリ効率モデル、クエリ ブロッキング モデルは主に、さまざまなクエリ応答制約を満たしながらクラウド上で実行コストが低い OLAP エンジンを評価して回答するために使用されます。総合モデルは、コスト予算とクエリ応答効率を総合的に考慮してさまざまな重みを設定し、OLAP エンジンを評価するクラウド パフォーマンス モデルです。 実施と効果検証上記の Raven の設計を Amazon AWS に実装し、パフォーマンス評価フレームワークを使用して OLAP エンジンを実行し、さまざまなエンジンのクエリ効果を確認しました。 図3: 異なるスコアリングモデルで平均クエリを10分間実行したさまざまなエンジンのパフォーマンススコア 図4: PrestoとKylinで実行されているバースト性の高い同時実行性ディストリビューションのパフォーマンススコア 図 3 からわかるように、均一なクエリを実行する場合、Athena と Kylin の方が優れたソリューションです。ただし、異なるモデルを使用すると、評価の結論も異なります。クエリ速度とクラウド コストを考慮すると、Athena はサービスを呼び出して直接クエリを実行するため、クラウド コストが低く、スコアも低くなります。ただし、速度を優先する場合、Kylin は事前計算テクノロジを使用して高速クエリを実現するため、速度優先モデルを使用するとスコアが低くなります。 図 4 からわかるように、バースト高同時実行分散を実行する場合、クエリ ブロッキング モデルを使用すると、同時に入力されるクエリの数が増えるにつれて、Presto のパフォーマンス スコアはクエリの数に比例して増加します。ただし、Kylin はクエリ数の増加による影響を受けず、パフォーマンス スコアは安定しています。これは、Kylin の事前計算テクノロジによって計算効率が向上するためです。大量のクエリが流入した場合、Kylin はこれらのクエリをより高い効率で処理し、キュー内のクエリの混雑を軽減し、パフォーマンス スコアを向上させることができます。もちろん、ユーザー セット内のクエリの数が多くない場合は、事前計算関連のオーバーヘッドがないため、Presto のパフォーマンス スコアの方が有利になります。 今後の展望今後の研究では主に以下の側面を考慮します。
|
<<: Prometheus、Istio、Hpa、Keda、Karpenter をベースにした K8s アプリケーションとノードの弾力性の実装
海外メディアの報道によると、Googleは最近、カメラやタブレットで撮影した写真や動画をコンピュータ...
[[388822]] 「Code Brother」による Redis シリーズの記事の 1 つ、「R...
cmivps は 11.11 向けに香港 VPS プロモーションも開始しました。比較的高構成の香港 ...
新規のビジネスオーナーのほとんどは、自分のビジネス用のウェブサイトを構築することの重要性を理解してい...
[51CTO.comより引用] 近年、クラウドコンピューティング、人工知能、ブロックチェーンなどの新...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています時には無力...
BandwagonHostは、熱狂的なオンラインショッピングフェスティバルでもある中国の独身の日(1...
このブラックフライデーにはドメイン名に関する役立つ情報があまりありませんが、幸いなことに、domai...
初心者でもベテランでも、Web サイトの重量をどのように改善するかについては非常に関心があります。一...
4月17日、あるニュースが注目を集め、議論を呼びました。では、どんなニュースがより注目を集めたのでし...
いわゆるマイクロ時代について私が理解しているのは、Weibo、WeChat、マイクロムービーのことで...
MSN が消滅するという噂もあるが、劉振宇氏はそれを笑い飛ばすだけだ。辛抱強く耳を傾けなければ、多く...
k8s についてある程度の知識を持つ技術者は、k8s にサービス登録と検出機能があることだけを知って...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています2018年...
海外のミニブログの元祖であるTumblrの月間ページビューが200億を突破する一方で、国内の模倣サイ...