問題タブ [olap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
545 参照

sql - ASSLスクリプトを使用したAnalysisServicesデータベースの展開/作成

ASSLスクリプトを使用してAnalysisServicesデータベースとして展開しようとしています。

ManagementStudioで「scriptas」を使用してスクリプトを作成できます。しかし、このスクリプトを実行する方法がわかりませんか?

0 投票する
3 に答える
301 参照

sql-server - (ほぼ) リアルタイムの多次元データ クエリへのアプローチを理解するのに役立ちます

多数の関連テーブルを含むシステムがあります。標準的なカテゴリ/製品/注文/顧客/注文商品のシナリオを考えてみてください。一部のテーブルは自己参照型です (カテゴリなど)。特に大きなテーブルはありません (約 100,000 行で、推定スケールは約 100 万行です)。このデータには考慮する必要がある多くのディメンションがありますが、ほぼリアルタイムでクエリを実行する必要があります。また、特定のユーザーがどのディメンションに関心を持っているかもわかりません。それは、多数のテーブルにわたる 1 つまたは複数の基準である可能性があります。物事の範囲は次のとおりです。

  1. ジャケットのカテゴリですべて教えてください
  2. 先月ニューヨークで購入した赤い色のジャケット->パーカーのカテゴリをすべて教えてください
  3. 100ドル以上するニューヨーク以外で購入したものをすべて私にください。

現在、「カスケード データ」アプローチを使用する非常に長い SP があります。テーブルごとに移動し、そのテーブルに指定された基準を使用して、すべてを一時テーブルにフィルター処理します。次のテーブルでは、現在の一時テーブルを使用しているテーブルに結合し、新しいフィルター セットを新しい一時テーブルに適用します。動作しますが、管理性とパフォーマンスが低下します。もっといいものが必要です。

この問題に対する新しいアプローチが必要です。おそらくスター スキーマを使用して、明らかに OLAP が必要です。これはリアルタイムで機能しますか?リアルタイムで動作するように構成できますか? 非正規化テーブルのセットを作成するには、インデックス付きビューを使用する必要がありますか? これをデータベースの外部に完全にオフロードする必要がありますか?

参考までに、Sql Server を使用しています。

0 投票する
2 に答える
3796 参照

algorithm - OLAP Internals について何か知っている人はいますか?

データベースの内部について少し知っています。私は以前、ディスク上の ISAM 構造や BTree インデックスなどを使用して、小さくて単純なリレーショナル データベース エンジンを実装したことがあります。楽しかったし、とても勉強になりました。RDBMS が内部でどのように機能するかについて少し理解できたので、データベース スキーマを慎重に設計し、クエリを作成することについて、以前よりもはるかに理解できるようになりました。

しかし、私は多次元 OLAP データ モデルについて何も知りません。また、インターネット上で有用な情報を見つけるのに苦労しました。

情報はどのようにディスクに保存されますか? キューブを構成するデータ構造は? MOLAP モデルがテーブルを使用せず、列とレコードを使用する場合は、どうすればよいでしょうか? 特に高次元データでは、どのような種類のデータ構造が MOLAP モデルを効率的にするのでしょうか? MOLAP 実装は、RDBMS インデックスに類似したものを使用しますか?

OLAP サーバーがアドホック クエリの処理に優れているのはなぜですか? 通常のリレーショナル データベースでは処理に数時間かかる可能性のある集計と同じ種類の集計が、OLTP キューブでは数ミリ秒で処理できます。それを可能にするモデルの根底にあるメカニズムは何ですか?

0 投票する
3 に答える
10203 参照

sql - レポート クエリ: 複数のファクト テーブルを結合する最良の方法は?

私は、ユーザーが一連のファクト テーブルに対して任意にクエリを実行できるようにするレポート システムに取り組んでおり、ファクト テーブルごとに複数のディメンション テーブルを制限しています。制約パラメーターに基づいてすべての正しい結合とサブクエリを自動的にアセンブルするクエリ ビルダー クラスを作成しましたが、すべてが設計どおりに機能します。

しかし、私は最も効率的なクエリを生成していないと感じています。数百万件のレコードを含む一連のテーブルでは、これらのクエリの実行に約 10 秒かかります。1 秒未満の範囲に収まるようにしたいと考えています。サブクエリを取り除くことができれば、結果ははるかに効率的になると感じています。

実際のスキーマ (はるかに複雑です) を示すのではなく、アプリケーションとデータ モデル全体を説明することなく、要点を説明する類似の例を示します。

アーティストと会場を含むコンサート情報のデータベースがあるとします。ユーザーは、アーティストと会場を任意にタグ付けできます。したがって、スキーマは次のようになります。

ものすごく単純。

ここで、今日から 1 か月以内に開催されるすべてのコンサート、「cheap-beer」および「great-mosh-pits」タグでコンサートに出演する「テクノ」および「トロンボーン」タグを持つすべてのアーティストについて、データベースにクエリを実行するとします。 .

私が思いついた最高のクエリは次のようになります。

クエリは機能しますが、これらの複数のサブクエリを使用するのは本当に好きではありません。純粋に JOIN ロジックを使用して同じロジックを実現できれば、パフォーマンスが大幅に向上すると感じています。

完璧な世界では、実際の OLAP サーバーを使用することになります。しかし、私の顧客は MySQL、MSSQL、または Postgres にデプロイする予定であり、互換性のある OLAP エンジンが利用できるとは保証できません。そのため、スター スキーマを持つ通常の RDBMS を使用することに行き詰まっています。

この例の詳細にあまりこだわらないでください (私の実際のアプリケーションは音楽とは何の関係もありませんが、ここで示したものと類似した関係を持つ複数のファクト テーブルがあります)。このモデルでは、「artist_tag」テーブルと「venue_tag」テーブルがファクト テーブルとして機能し、それ以外はすべてディメンションです。

この例では、ユーザーが単一の artist_tag またはvenue_tag 値に対してのみ制約できるようにすると、クエリの記述がはるかに簡単になることに注意することが重要です。複数の異なるタグを必要とする AND ロジックをクエリに含めることを許可する場合にのみ、非常に扱いにくくなります。

私の質問は、複数のファクト テーブルに対して効率的なクエリを作成するための、あなたが知っている最良の手法は何ですか?

0 投票する
0 に答える
3346 参照

sql-server-2005 - SQL Server 分析の質問 - キューブが壊れて、そこにある列が見つからないと主張する

SSAS を自分で学ぼうとしていますが、キューブの問題を理解するのに苦労しています。単一のテーブルでレポートを作成したいデータベース プロジェクトがあります。これが少し変わっていることは承知していますが、これは比較的単純なモデルであり、データはすでにその 1 つのテーブルに正規化されています。ディメンションとして機能する 2 つの列 (オークション終了時間と商品タイプ) があります。販売されたアイテムの数や販売価格など、いくつかの測定値があります。SSAS でキューブとディメンションを設定して処理すると、問題なく動作し、キューブを参照できるようになりました。SAS または作成した SSRS レポートからキューブを参照できます。

ただし、後で戻ってきた場合、キューブを更新できなくなります。新しい行がありますが、キューブをサポートするテーブルのスキーマは変更されていません。SSAS 内で「キューブを処理」すると、次のエラーが発生します。

OLAP ストレージ エンジンのエラー: 属性キーが見つかりません: テーブル: dbo_ScrapedAuction、列: Id、値: 76878。OLAP ストレージ エンジンのエラー: 属性キーが見つからなかったため、レコードはスキップされました。属性: ディメンションの ID: データベースからのスクラップ オークション: SSAS、キューブ: Ebay スクレイパー、メジャー グループ: スクラップ オークション、パーティション: スクラップ オークション、レコード: 2913。処理中に、操作に対して定義された許容エラーの制限に達しました。OLAP ストレージ エンジンのエラー: SSAS データベースからの 'Ebay Scraper' キューブの 'Scraped Auction' メジャー グループの 'Scraped Auction' パーティションの処理中にエラーが発生しました。

間違いなくテーブル [dbo].[ScrapedAuction] があり、まだ [Id] 列があり、テーブルには ID 76878 でクエリできる行があります。 ? キューブを再作成することでこれを回避します...これは、実稼働システムの実際のソリューションではありません。

0 投票する
1 に答える
1077 参照

sql-server - SQL Server Analysis Services と OLAP の開発者ガイド

SqlBatman からのこの投稿は、私の現在のクライアントと同様の状況を説明しており、実際には、パフォーマンスへの影響のために夜間処理に移行した大量のレポートに依存している多くの企業を示しています。

クライアントを支援するために、Analysis Services 全般、特に OLAP キューブの使用を開始するにはどうすればよいですか?

0 投票する
1 に答える
1842 参照

c# - ローカル キューブの構築

Excel を使用するクライアント用にローカルの .cub ファイルを作成する必要があります。

私はいくつかのVBコードを集めましたが、失敗します:

これを上記のコードに切り詰めましたが、OLE DB error: OLE DB or ODBC error.実行しようとすると不思議な ".

上記のヘルプまたはこれにアプローチする別の方法に関する提案は、私に大歓迎です。

0 投票する
1 に答える
1035 参照

sql-server - MSSQLServer 分析キューブへの読み取り専用アクセスをセットアップする正しい方法は何ですか?

サーバーでデータベース権限を「フル コントロール」に設定しない限り、キューブからデータを取得できないようです。Microsoft SQL Server 分析サーバーでキューブに読み取りアクセス (のみ) を与える正しい方法は何ですか?

0 投票する
1 に答える
1050 参照

sql-server - SQL Server Analysis Services での大規模な結果セットの処理

記事構造製造業者に関するデータを含むデータベースがあります。記事が 1 つのメーカーと N 個の構造ノード (記事分類ノードと考えてください) にリンクされていることを意味します。

多くの条件で T-SQL を使用して記事をクエリすることは、現在、適切なハードウェアと適切にインデックス付けされたテーブルを使用しても、e ショップで使用するには遅すぎます。(1 秒未満である必要があります)。ここで、OLAP キューブを介してこのデータにアクセスすることに意味があるのだろうかと考えています。私はすでに次のような集計を取得するものを開発しました:ノードYの下に再帰的に存在するメーカーXの記事はいくつありますか?

これらの集計は非常に高速です。Cube を介して記事と結果のセット全体を取得することも理にかなっているのだろうかと思います。意味:ノード Y の下に存在するメーカー X のすべての記事 ID を再帰的に教えてください。結果セットは非常に大きくなる可能性があるため、クエリにはさらに時間がかかります..

したがって、私の質問は、SSAS で大きな結果セットを処理する方法はありますか、それともこれは私が取っている方向がまったく間違っているのでしょうか?

0 投票する
2 に答える
988 参照

olap - BI はデータ マイニングとどのように関連していますか?

BI をデータ マイニングに接続する方法について少し混乱しています。BI は、データ マイニングのある種の顕現と呼ぶことができますか?

Microsoft Analysis Services のような BI ツールと Weka のようなデータ マイニング ツールの違いは何ですか?

BI には、データのレポートと分析がより多く含まれていると思います。データは何らかの集計を受け、キューブの形で表されますが、データ マイニングには、クラスタリングを実行するためのさまざまなアルゴリズムも含まれますね。

ポインタはありますか?

乾杯