Dimensi dan Fakta untuk entitas yang sama?

8

Saya agak baru di desain DW dan saya sedang mengerjakan DW untuk memodelkan beberapa infrastruktur TI.

Masalah / pertanyaan utama pada saat ini adalah bagaimana memodelkan informasi drive.

Kami akan mengumpulkan data agregat pada file dan folder, dan memisahkan data pada drive fisik. Info drive akan menyertakan total dan ruang kosong minimum dan akan diperbarui beberapa kali seminggu.

Salah satu pertanyaan bisnis yang perlu dijawab adalah bagaimana penggunaan drive menjadi tren dari waktu ke waktu. Informasi drive juga akan digunakan dalam hierarki yang mengarah ke tingkat file / folder juga.

Opsi yang bisa saya lihat sekarang adalah:

  1. Terapkan DRIVEsebagai Dimensi

    • Menyederhanakan desain hierarki
    • Apakah ini akan menyebabkan masalah dengan pelaporan? Tampaknya kontra-intuitif bagi saya untuk melaporkan data terikat waktu hanya pada dimensi
    • Tampaknya juga bermasalah untuk memiliki dimensi yang Anda TAHU akan berubah setiap kali Anda menyegarkan data Anda
  2. Terapkan DRIVEsebagai Tabel Fakta

    • Menyederhanakan pelaporan
    • Komplikasi hierarki (?) - Saya akan menggunakan Driveuntuk memetakan data kembali ke server atau komputer tertentu juga. Apakah boleh menggunakan tabel fakta sebagai tingkat menengah dalam hierarki? Saya kira tidak.
  3. Terapkan DRIVEsebagai Fakta dan Dimensi

    • Fakta hanya akan berisi kunci, tanggal, dan fakta di ruang angkasa
    • Dimensi akan mencakup data non-aditif lainnya seperti apa komputer itu aktif, dll.
    • Tampaknya menyelesaikan kedua masalah, tetapi apakah ini anti-pola?
JNK
sumber

Jawaban:

6

Saya berharap saya akan memiliki tabel fakta drive_usage dengan tautan ke dimensi waktu snapshot, dimensi drive, dimensi komputer dan berbagai fakta numerik tentang drive pada saat itu.

Mungkin seharusnya tidak ada yang berubah secara teratur dalam dimensi drive - saya kira itu tergantung pada definisi drive Anda - apakah itu drive fisik atau unit logis atau apa. Mungkin drive "C" Anda memiliki nomor seri, dan itu diganti - maka dimensi akan kedaluwarsa dan dimensi baru ditambahkan. Hal-hal tentang dimensi ini tidak benar-benar "fakta", mereka adalah atribut. Ini tidak akan mempengaruhi pelaporan karena data untuk komputer X, drive C memiliki kontinuitas. Demikian pula jika komputer X ditingkatkan dari dual core ke quad core dan ada perubahan pada dimensi (dengan asumsi sesuatu di luar jumlah core tidak dilacak dalam tabel fakta, seperti revisi motherboard). Kapasitas drive akan berada di tabel fakta, sehingga perubahan yang seiring waktu hanyalah fakta baru dengan tanggal baru. Terkadang Anda bahkan dapat memodelkan perubahan keanggotaan sebagai fakta. yaitu jika drive fisik 1-5 berada di drive logis C suatu hari dan kemudian drive fisik 1-6 berada di drive logis C berikutnya, itu mungkin hanya perubahan fakta dalam tabel fakta keanggotaan drive fisik. Inilah yang oleh beberapa orang disebut tabel fakta tanpa fakta, karena satu-satunya fakta adalah keberadaan barisan menunjukkan keanggotaan - tidak ada banyak yang harus dilakukan kecuali menjumlahkan atau menghitung.

Ketika Anda masuk ke folder, pemodelan hierarki bisa menjadi jauh lebih rumit tergantung pada apa yang Anda coba capai dengan rollup.

Ada banyak seni pemodelan DW di domain yang tidak skenario run-of-the-mill.

Cade Roux
sumber