Star-Schema Design [zamknięty]

zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Zaktualizuj pytanie, aby mogło być odpowiedź z faktami i cytatami przez edytując ten post .

Zamknięte 4 lata temu .

Popraw to pytanie

Czy projekt schematu gwiazdy jest niezbędny w hurtowni danych? A może można zrobić hurtownię danych z innym wzorcem projektowym?

Author: MOLAP, 2008-09-21

8 answers

Użycie schematów gwiazdek dla systemu hurtowni danych daje kilka korzyści i w większości przypadków właściwe jest użycie ich dla warstwy wierzchniej. Możesz również mieć operacyjny magazyn danych (ODS) - znormalizowaną strukturę, która przechowuje "aktualny stan" i ułatwia operacje, takie jak konformacja danych. Istnieją jednak uzasadnione sytuacje, w których nie jest to pożądane. Miałem okazję budować systemy z warstwami ODS i bez nich i miałem konkretne powody do wyboru architektura w każdym przypadku.

Nie wchodząc w subtelności architektury hurtowni danych ani nie rozpoczynając wojny Kimball vs. Inmon flame, główne zalety schematu gwiazdy to:
  • Większość systemów zarządzania bazami danych mieć możliwości w optymalizatorze zapytań aby dokonać "przemian gwiazdowych", które użyj indeks Bitmap struktur lub indeks do szybkiego rozdzielczość predykatu. Oznacza to, że wybór ze schematu Gwiazdy można zrobić bez uderzania w fakt tabela (która jest zwykle znacznie większa niż indeksy) do momentu rozstrzygnięcia selekcji.

  • Partycjonowanie Schemat gwiazdy jest stosunkowo prosty, ponieważ tylko tabela faktów musi być podzielona (chyba że masz jakieś biblijnie duże wymiary). eliminacja partycji oznacza, że optymalizator zapytań może ignorować zapytania, które nie mogły uczestniczyć w wynikach zapytań, co oszczędza na I / O.

  • Powoli się zmienia wymiary są znacznie łatwiejsze do wykonania na schemacie Gwiazdy niż płatek śniegu.

  • Schemat jest łatwiejszy do zrozumienia i zwykle obejmuje mniej połączeń niż Płatek śniegu lub schemat E-R. Twój zespół sprawozdawczy pokocha cię za to

  • Schematy gwiazdek są znacznie łatwiejsze w użyciu i (co ważniejsze) sprawiają, że działają dobrze dzięki narzędziom zapytań ad hoc, takim jak Business Objects lub Report Builder. Jako deweloper masz bardzo małą kontrolę nad SQL generowany przez te narzędzia, więc musisz dać optymalizatorowi zapytań jak najwięcej pomocy. Schematy gwiazdek dają optymalizatorowi zapytań stosunkowo niewiele możliwości, aby go pomylić.

Zazwyczaj twoja warstwa raportowania będzie używać schematów gwiazd, chyba że masz konkretny powód, aby tego nie robić. Jeśli masz wiele systemów źródłowych, możesz zaimplementować operacyjny magazyn danych z znormalizowanym schematem lub płatkiem śniegu w celu gromadzenia danych. Jest to łatwiejsze, ponieważ ODS zazwyczaj nie robi historii. Stan historyczny jest śledzony w schematach gwiazd, gdzie jest to o wiele łatwiejsze niż w przypadku struktur znormalizowanych. Znormalizowany lub płatkowany odśnieżany magazyn danych operacyjnych odzwierciedla "aktualny" stan i nie ma historycznego widoku ponad Wszelkie, które są nieodłączne dla danych.

Procesy obciążenia ODS dotyczą szorowania i dostosowywania danych, co jest łatwiejsze w przypadku znormalizowanej struktury. Po uzyskaniu czystych danych w ODS ładunki dimension i fact mogą historia ścieżki (zmiany w czasie) z generycznymi lub stosunkowo prostymi mechanizmami stosunkowo prosto; jest to o wiele łatwiejsze do zrobienia w przypadku schematu Gwiazdy, wiele narzędzi ETL (na przykład) zapewnia wbudowane udogodnienia dla powoli zmieniających się wymiarów, a implementacja generycznego mechanizmu jest stosunkowo prosta.

Ułożenie w ten sposób systemu zapewnia rozdzielenie obowiązków - logika biznesowa i oczyszczanie danych jest rozpatrywana w ODS, a ładunki schematu star zajmują się historycznymi stan.

 96
Author: ConcernedOfTunbridgeWells,
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
2017-03-09 16:19:48

Trwa debata w datawarehousing litteratura o Gdzie w datawarehouse-architecture należy zastosować projekt Star-Schema .

W skrócie Kimball opowiada się bardzo wysoko za używaniem tylko schematu Star w datawarehouse, podczas gdy Inmon najpierw chce zbudować Enterprise Datawarehouse używając znormalizowanego projektu 3NF {6]}, a później użyć schematu Star w datamarts.

DODATKOWO tutaj można również powiedzieć, że Snowflake schema design {[6] } jest innym podejściem.

Czwarty projekt może być podejściem Modelowanie skarbca danych .

 9
Author: MOLAP,
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-11-18 14:19:16

Schematy gwiazdek są używane, aby umożliwić szybki dostęp do dużych ilości danych. Wysoka wydajność jest umożliwiona poprzez zmniejszenie liczby połączeń potrzebnych do satsyfikacji wszelkich zapytań, które mogą być wykonane w odniesieniu do obszaru tematycznego. Odbywa się to poprzez umożliwienie redundancji danych w tabelach wymiarów.

Należy pamiętać, że schemat gwiazdy jest wzorem dla górnej warstwy magazynu. Wszystkie modele obejmują również schematy inscenizacji na dole stosu magazynowego, a niektóre obejmują również uporczywy przekształcono scalony obszar postojowy, w którym wszystkie systemy źródłowe są scalane w schemat modelowany 3NF. Nad tym znajdują się różne obszary tematyczne.

Alternatywy dla schematów gwiazd na najwyższym poziomie obejmują odmianę, która jest schematem płatka śniegu. Nową metodą, która może również prowadzić pewne badania, jest modelowanie skarbca danych zaproponowane przez Dana Linstedta.

 8
Author: Mike McAllister,
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
2008-09-21 02:48:07

Rzecz o Schematy gwiazd jest to, że są one naturalnym modelem dla rodzajów rzeczy większość ludzi chce zrobić z hurtowni danych. Na przykład łatwo jest tworzyć raporty o różnych poziomach szczegółowości (na przykład miesiąc, dzień lub rok). Skuteczne jest również wstawianie typowych danych biznesowych do schematu Gwiazdy, co jest powszechną i ważną cechą hurtowni danych.

Z pewnością możesz użyć dowolnej bazy danych, ale jeśli dobrze nie znasz swojej domeny biznesowej, to jest prawdopodobne, że Twoje raporty nie będą działać tak sprawnie, jak to możliwe, jeśli użyłeś schematu Gwiazdy.

 7
Author: Mike,
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
2008-09-21 02:25:28

Schematy gwiazdek są naturalnym dopasowaniem do ostatniej warstwy hurtowni danych. Jak się tam dostać, to kolejne pytanie. Z tego co wiem, Są dwa duże obozy, Billa Inmona i Ralpha Kimballa. Może warto spojrzeć na teorie tych dwóch facetów, jeśli / kiedy zdecydujesz się iść z gwiazdą.

Również niektóre narzędzia do raportowania bardzo lubią konfigurację schematu Gwiazdy. Jeśli jesteś zablokowany w konkretnym narzędziu do raportowania, może to wpłynąć na to, jak wygląda Platforma raportowania w Twoim magazynie.

 6
Author: Josh McAdams,
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
2008-09-21 02:54:00

Schemat gwiazdy jest logicznym modelem danych dla relacyjnych baz danych, który pasuje do zwykłych potrzeb hurtowni danych; jeśli podano środowisko relacyjne, schemat gwiazdy lub płatka śniegu będzie dobrym wzorcem projektowym, przewodowym w wielu metodologiach projektowania DW.

Istnieją jednak inne niż relacyjne silniki baz danych, które mogą być używane do wydajnej hurtowni danych. Wielowymiarowe silniki pamięci masowej mogą być bardzo szybkie Dla zadań OLAP (np.); nie możemy zastosować schematu gwiazd projekt w tym przypadku. Inne przykłady wymagające specjalnych modeli logicznych to bazy danych XML lub bazy kolumnowe (np. eksperymentalny C-store)).

 4
Author: csaba,
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
2012-01-25 12:51:35

Można się bez tego obejść. Jednak, będzie utrudnić życie dla siebie -- Twoja organizacja będzie chciał używać standardowych narzędzi, które żyją na górze DWs, i te narzędzia będą oczekiwać schemat Gwiazdy -- wiele wysiłku będzie spędził montażu kołek kwadratowy W okrągłym otworze.

Wiele optymalizacji na poziomie bazy danych zakłada, że masz schemat Gwiazdy; poświęcisz dużo czasu na optymalizację i restrukturyzację, aby DB zrobił "właściwą rzecz" z Twoim niezbyt dobrym układem Gwiazdy.

Upewnij się, że plusy przeważają nad minusami..

(czy to brzmi jakbym już tam był?)

- D

 3
Author: SquareCog,
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
2008-09-22 03:04:48

Są trzy problemy, które musimy rozwiązać.

1) Jak uzyskać dane z operacyjnego systemu źródłowego bez wywierania na nie nadmiernej presji poprzez łączenie tabel wewnątrz i między nimi, czyszczenie danych podczas wyodrębniania, tworzenie pochodnych itp.

2) Jak połączyć dane z różnych źródeł-niektóre legacy, niektóre pliki oparte, z różnych działów w integralną, dokładne, skutecznie przechowywane całość, która modeluje biznes, a nie odzwierciedla struktury systemy źródłowe. Pamiętaj, że systemy zmieniają się / są wymieniane stosunkowo szybko, ale podstawowy model biznesu zmienia się powoli.

3) jak uporządkować dane tak, aby jak najszybciej i dokładnie spełniały określone wymagania analityczne i raportowe dla poszczególnych osób/działów w biznesie.

Rozwiązanie tych trzech bardzo różnych problemów wymaga różnych warstw architektonicznych, aby je rozwiązać

Warstwa Stagingowa Powielamy struktury źródła, ale tylko zmienione dane ze źródeł są ładowane każdej nocy. po pobraniu danych z warstwy przejściowej do następnej warstwy, dane są upuszczane. Zapytania są pojedynczymi zapytaniami tabel z prostym filtrem data_time. Bardzo mały wpływ na źródło.

Enterprise Layer Jest to zorientowana na biznes baza danych 3rd normal form. Dane są wyodrębniane (a następnie upuszczane) z warstwy przejściowej do warstwy korporacyjnej, gdzie są czyszczone, integrowane i znormalizowany.

Warstwa Prezentacji (Schemat Gwiazdy) Tutaj modelujemy wymiarowo, aby spełnić określone wymagania. Dane są celowo de-normalizowane, aby zmniejszyć liczbę połączeń. Hierarchie, które mogą zajmować kilka tabel w warstwie korporacyjnej, są zwijane w jedną tabelę wymiarów, a wiele tabel transakcyjnych może być scalonych w jedną tabelę faktów.

Zawsze masz do czynienia z tymi trzema problemami. Jeśli zdecydujesz się zrezygnować z warstwy enterprise, nadal musisz rozwiązać drugi problem, ale trzeba to zrobić w warstwie schematu gwiazdy, a moim zdaniem, to jest złe miejsce, aby to zrobić.

 2
Author: Steve,
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
2012-08-31 11:11:24