0

Google Dremelのホワイト ペーパーを読んでいます。複雑なデータを列状のデータレイアウトに変換することを知りました。

このデータはどの場所に保存されますか?

Drill には中央のメタデータ リポジトリがないため、in-memoryにある必要があると思います。

したがって、何十億もの行がある場合、Drill はこのデータをどのように処理するのでしょうか?

4

1 に答える 1

2

数十億行から完全で一貫したクエリ結果を取得するには、複数のドリルビットに接続された分散ファイル システムを使用するか、各ノードにファイルをコピーして分散ファイル システムをシミュレートするか、Amazon Elastic File System などの NFS ボリュームを使用します。Drill は、次のようなさまざまな手法を使用して、ビッグ データのパフォーマンスの高いクエリを実行します。

  • クラスター ノードに依存して障害を処理します (障害関連のタスクに時間を費やしません)。
  • 階層的で列指向のメモリ内データ モデルを使用します (分析クエリに関係しない列についてはディスクにアクセスせず、行の実体化なしで列指向のデータを処理します)。
  • カラムナ ストレージの最適化と実行を使用します (メモリ フットプリントを低く保ちます)。
  • ベクトル化を使用して、一度に 1 つのレコードからの単一の値ではなく、異なるレコードからの値の配列を処理します。

詳細については、http://drill.apache.org/docs/performance/ を参照してください

于 2015-08-28T17:56:58.510 に答える