2

私はまだ OLAP、キューブ、および SSAS のコツを学んでいますが、パフォーマンスの障壁にぶつかりつつあり、何が起こっているのか理解できていません。

2 つの単純なディメンション (タイプと面積)、3 つ目の時間ディメンション階層 (年 -> 四半期 -> 月 -> 日 -> 時間 -> 10 分)、および 1 つのメジャー (合計) を定義する単純なキューブがあります。 Count というフィールドで)。データベースはイベントを追跡します。発生時期、種類、発生場所などです。ファクト テーブルは、10 分間隔ごとに事前に計算されたイベントの要約です。

そこで、キューブをセットアップし、ブラウザーを使用して一度にすべての属性を表示します。年から 10 分間隔までドリルダウンして、タイプごとのエリアごとの合計数を経時的に表示します。レポートのパフォーマンスは、ブラウズと似ています。

ほとんどの場合、それは十分にきびきびしています。しかし、ドリル ツリーを深く掘り下げるほど、各レベルを表示するのに時間がかかります。最後に、分レベルでは、わずか 6 件のレコードを表示するのに 20 分ほどかかるようです。しかし、その後、他の分レベルのドリルダウンを待機なしで表示できることに気付きました。その時点で、キューブはテーブル全体を計算しているように見えます。これが非常に時間がかかる理由です。

理解できない。すべてのデータを集計する必要があるため、Quarters または Years に移動すると、最も時間がかかると予想されます。約 180 セル (6 間隔、10 種類、3 領域) まで大幅にフィルター処理された最も低いメトリックに行くと、最速になるはずです。キューブが表示されているサブセットだけでなく、データセット全体を処理するのはなぜですか? 集計の最高レベルが非常に速く、最低レベルが非常に遅いのはなぜですか?

最も重要なことは、それを改善するために構成または設計によってできることはありますか?

これは、SQL Server 2005 で実行され、BI 設計に Visual Studio 2005 を使用する SSAS 2005 です。キューブは (デフォルトで) 完全な MOLAP に設定されていますが、分割されていません。ファクト テーブルには 1,838,304 行あるため、これはクレイジーなエンタープライズ データベースではありませんが、単純なテスト データベースでもありません。パーティショニングはなく、すべての SQL は 1 台のサーバーで実行され、ワー​​ク ステーションからリモート アクセスします。

4

3 に答える 3

0

分レベルで見ると、曜日に関係なく、12:00から12:10までのすべてのイベントについて話しているのですか?

より高速にする必要がある場合(明らかにすべてをスキャンするため)、「時間」ディメンションの2つの部分を直交させる必要があります。つまり、日付ディメンションと時間ディメンションを作成します。

1/1/190012:00から1/1/190012:10を取得している場合、それが何であるかわかりません...

于 2010-07-07T20:58:41.743 に答える
0

また、SQL Server 2005 の最新の SP を実行していることを確認します。

RTM バージョンには、いくつかの SSAS パフォーマンスの問題がありました。

また、時間ディメンションやその他のディメンションにも属性関係が正しく定義されていることを確認してください。

これらの関係が定義されていないと、SSAS ストレージ エンジンは必要以上のデータをスキャンします。

詳細: http://ms-olap.blogspot.com/2008/10/attribute-relationship-example.html

前述のように、日付と時刻を分割すると、日付ディメンションのカーディナリティが大幅に減少し、パフォーマンスが向上し、分析エクスペリエンスが向上します。

于 2010-07-09T04:12:01.243 に答える
0

キューブの集計が正しいことを確認しましたか? 簡単に言うと、どのドリル ツリーを下っても同じ量のレコードを取得できます。

これが当てはまらないと仮定すると、日付ディメンションと時間ディメンションを作成することについて Cade が提案することは、最も明白なアプローチですが、SSAS では 1 つの大きな禁止事項です。詳細については、次の記事を参照してください: http://www.sqlservercentral.com/articles/T-SQL/70167/

お役に立てれば。

于 2010-07-07T21:16:28.473 に答える