powoli zmieniające się Wymiary (SCD) – Wymiary, które zmieniają się powoli w czasie, a nie zgodnie z rozkładem czasowym. W hurtowni danych istnieje potrzeba śledzenia zmian atrybutów wymiarów w celu raportowania danych historycznych. Innymi słowy, implementacja jednego z typów SCD powinna umożliwić użytkownikom przypisanie wartości atrybutu WŁAŚCIWEGO wymiaru dla danej daty. Przykładem takich wymiarów mogą być: klient, Geografia, pracownik.,

istnieje wiele metod postępowania z SCD. Najpopularniejsze to:

  • Typ 0-metoda pasywna
  • Typ 1-nadpisanie starej wartości
  • Typ 2-utworzenie nowego dodatkowego rekordu
  • Typ 3-dodanie nowej kolumny
  • Typ 4-wykorzystanie tabeli historycznej
  • Typ 6-łączenie podejść typów 1,2,3 (1+2+3=6)

Typ 0-metoda pasywna. W tej metodzie nie wykonuje się specjalnych działań przy zmianach wymiarowych. Niektóre dane wymiarowe mogą pozostać takie same, jak po raz pierwszy dodane, inne mogą zostać nadpisane.,

Typ 1-nadpisanie starej wartości. W tej metodzie w bazie danych nie jest przechowywana historia zmian wymiarów. Stara wartość wymiaru jest po prostu nadpisywana jako nowa. Ten typ jest łatwy w utrzymaniu i często jest używany do danych, których zmiany są spowodowane przetwarzaniem poprawek (np. usunięcie znaków specjalnych, poprawienie błędów ortograficznych).,

przed zmianą:

Customer_ID Customer_type
1 Cust_1 corporate

po zmianie:

customer_id Customer_name customer_type
1 cust_1 retail

Type 2 – tworzenie nowego dodatkowego rekord., W tej metodologii cała historia zmian wymiarów jest przechowywana w bazie danych. Zmiany atrybutów można przechwycić, dodając nowy wiersz z nowym kluczem zastępczym do tabeli wymiarów. Zarówno poprzednie, jak i nowe wiersze zawierają jako atrybuty klucz naturalny(lub inny trwały identyfikator). W tej metodzie stosuje się również kolumny „Data wejścia w życie” i „bieżący wskaźnik”. Może być tylko jeden rekord z bieżącym wskaźnikiem ustawionym na „Y”. Dla kolumn' data wejścia w życie', tj. start_date i end_date, wartość end_date dla bieżącego rekordu jest zwykle ustawiana na wartość 9999-12-31., Wprowadzenie zmian do modelu wymiarowego w typie 2 może być bardzo kosztowną operacją bazy danych, dlatego nie zaleca się stosowania go w wymiarach, w których w przyszłości można by dodać nowy atrybut.,

przed zmianą:

Customer_ID Customer_Name Customer_Type Start_Date End_Date current_flag
1 cust_1 Corporate 22-07-2010 31-12-9999 y

po zmianie:

wpisz 3 – dodanie nowej kolumny. W tym typie zazwyczaj w bazie danych przechowywana jest tylko bieżąca i poprzednia wartość dimension., Nowa wartość zostanie załadowana do kolumny 'current/new', a stara do kolumny' old / previous'. Ogólnie rzecz biorąc historia jest ograniczona do liczby kolumn utworzonych do przechowywania danych historycznych. Jest to najmniej powszechnie potrzebna technika.,iv id=”2f5bdb6350″>

Customer_ID Customer_Name Current_Type Previous_Type 1 Cust_1 Corporate Corporate

po zmianie:

customer_id customer_name current_type previous_type
1 cust_1 retail corporate

Typ 4 – przy użyciu tabeli historycznej., W tej metodzie używana jest oddzielna tabela historyczna do śledzenia wszystkich zmian atrybutów wymiaru dla każdego z wymiarów. Tabela wymiarów' main ' przechowuje tylko aktualne dane, np. tabele customer i customer_history.

bieżąca tabela:

Customer_ID Customer_type
1 Cust_1 Corporate

tabela historyczna:

typ 6 – łączenie typów 1,2,3 (1+2+3=6)., W tym typie mamy w tabeli wymiarów takie dodatkowe kolumny jak:

  • current_type – do zachowania bieżącej wartości atrybutu. Wszystkie rekordy historii dla danej pozycji atrybutu mają tę samą bieżącą wartość.
  • historical_type – do zachowania historycznej wartości atrybutu. Wszystkie rekordy historii dla danej pozycji atrybutu mogą mieć różne wartości.
  • start_date – do przechowywania daty rozpoczęcia' daty wejścia w życie ' historii atrybutu.
  • end_date – do przechowywania daty końcowej' daty wejścia w życie ' historii atrybutu.,
  • current_flag – do przechowywania informacji o najnowszym rekordzie.

w tej metodzie przechwytywania zmiany atrybutów dodajemy nowy rekord jak w typie 2. Informacja current_type jest nadpisywana nową, jak w typie 1. Przechowujemy historię w historical_column, jak w typie 3.

Articles

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *