プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

キューブ計算の戦略は何ですか?


データキューブを効率的に計算するための一般的な最適化手法は次のとおりです-

  • 並べ替え、ハッシュ、グループ化 −関連付けられたタプルを並べ替えてクラスター化するには、ディメンション属性に対して並べ替え、ハッシュ、およびグループ化の操作を使用する必要があります。キューブ計算では、類似したディメンション値のセットを共有するタプル(またはセル)に集計が実装されます。したがって、そのような集計の計算を促進するために、そのようなデータにアクセスしてグループ化するための並べ替え、ハッシュ、およびグループ化サービスを調査することが不可欠です。

    たとえば、ブランチ、日、アイテムごとに総売上を評価できます。タプルまたはセルをブランチごと、つまり日ごとに並べ替えてから、アイテム名に従ってグループ化する方が効果的です。巨大なデータセットでのこのような操作の効果的な実装は、データベース研究コミュニティで広く計算されています。このような実装は、データキューブの計算に合わせて計算できます。

  • 中間結果の集約とキャッシュの同時実行 −キューブの計算では、基本ファクトテーブルからではなく、以前に計算された下位レベルの集計から上位レベルの集計を計算するのが適切です。さらに、キャッシュされた中間計算結果からの同時集計は、コストのかかるディスクI/O操作の削減につながる可能性があります。

    たとえば、支店ごとの売上を計算したり、支店や日ごとの売上を含む、下位レベルの直方体の計算から変更された中間結果を使用したりできます。この方法を拡張して、償却スキャンを実装できます(つまり、ディスク読み取りを償却するために、できるだけ多くの直方体を同時に計算します)。

  • 複数の子直方体が存在する場合の最小の子からの集計 −複数の子直方体が存在する場合、通常、以前に計算された最小の子直方体から目的の親(つまり、より一般化された)直方体を評価する方が効果的です。

    たとえば、販売直方体、C Branchを計算できます。 、以前に計算された2つの直方体が存在する場合、C {Branch、Year} およびC{Branch、Item} 、C Branchを計算することはさらに効率的です 明確な年よりも明確な項目がいくつかある場合は、後者よりも前者から。

  • Aprioriの剪定方法を検討して、氷山の立方体を効率的に計算できます −データキューブのコンテキストでのAprioriプロパティは、次のように述べています。特定のセルが最小サポートを満たさない場合、セルの子孫(つまり、より機能的または正確なバージョン)も最小サポートを満たしません。このプロパティを使用すると、氷山の立方体の計算を大幅に減らすことができます。

    氷山キューブの仕様には、氷山条件が含まれています。これは、実体化されるセルに対する制約です。一般的な氷山の条件は、セルが最小カウントまたは合計を含む最小サポートしきい値を満たす必要があることです。この場合、Aprioriプロパティを使用して、セルの子孫の探索を短縮できます。


  1. C#を学習するための前提条件は何ですか?

    C#の学習を開始するには、まずコンピューターの知識が必要です。それで、CまたはC#での事前の学習経験があれば、それは素晴らしいことです。 C#から始めるには、最初にVisualStudioをインストールします。現在のバージョンはVisualStudio2017です。 かさばるVisualStudioIDEをインストールする手間を省きたい場合は、オンラインコンパイラから始めることができます。 C#プログラムを実行するためのトップオンラインコンパイラは- コーディンググラウンド DotNetFiddle 上記は両方ともインテリジェントコンパイラです。そこに行き、C#コードを

  2. Java 9でのtry-with-resourcesの改善点は何ですか?

    リソースを試す Java 7で導入されました。これを使用する目的は、リソースを閉じることです。 使用後は自動的に。制限は、リソースがtryの前またはtryステートメント内で宣言される必要があることです。そうでない場合は、コンパイルがスローされます。 エラー 。 Java9はtry-with-resourcesを改善しました そして、tryステートメント内でオブジェクトを宣言する必要がなくなりました。 以下の例では、 try-with-resourcesを実装しています。 コンセプト。 例 import java.io.*; public class TryWithResourceTest {