1

はじめに、私はOLAPにまったく精通していないので、用語がオフになっている場合は、遠慮なく修正を提供してください。

私はOLAPについて読んでいますが、それはすべて、速度とスペースの交換に関するもののようです。ここでは、特定のディメンションによってキーオフされた、データに関する集計を事前に計算(またはオンデマンドで計算)して保存します。{男性、女性}、{1月、2月、... 12月}、{@US_STATES}などの個別の値のセットを持つディメンションでこれがどのように機能するかを理解しています。しかし、(0、1.25、3.14156、70000.23、...)のような完全に任意の値を持つディメンションはどうでしょうか。

OLAPを使用すると、ファクトテーブルにヒットするクエリで集計を使用できなくなりますか、それとも事前に計算できるものをバイパスするために使用されるだけですか?同様に、任意の値の任意の集計は、その場で実行する必要がありますか?

OLAPについてさらに学ぶことに関する他の助けをいただければ幸いです。一見すると、GoogleとSOはどちらも少し乾燥しているように見えます(他のより人気のあるトピックと比較して)。

編集:任意の値が存在するディメンションを求められました。

  • 実験の速度:1.256 m / s、-2.234 m / s、33.78 m / s
  • トランザクションの価値:$ 120.56、$ 22.47、$ 9.47
4

2 に答える 2

3

速度と値の列の例は、通常、OLAPの方法でクエリを実行するような種類の列ではありません。これらは取得しようとしている値であり、おそらく個々の行または集計として結果セットに含まれます。

しかし、私は通常言った。OLAPスキーマには、考えている列の良い例があります。event_time(2番目に粒度のある日時フィールド)。私たちのデータでは、それはほぼ一意になります-同じ秒の間に2つのイベントが発生することはありませんが、テーブルに何年ものデータがあるため、それでも数億の潜在的に離散的な値があり、 OLAPクエリでは、ほとんどの場合、時間範囲に基づいて制約する必要があります。

解決策は、David Raznickが言ったことを実行することです。つまり、値の「バケット化された」バージョンを作成します。したがって、このテーブルには、event_time列に加えて、event_time_bucketed列があります。これは単にイベントの日付であり、時間部分は00:00:00です。これにより、個別の値の数が数億から数千に減少します。次に、日付を制約するすべてのクエリで、バケット化された列と実際の列の両方を制約します(バケット化された列は実際の値を提供するのに十分な精度ではないため)。例:

   WHERE event_time BETWEEN '2009.02.03 18:32:41' AND '2009.03.01 18:32:41'
     AND event_time_bucketed BETWEEN '2009.02.03' AND '2009.03.01'

このような場合、エンドユーザーにはevent_time_bucketed列は表示されません。これは、クエリの最適化のためだけにあります。

あなたが言及したような浮動小数点値の場合、値の比較的均一な分布をもたらし、隣接性を維持する方法を選択したいので、バケット化戦略はもう少し考える必要があるかもしれません。たとえば、古典的なベルの分布(テールが非常に長くなる可能性がある)がある場合、人口の大部分が住む範囲(たとえば、平均から1または2標準偏差)を定義し、それを均一に分割しますバケットを作成し、「すべてが小さい」と「すべてが大きい」のバケットをさらに2つ作成します。

于 2009-07-29T21:43:12.693 に答える
1

このリンクは便利だと思いましたhttp://www.ssas-info.com/

Webキャストのセクションをチェックしてください。ここでは、BIとは何か、キューブを設計するためのウェアハウジング、ディメンション、計算、集計、KPI、パースペクティブなど、さまざまな側面について説明しています。

OLAPでは、集計は、クエリで使用される値を事前に計算することにより、クエリの応答時間を短縮するのに役立ちます。ただし、逆に、ベースデータとは別に集計を格納するためにより多くのスペースが必要になるため、ストレージスペースが増加します。

SQL Server Analysis Servicesには、クライアント(SQL Server Reporting Services、Excelなどのレポートクライアント)によって送信されたクエリを分析し、それに応じて集計デザインを改良することで、集計デザインを支援する使用量ベースの最適化ウィザードがあります。

これがお役に立てば幸いです。

乾杯

于 2009-07-29T19:45:37.310 に答える