Struktura w obszarze postoju hurtowni danych

Pracujemy nad przechowalnią danych dla banku i prawie stosujemy standardowy model Kimballa tabel stagingowych, schemat gwiazdy i ETL, aby pobierać dane przez cały proces.

Kimball mówi o użyciu miejsca postoju do importowania, czyszczenia, przetwarzania i wszystkiego, dopóki nie będziesz gotowy, aby umieścić dane w schemacie Gwiazdy. W praktyce oznacza to zazwyczaj przesyłanie danych ze źródeł do zestawu tabel z niewielką lub bez modyfikacji, a następnie pobranie dane opcjonalnie poprzez tabele pośrednie, aż będzie gotowy do przejścia do schematu Gwiazdy. To dużo pracy dla jednego podmiotu, nie ma tu żadnej odpowiedzialności.

Poprzednie systemy, nad którymi pracowałem, rozróżniały różne zestawy tabel, do tego stopnia, że:

  • Prześlij tabele: surowe dane systemowe źródłowe, niezmodyfikowane
  • Staging tables : przetwarzanie pośrednie, typowane i oczyszczane
  • magazyn tabele

Możesz umieścić je w osobnych schematach, a następnie zastosować różne zasady dla archiwum/kopii zapasowych / bezpieczeństwa itp. Jeden z chłopaków pracował w magazynie, gdzie jest StagingInput i StagingOutput , podobna historia. Zespół jako całość ma duże doświadczenie, zarówno w datawarehouse, jak i nie tylko.

Jednak pomimo tego wszystkiego, patrząc przez Kimball i sieć wydaje się, że nie ma absolutnie nic na piśmie o dawaniu jakichkolwiek rodzaj struktury do bazy danych staging. Można by wybaczyć, wierząc, że Pan Kimball każe nam pracować nad inscenizacją jako wielka, ciemna, niezorganizowana Pula danych.

O ile oczywiście jest to dość oczywiste, jak to zrobić, jeśli chcemy dodać trochę więcej struktury do obszaru inscenizacji, to wydaje się bardzo dziwne, że wydaje się, że nic o tym nie napisano.

Więc, co tam robią inni? Czy inscenizacja to tylko ten wielki niezniszczalny bałagan, czy ludzie mają jakieś ciekawe wzory na nim?

Author: Ian Boyd, 2009-05-14

7 answers

Doświadczyłem tego samego problemu. Mamy duży magazyn danych HR i pobieram dane z systemów w całym przedsiębiorstwie. Mam ładną kolekcję tabel faktów i wymiarów, ale Miejsce postoju to bałagan. Nie znam żadnych standardów projektowania tego. Poszedłbym tą samą ścieżką, którą podążasz i wymyślił standardowy zestaw nazwisk, aby wszystko było w porządku. Twoja sugestia jest całkiem dobra dla nazewnictwa. Popracuję nad tym.

 4
Author: Christian Loris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-08 14:07:52

Tylko uwaga, jest książka o nazwie "Hurtownia danych ETL Toolkit" Rapha Kimballa i Joe Caserty, więc pan Kimball włożył w to trochę wysiłku. :)

 4
Author: Damir Sudarevic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-29 19:24:12

Pracujemy w tej chwili nad dużym projektem insurance DWH, jego nieco skomplikowane, ale każda z tabel systemu źródłowego są umieszczane w osobnym schemacie w bazie danych STAGINGCLEAN, następnie mamy ETL, który przenosi / oczyszcza/conforms (MDM) dane z bazy danych stagingclean do bazy danych Stagingclean, a następnie dalej ETL, który przenosi dane do Kimball DWH.

Oddzielenie Staging i StagingClean bazy danych uważamy za bardzo pomocne w diagnozowaniu problemów, szczególnie na danych jakość, ponieważ mamy brudne dane, a także oczyszczoną wersję, zanim zostanie ona przekształcona w właściwą DWH.

 3
Author: Marcus D,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-03 10:32:52

W Staging mogą występować podobszary. Nazywane na przykład staging1, staging2.

Staging1 może być bezpośrednio pobieranym ze źródeł danych bez transformacji. Staging1 przechowuje tylko Najnowsze dane.

Staging2 przechowuje dane przekształcone i gotowe do wysłania do magazynu. Staging2 przechowuje wszystkie dane historyczne.

 2
Author: Ken Yao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-28 15:43:33

Spójrz na ten post tutaj . Daje dobry przegląd obowiązków miejsca postoju w DW.

 0
Author: Patrick Peters,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-13 06:39:19

Cóż za wspaniałe pytanie.

W przeszłości używaliśmy przyrostka _MIRR (dla mirror) dla nieprzetransformowanych danych trafiających do bazy danych, tj. odzwierciedla źródło. Następnie używamy _STG dla przekształconych danych ze źródła, następnie _DW dla schematu Gwiazdy.

Tabele inscenizacyjne tutaj będą w 3NF. Myślę, że to jest kluczowy punkt. Dane są przesyłane bez przetransformowania i przechowywane oddzielnie od następnego kroku, gdzie w pełni normalizujemy dane, a następnie spłaszczamy je w naszym schemacie Gwiazdy dla melduję.

 0
Author: user1990441,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-18 13:00:43

Osobiście nie szukam kłopotów, ani w Kimball, ani gdzie indziej.

Jakiego rodzaju "struktury" szukasz? Jaką "strukturę" uważasz za potrzebną? Jakie problemy widzisz z powodu braku "struktury", którą masz dzisiaj?

Może zostawiam ci wrażenie, że nie myślę zbytnio o Kimballu. Nie do końca-nie czytałem Kimballa. Po prostu nie myślę zbytnio o zmianie rzeczy bez powodu poza dopasowaniem jakiegoś wzoru. Zmiana w celu rozwiązania jakiegoś realnego świata problem byłby w porządku. Na przykład, jeśli stwierdzisz, że tworzysz kopię zapasową tabel tymczasowych, ponieważ brak struktury spowodował, że tabele tymczasowe i magazynowe są traktowane tak samo, będzie to powodem do zmiany struktury. Ale jeśli to jest coś, co miałeś na myśli, powinieneś edytować swoje pytanie, aby je wskazać.

 -2
Author: John Saunders,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-14 14:18:52