問題タブ [data-warehouse]
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.
database - 200 億行/月 - Hbase / Hive / Greenplum / What?
データ ウェアハウス システムの適切なソリューションを選択するために、あなたの知恵を活用したいと思います。問題をよりよく理解するための詳細を次に示します。
データは、1 つの BIG ファクトと最大 15 のディメンションを持つスター スキーマ構造で編成されます。
1 か月あたり 200 億のファクト行
10 次元で 100 行 (ある程度の階層)
5 次元で数千行
2 次元で ~200K 行
2 つの大きな次元で 50M ~ 100M 行
この DB に対して実行される 2 つの典型的なクエリ
dimq の上位メンバー:
タプル対策:
質問:
- そのようなクエリを実行するのに最適なプラットフォームは何ですか
- 必要なハードウェアの種類
どこでホストできますか (EC2?)
(現時点では、インポートと読み込みの問題は無視してください)
Tnx、
ハガイ。
data-warehouse - Datamart と Reporting Cube の違いは何ですか?
用語はいたるところで使用されており、明確な定義を知りません。私は、データマートが何であるかを知っていると確信しています。また、Business Objects や Cognos などのツールを使用してレポート キューブを作成しました。
また、データマートは単なるキューブの集まり以上のものであると言う人もいます。
また、データマートはレポート キューブであり、それ以上のものではないと言う人もいます。
あなたが理解している違いは何ですか?
sql - ファクト/薄暗いテーブルの時間値
FactテーブルとDimテーブルを設定し、時間値を設定するための最良の方法を見つけようとしています。AdventureworksDWは、DimTimeテーブルの各時間エントリにタイムキー(UID)を使用します。代わりに時間値、つまり0106090800(私の粒度は1時間ごと)を使用するべきではない理由があるのだろうか?
sql - データ ウェアハウス - 営業時間
私はデータ ウェアハウスに取り組んでおり、最終的には、営業時間に基づいてレポートを作成する必要があります。現在、私の時間ディメンションは時間単位です。「営業時間」のビット フィールドを含めるように時間ディメンションを変更する必要があるのか、それとも分析の最後に何らかの計算メジャーを作成する必要があるのか疑問に思っています。超壮大な例はありますか?
sql - SQLキューブ処理ウィンドウ
Dim Tables、Fact Tables、ETL、およびキューブがあります。現在、キューブが過去2か月分のデータのみを保持していることを確認しようとしています。これは、ファクトテーブルに2か月のデータのみを保持させ、「完全なプロセス」を実行することによって実行する必要がありますか、それともキューブから古いデータを削除する方法がありますか?
sql - MDX イベント間の時間の計算
4 つのファクト/ディム テーブルからデータを取得するキューブがあります。
FactCaseEvents (EventID,CaseID,TimeID)
DimEvents (EventID, EventName)
DimCases (CaseID,StateID,ClientID)
DimTime (TimeID,FullDate)
イベントは次のとおりです。CaseReceived,CaseOpened,CaseClientContacted,CaseClosed
DimTime は 1 時間ごとのエントリを保持します。
CaseRecievedToCaseOpenedOver5
" " と " " のCaseClientContactedToCaseClosedOver5
2つの列を取得する MDX ステートメントを作成したいと考えています。
CaseRecievedToCaseOpenedOver5
CaseReceived
と の間で5 時間以上の時差があったケースの数を保持しCaseOpened
ます。
" CaseRecievedToCaseOpenedOver5
" と " CaseClientContactedToCaseClosedOver5
" は計算されるメンバーになると思いますが、それらを作成する方法を理解するのに助けが必要です。
前もって感謝します。
sql - SQL2000キューブをSQL2005に移動する
SQL2000にあるキューブをSQL2005に移動するタスクがありました。ディメンションとメジャーはすべて1つのテーブルから取得されているように見えます。これはSQL2005で可能ですか、それともデータを複数のDim / Factテーブルに再構築する必要がありますか?SQL2000キューブをSQL2005に簡単に移動する方法はありますか?
sql - 常に Dim テーブルを作成する必要がありますか?
2 つの値 (占有/空) のいずれかを保持する列を持つファクト テーブルがあります。これには Dim テーブルを作成する必要がありますか?