タグ付けされた質問 「dimensional-modeling」

3
Datawarehouse Design:結合された日付時間ディメンションと、個別の日付および時間ディメンションとタイムゾーン
新しいデータウェアハウスの設計を開始したばかりで、日付と時刻のディメンションがどのように機能するかを設計しようとしています。複数のタイムゾーン(おそらく少なくともGMT、IST、PST、EST)をサポートできる必要があります。最初は、おそらく15分の粒度まで1つの広い日付時刻ディメンションを組み合わせると考えていました。これにより、ファクトテーブルに1つのキーがあり、サポートされるすべてのタイムゾーンのすべての異なる日付時刻データが1つのディメンションテーブルに含まれます。(つまり、日付キー、GMT日付、GMT時間、IST日付、IST時間など...) キンボールは、テーブルが大きくなりすぎないように(データウェアハウスツールキットp。240)、時間ディメンションとは別の日ディメンションを使用することを推奨していますが、これは、各タイムゾーンのファクトテーブルに2つのキーがあることを意味します。サポートする必要があります(1つは日付用、もう1つは時刻用)。 私はこの領域で非常に経験が浅いので、誰かが2つのアプローチ間のトレードオフ、つまりパフォーマンスとすべての異なるタイムゾーンキーの管理のトレードオフを知っていることを望んでいます。おそらく他のアプローチもあるかもしれませんが、ファクトテーブルにタイムゾーンごとに別の行があることを話している人を見たことがありますが、ファクトテーブルが数百万の行である場合、タイムゾーンを追加するためにそれを4倍にする必要があるという問題のようです。 15分の粒度を使用すると、日付時刻ディメンションテーブルに1年あたり131,400(24 * 15 * 365)行が含まれます。これは、パフォーマンスにとってそれほどひどく聞こえませんが、いくつかをテストするまで確実にはわかりません。プロトタイプクエリ。ファクトテーブルに個別のタイムゾーンキーがあることの他の問題は、クエリが目的のタイムゾーンに基づいてディメンションテーブルを別の列に結合する必要があることです。これはおそらくSSASが処理しますが、よくわかりません。 どんな考えにも感謝します、-Matt

6
Redshiftでの次元モデリングとETL
私はデータウェアハウスの将来の代替品として、AmazonのRedshiftデータベースを調査しています。私の経験は常に次元モデリングとRalph Kimballの方法を使用してきたので、Redshiftが自動インクリメント列のシリアルデータ型などの機能をサポートしていないのを見るのは少し奇妙でした。 ただし、スタースキーマ用にRedshiftを最適化する方法についてのAWSビッグデータブログからのこの最近のブログ投稿があります:https : //blogs.aws.amazon.com/bigdata/post/Tx1WZP38ERPGK5K/Optimizing-for-Star-Schemas -Amazon-Redshiftでインターリーブされたソーティング Redshiftでスタースキーマをロードするためのベストプラクティスは何ですか?これがRedshiftのドキュメントで解決されていません。 私はS3からステージングテーブルにファイルをインポートし、SQLを使用してルックアップなどの変換を行い、宛先テーブルに挿入する前に代理キーを生成することに傾倒しています。 これは他の人が現在行っていることですか?これを簡単にするためのお金の価値があるETLツールはありますか?

2
ファクトテーブルの粒度に関する私の理解は正しいですか?
私と私たちの会社の別のDBAは、ベンダーが開発したデータベース設計のレビューを担当しています。ベンダーは、設計の基礎としてキンボールを使用すると述べています。(注:私はキンボール対インモンなどの議論を探しているわけではありません)彼らは複数の事実と次元を持つマートを設計しました。 公平に言えば、当社は単一のマートを設計したことはありません。私たちは常にコンサルタントにやってもらいました。そして、私たちはクラスや何かに送られたことがありません。したがって、倉庫/マート/次元モデリングなどに関する私たちの知識は、私たちが持っているほとんどの経験、インターネットで見つけることができるもの、および自読に基づいています(私たちはInmonとKimballの本を持っており、それらを通り抜けようとしています) 。 ステージは私の知識レベルに設定されたので、デザインの課題に向かいます。 「請求損失統計」と呼ばれるファクトテーブルがあります(これは保険用です)。そして、彼らは請求の支払い(毎月のレベルまでロールアップ)と準備金(請求の銀行口座のようなもの)の両方をキャプチャしようとしています。彼らは、毎月の支払い額を確認したいと考えています(重要ではありません)。しかし、彼らは準備金の口座の現在の残高を見たいと思っています。 絵の例をあげます。 クレームの準備金として1000米ドルを設定したとしましょう。これは脇に置かれます(そのため、いくつかの点で銀行口座のように機能します) 2014年10月には、まだ何も支払いません。したがって、企業は10月末の支払いと準備残高を確認したいと考えています。 ----------------------------------------------- - MONTH_YEAR - PAYMENTS - RESERVE_BALANCE - ----------------------------------------------- - 102014 - 0.00 - 1000.00 - ----------------------------------------------- その後、11月がやってきます。100ドル、150ドル、75ドルの支払いを行います。彼らは、以下のように、それらの合計額と残高の準備金を確認したいと考えています。 ----------------------------------------------- - MONTH_YEAR - PAYMENTS - RESERVE_BALANCE - ----------------------------------------------- - 102014 - 0.00 - 1000.00 - ----------------------------------------------- - 112014 - 325.00 - 675.00 - …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.