1

Vertica クラスター全体で接続プール/ディストリビューションはどのようになっていますか?

Vertica で接続がどのように処理されるかを理解しようとしています! Oracle が接続を処理するように、それはリスナーであるか、または接続がクラスター内でどのようにバランスが取れているか (分散を改善するため) を処理します。

4

1 に答える 1

4

Verticaの接続処理プロセスは、基本的に次のとおりです。

  • ノードが接続を受信し、それを。にしInitiator Nodeます。
  • イニシエーターノードはクエリ実行プランを生成し、それを他のノードに配布します。
  • ノードは、実行プランのノード固有の詳細を入力します
  • ノードはクエリを実行します
  • (ここではいくつかのことを無視します)*
  • ノードは結果セットをイニシエーターノードに送り返します
  • イニシエーターノードはデータを収集し、最終的な集計を行います
  • イニシエーターノードはデータをクライアントに送り返します。

Verticaを介して接続するための推奨される方法は、単一ノードが障害点にならないようにロードバランサーを使用することです。Vertica自体はノード間の接続を分散せず、クエリを他のノードに分散します。

私はOracleや、システムがデータ接続プロセスを実行する方法の詳細に精通していません。うまくいけば、私はあなたが探しているもののマークからそれほど遠くないです。

/ my /の経験から、各ノードは多数の接続を処理できます。それ以上をノードに接続しようとすると、接続が拒否されます。これは、map関数で接続されたmap-reduceジョブから発生しました。

*クエリ/データ/パーティションによっては、各ノードのクエリを完了するために、バックグラウンドでデータ転送を行う必要がある場合があります。これが発生すると、クエリの速度が低下します。

于 2012-08-30T14:45:10.770 に答える