proprietar din depozitul de date trebuie să decidă cum să răspundă la schimbările din descrierile de entitățile dimensionale ca Angajat, Client, Produs, Furnizor, Locație și altele. În 30 de ani de studiere a acestei probleme, am constatat că sunt necesare doar trei tipuri diferite de răspunsuri. Eu numesc aceste dimensiuni lent schimbare (SCD) tipuri 1, 2 și 3. În coloana de luna trecută, am descris tipul 1, care suprascrie informațiile modificate în dimensiune., În această coloană descriu tipurile 2 și 3.
tip 2: Adăugați o nouă dimensiune de înregistrare
să modifice scenariul din coloana anterioară în cazul în care am suprascris câmpul Orașul de origine în înregistrare angajat Ralph Kimball să presupunem că Ralph Kimball fapt mutat de la Santa Cruz la Boulder Creek iulie 18, 2008. Să presupunem că Politica noastră este de a urmări cu exactitate adresele de domiciliu ale angajaților din depozitul de date. Aceasta este o schimbare clasică de tip 2.
tip 2 SCD necesită să emită un nou record angajat pentru Ralph Kimball eficiente 18 iulie 2008., Acest lucru are multe efecte secundare interesante:
- tipul 2 necesită generalizarea cheii primare a dimensiunii angajaților. Dacă cheia naturală a angajatului lui Ralph Kimball este G446, atunci acea cheie naturală va fi „lipiciul” care ține înregistrările multiple ale lui Ralph Kimball împreună. Nu recomand crearea unei chei primare inteligente pentru SCD-urile de tip 2 care conțin cheia naturală literală. Problemele cu tastele inteligente devin deosebit de evidente dacă integrați mai multe sisteme de resurse umane incompatibile cu chei naturale formatate diferit., Mai degrabă, ar trebui să creați chei primare complet artificiale care sunt pur și simplu numere întregi atribuite secvențial. Noi numim aceste chei surogat chei. Trebuie să faceți o nouă cheie primară surogat ori de câte ori procesați o modificare de tip 2 într-o dimensiune.
- în plus față de cheia surogat primar, vă recomandăm să adăugați cinci câmpuri suplimentare la o dimensiune care este în curs de procesare de tip 2. Aceste câmpuri sunt prezentate în Figura 1. Datetimes sunt timbre cu normă întreagă care reprezintă intervalul de timp între când schimbarea a devenit efectivă și când următoarea schimbare devine efectivă., End-effective-datetime a unei înregistrări dimensiune de tip 2 trebuie să fie exact egală cu begin-effective-datetime a următoarei modificări pentru acel membru Dimensiune. Cea mai actuală înregistrare Dimensiune trebuie să aibă un end-effective-datetime egal cu un datetime fictive departe în viitor. Textul motivului pentru schimbare ar trebui să fie extras dintr-o listă preplanificată de motive pentru o schimbare, în exemplul nostru, la atributele angajatului. În cele din urmă, steagul curent oferă o modalitate rapidă de a izola exact setul de membri de dimensiune care este în vigoare în momentul interogării., Aceste cinci câmpuri administrative permit utilizatorilor finali și aplicațiilor să efectueze multe interogări puternice.
- cu o dimensiune supusă procesării de tip 2, trebuie să aveți mare grijă să utilizați tastele surogat contemporane corecte din această dimensiune în fiecare tabel de fapte afectate. Acest lucru asigură că profilurile de dimensiuni corecte sunt asociate cu activitatea tabelului de fapte. Procesul de extragere, transformare și încărcare (ETL) pentru alinierea tabelelor de dimensiuni cu tabele de fapte la momentul încărcării se numește conducta cheie surogat și este acoperit pe larg în articolele și cărțile mele.,
Tip 3: Adăugați un Câmp Nou,
Deși Tipul 1 și 2 SCDs sunt principalul cal de povară tehnici pentru a răspunde la schimbări într-o dimensiune, avem nevoie de o a treia tehnica de manipulare realități alternative. Spre deosebire de atributele fizice care pot avea o singură valoare la un moment dat, unele atribute atribuite de utilizator pot avea în mod legitim mai multe valori atribuite în funcție de punctul de vedere al Observatorului. De exemplu, o categorie de produse poate avea mai multe interpretări., Într-un magazin de papetărie, un stilou de marcare ar putea fi atribuit categoriei de bunuri de uz casnic sau categoriei de articole de artă. Utilizatorii finali și aplicațiile trebuie să poată alege la momentul interogării care dintre aceste realități alternative se aplică.
cerința pentru o vizualizare alternativă a realității unui atribut de dimensiune este de obicei însoțită de o cerință subtilă ca versiuni separate ale realității să fie disponibile în orice moment în trecut și în viitor, chiar dacă cererea de a face vizibile aceste realități a ajuns astăzi la depozitul de date.,în cea mai simplă variantă, există o singură realitate alternativă. În acest caz, pentru exemplul categoriei de produse, adăugăm un câmp nou în dimensiune, probabil numit categorie alternativă. Dacă categoria principală a stiloului nostru de marcare era bunuri de uz casnic și acum ar trebui să fie bunuri de artă, atunci într-un tratament de tip 3, împingem eticheta bunurilor de uz casnic în câmpul categoriei alternative și actualizăm câmpul categoriei obișnuite cu bunuri de artă prin suprascriere. Pasul de suprascriere este similar cu un tip 1 SCD și provoacă toate aceleași avertismente în coloana de luna trecută.,cu utilaje de tip 3 în loc, utilizatorii finali și aplicațiile pot comuta fără probleme între aceste realități alternative. Dacă mediul necesită mai mult de o realitate alternativă, această abordare poate fi generalizată prin adăugarea mai multor câmpuri alternative, deși, evident, această abordare nu se scalează grațios dincolo de câteva opțiuni.cele trei abordări SCD pentru manipularea varianței de timp în dimensiuni au o aplicabilitate enormă în situațiile din lumea reală întâlnite de depozitul de date., Tipul 2, în special, ne permite să facem bine pe angajamentul depozitului de date pentru a păstra istoria cu fidelitate.