プログラマ38の日記

主にプログラムメモです。

DWH

DWH/SQL: データマートの作り方メモ

DWHで使い勝手を向上するため、粒度の異なる複数のファクトを加工して1つのデータマートを作成する時があります。 例えば、次のようなデータマートを作成します。 インプットデータ 商品別、年月別の見込みデータがある。 商品別、年月日別で実績データがあ…

DWH: データモデル(9.1から8にとらわれすぎない。)

DWH

この記事は、前回書いたデータモデリングの9つのことのラストです。 crmprogrammer38.hatenablog.com 思うことを書いてきましたが、データモデルのシンプルでわかりやすいガイドラインとしてスタースキーマモデルがあると思います。 1つ1つ場合分けをして…

DWH: データモデル(8.ナチュラルキーを基本とし、サロゲートキーはピンポイントで使う。)

DWH

この記事は、前回書いたデータモデリングの9つのことの8つ目です。 crmprogrammer38.hatenablog.com DWHでは、サロゲートキーを使う場合があると思います。 個人的にサロゲートキーをポイントを絞ったほうがいいように感じています。 というのは以下のよう…

DWH: データモデリング(7.先週との比較値、先月との比較値、前年との比較値などは、BIツールの機能を利用する。(機能がないならデータマートを作ろう))

DWH

この記事は、前回書いたデータモデリングの9つのことの7つ目です。 crmprogrammer38.hatenablog.com ハイエンドのBIツールは、複数のファクトの検索結果をBIツール側で結合する機能を持っています。 その機能を利用すると、データマートをたくさん用意する…

【DWH】データモデリング (6.ファクトは極限まで小さくする。)

DWH

この記事は、前回書いたデータモデリングの9つのことの6つ目です。 crmprogrammer38.hatenablog.com ファクトテーブルは、DWHでは一番件数が多くなるテーブルなので、1レコードで数バイトの違いが、最終的に数ギガバイトの違いになって現れてきます。 なの…

DWH: データモデリング (5.ディメンションを大きくし過ぎない。)

DWH

この記事は、前回書いたデータモデリングの9つのことの5つ目です。 crmprogrammer38.hatenablog.com この辺りからは、ゆるくモデリングしようよという内容になっています。 ディメンションと結合するのはファクトだけで、ディメンションからさらにディメン…

【DWH】データモデリング (4.結合するキーは極力サイズを小さくする。)

DWH

この記事は、前回書いたデータモデリングの9つのことの4つ目です。 crmprogrammer38.hatenablog.com 件数が多ければ多いほど結合の処理時間がかかってきます。 なので、物理的に問題がないなら結合するキー項目のサイズを極力小さくします。 具体的には、 …

DWH: データモデリング (3.ヘッダと明細の構成のファクトは1つのファクトに結合する。)

DWH

この記事は、前回書いたデータモデリングの9つのことの3つ目です。 crmprogrammer38.hatenablog.com ヘッダテーブルと明細テーブルの構成でトランザクションを構成する場合は多いと思います。 そういう時は、ヘッダテーブルと明細テーブルを結合して1つの…

DWH: データモデリング (2.ディメンションとファクトは、内部結合にする。)

DWH

この記事は、前回書いたデータモデリングの9つのことの2つ目です。 crmprogrammer38.hatenablog.com 安定した性能にするなら内部結合です! DWHだと、ファクトの件数が多くて、ディメンションの項目に指定された検索条件を元に、一番最適なファクトの絞…

DWH: データモデリング (1.ディメンションとファクトは、物理的に1:Nで結合する。)

DWH

この記事は、前回書いたデータモデリングの9つのことの1つ目です。 crmprogrammer38.hatenablog.com まず、物理的に1:Nで結合するという点について以下を示しています。 ・ディメンションとファクトで結合する際に、ディメンション側の結合キーはユニー…

DWH: スタースキーマをベースにあらためて考えてみたデータモデリングの9つのこと

DWH

DWHのデータモデルでとても有名な"スタースキーマ"。 でも、アプライアンスDBを導入したんだからきちんと正規化した方が後々使いやすいといった意見もあったりします。 私は、スタースキーマはとてもシンプルでわかりやすく、そして結合が少なくて使いやすい…

DWH: BI/DWHのプロジェクトの作業で思うこと

DWH

私の経験として、BI/DWHのプロジェクトは他の業務パッケージのプロジェクトに比べて難しくて失敗しやすいなーと考えています。 明確に、なぜ失敗しやすいのかといった分析結果があるのかもしれませんが、個人的に思うことをつらつらと書いていこうと思います…