Temat: [Oracle] Hurtownia danych

Witam,

mam troszkę 'książkowej' wiedzy na temat hurtowni danych (ETL, OLAP), trochę praktyki w PL/SQL-u.
Chcę zbudować hurtownie danych. Od czego zacząć?
Co należy do warstwy stage?
Będę wdzięczna za wskazówki lub liki do materiałów.

Pozdrawiam,
Małgosia
Izabela Korzińska

Izabela Korzińska Architekt /
Developer ETL/TEam
Leader, Roche Polska

Temat: [Oracle] Hurtownia danych

Od analizy biznesowej :) Czyli powinnaś się zastanowić, o co będzie odpytywana ta hurtownia. Od tego zależy wybór źródeł dla niej i budowa jej tabel. Najlepiej wykorzystać tzw. model wielu gwiazd, czyli kilka tabel faktów (miar), otoczonych tabelami wymiarów i ew. słownikami, jeśli wolisz je mieć osobno, zamiast dołączać kody i nazwy, jako pola tabel.

Generalnie - projektuj tak, aby zapytania do hurtowni były: proste/krótkie, wykorzystywały indeksy. Warto poczytać o indeksach bitmapowych, które zakłada się na pola, mające dużą redundancję (np. płeć, znaczniki typu tak/nie).

W tabelach faktów wrzucaj jak najwięcej kluczy obcych do tabel wymiarów. Np. - jeśli masz tabelki:
- w_kontrahenci
- w_umowy
- w_przedmioty
(kontrahenci mają umowy, umowy mają przedmioty) to do miar przedmiotów takich, jak na przykład F_POZYCJE_FAKTUR, które to pozycje wskazują w systemie źródłowym na przedmioty, dorzuć klucz obcy:
- przedmiotu,
- umowy, której jest częścią
- kontrahenta, który zawarł umowę.

Nie podam Ci żadnego linka, bo osobiście podszkoliłam się w temacie hurtowni danych, czytając projekty firm, które brały udział w "proof of concept" w mojej firmie. W ramach podziękowania - kryptoreklama. Najfajniejsze projekty stworzył BI Insight i Sybase.

konto usunięte

Temat: [Oracle] Hurtownia danych

Poczytaj trochę o modelach wykorzystywanych w hurtowniach danych. Sama znajomość SQLa niewiele da jeśli zabranie fundamentalnej wiedzy z zakresu DW.
Tu odsyłam do literatury Ralph'a Kimballa.

Musisz też zdecydować się na silnik hurtowni danych - tu w zależności od producenta oprogramowania metodyka może troszkę ulec zmianie.

No i na koniec warstwa prezentacji danych. Tu też niektóre rozwiązania działają ze sobą lepiej a inne gorzej.

Najważniejsze jednak, jak powiedziała przedmówczyni, to dobrze zaprojektować model danych. Złe zamodelowanie będzie skutkowało komplikacjami w dalszych fazach projektu.

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora

konto usunięte

Temat: [Oracle] Hurtownia danych

Wojciech Gardziński:
... albo ją, po prostu, zrób.
http://www.goldenline.pl/forum/1500306/hurtownia-danyc...

O boshh, nawet w tej grupie...
Nie zdziwię się, jak niedługo na grupie Taniec zobaczę post mówiący o tym, że xls to nawet tańczyć potrafi i to bez nauczyciela tańca.

Do wszystkich innych, czytających ten wątek i dopiero uczących się - poczytajcie co to są wymiary, co to są fakty, ze są wiązane z wymiarami, o cyklicznym ładowaniu danych do hurtowni i rozmiarach i ilościach danych w hurtowniach. Poczytajcie o ładowaniu danych do tych samych tabel faktów i wymiarów z różnych źródeł, sprowadzaniu danych do wspólnego formatu.
I dopiero PO TYM przeczytajcie zacytowana wypowiedź.

W dyskusję z tym Panem wdawać się nie mam zamiaru, bo obserwowałam parę na innych forach i uważam za bezsensowną. Ludzie, którzy znają się na tematyce, to ze zrozumieniem przeczytają i obejrzą wszystko.

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora
Marcin Bronicki

Marcin Bronicki kierownik, własna

Temat: [Oracle] Hurtownia danych

... że xls to nawet tańczyć potrafi i to bez nauczyciela tańca.

http://www.youtube.com/watch?v=h9_YkXHCkgA

Jak widać coś w temacie ruchu i muzyki potrafi (od 31 sekundy).
Faktem jest jednak ze pan Wojciech jest nad reprezentowany na wielu grupach, ale to jest biznes.
Dlatego nie czepiałbym się bardzo (tylko trochę).
Ja rozumiem GL jako miejsce do samoprezentacji (ale góra 10%), szukaniu pomocy, wymiany poglądów i doświadczeń, zadawania pytań.
Pana posty są krótkie lakoniczne wręcz, skupiają się na prezentowanie swojego produktu. Nawet jak Pan prezentuje swoją niewątpliwą wiedzę to w tematach około produktowych w odniesieniu do tego produktu.
Ale takie są już uroki tego życia, jeśli ten kanał dystrybucji swoich usług jest dozwolony i skuteczny to nic tylko przyklasnąć.

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora

Temat: [Oracle] Hurtownia danych

Dziękuję za zainteresowanie tematem i odpowiedzi.
HD będzie tworzona w oparciu o narzędzia Oracle, proces ETL chciałabym napisać w PL/SQL.

Zakładając, że analiza jest już gotowa (określony jest zakres danych - tabele, ich powiązania, zdefiniowane typy danych oraz ich rozmiar, kody błędów w przypadku niepopranych danych) można przystąpić do pisania skryptów tworzących tabele, indexy, sekwencje, procedury/funkcje do obsługi procesu ładowania danych?Małgorzata B. edytował(a) ten post dnia 03.11.10 o godzinie 18:40

konto usunięte

Temat: [Oracle] Hurtownia danych

Małgorzata B.:
Dziękuję za zainteresowanie tematem i odpowiedzi.
HD będzie tworzona w oparciu o narzędzia Oracle, proces ETL chciałabym napisać w PL/SQL.

Zakładając, że analiza jest już gotowa (określony jest zakres danych - tabele, ich powiązania, zdefiniowane typy danych oraz ich rozmiar, kody błędów w przypadku niepopranych danych) można przystąpić do pisania skryptów tworzących tabele, indexy, sekwencje, procedury/funkcje do obsługi procesu ładowania danych?Małgorzata B. edytował(a) ten post dnia 03.11.10 o godzinie 18:40
Jeśli w tej analizie jest też analiza źródeł danych, które będziecie ładować do HD, to do roboty:) Chodzi o to, że te same dane mogą mieć różne źródła i tu może być trochę zabawy z ujednoliceniem etc.
Grzegorz D.

Grzegorz D. PL/SQL Developer

Temat: [Oracle] Hurtownia danych

A jeżeli mówisz o budowaniu hurtowni na Oraclu i narzędziami Oracla, to mając chwilę czasu zobacz na Oracle Data Integrator. Troszkę zmienia sposób patrzenia na proces ETL ;)

konto usunięte

Temat: [Oracle] Hurtownia danych

Grzegorz Drzymała:
A jeżeli mówisz o budowaniu hurtowni na Oraclu i narzędziami Oracla, to mając chwilę czasu zobacz na Oracle Data Integrator. Troszkę zmienia sposób patrzenia na proces ETL ;)

A może Pentaho Data Integration - darmowe rozwiązanie które dorównuje a nawet przewyższa funkcjonalnością komercyjne produkty.

konto usunięte

Temat: [Oracle] Hurtownia danych

Jak już idziemy w tym kierunku, to do wersji EE dołączany jest Oracle Warehouse Builder. Jak Małgorzata przebrnie kilka tuturiali z wykorzystaniem tego narzędzia to pewnie mniej razy się potknie przy mapowaniu.. a i czasu zaoszczędzi. ;)
Grzegorz D.

Grzegorz D. PL/SQL Developer

Temat: [Oracle] Hurtownia danych

Rafał Wardas:
Jak już idziemy w tym kierunku, to do wersji EE dołączany jest Oracle Warehouse Builder. Jak Małgorzata przebrnie kilka tuturiali z wykorzystaniem tego narzędzia to pewnie mniej razy się potknie przy mapowaniu.. a i czasu zaoszczędzi. ;)


Akurat OWB odradzam z mojego skromnego doświadczenia. Bardzo toporne narzędzie ;)

konto usunięte

Temat: [Oracle] Hurtownia danych

Akurat OWB odradzam z mojego skromnego doświadczenia. Bardzo toporne narzędzie ;)

To chyba doświadczenie wszystkich, którzy kiedykolwiek mieli do czynienia z OWB w większym projekcie (> 1TB). Procesy, które wieszają się niedeterministycznie, czy niedeterministyczny czas trwania operacji, to tylko niektóre z pułapek. Trzeba też pilnować wielu innych rzeczy, o które inne narzędzia potrafią dbać same, jak np. włączenie się przeliczania statystyk w czasie ładowania DWH ;-)

Na Allegro wystawiłbym Oracle'owi negatyw z adnotacją "N-I-E polecam"...

konto usunięte

Temat: [Oracle] Hurtownia danych

Najlepiej zacznij od początku czyli od dokumentacji, poczytaj o strukturze ETL (gwiazda, płatek śniegu itp.). Dowiedz się co to jest wymiar i fakt dla hurtowni danych. Napisz sobie do czego hurtownia bedzie służyć, zastanów się nad cześćią techniczną (procedury, funckje, pakiety, tabele logów powiadomień itp.) Na końcu wybierz narzedzie BI.
Izabela Korzińska

Izabela Korzińska Architekt /
Developer ETL/TEam
Leader, Roche Polska

Temat: [Oracle] Hurtownia danych

Jakub Suchocki:
Najlepiej zacznij od początku czyli od dokumentacji, poczytaj o strukturze ETL (gwiazda, płatek śniegu itp.). Dowiedz się co to jest wymiar i fakt dla hurtowni danych. Napisz sobie do czego hurtownia bedzie służyć, zastanów się nad cześćią techniczną (procedury, funckje, pakiety, tabele logów powiadomień itp.) Na końcu wybierz narzedzie BI.

Małgosia chyba jest już nieco dalej - ma strukturę, a jest na etapie jej zasilania.
Pytała o stage'a, bo chyba to ją najbardziej interesuje.
Od siebie mogę na pisać tyle, że w mojej firmie jest tzw. LOAD_STAGE, czyli schemat, zawierający kopie struktur tabel źródłowych z kilkoma dodanymi polami, dzięki którym te kopie są żurnalami tabel źródłowych (etap E - extract).
Polem jest STAGE, który zawiera dane po transformacji w strukturach takich, jak tabele hurtowni (etap T - transform) i schemat DWH, który jest zasilany dopiero wtedy, kiedy STAGE zostanie zasilony z sukcesem (etap L - load). Z tego, co wiem, STAGE może mieć kilka etapów. Tak więc gosiu - zrób sobie co najmniej te 3 schematy hurtowni. I działaj :)
Radzę tak, jak inni, zamiast PL/SQL-a wykorzystać jakieś narzędzie dedykowane, bo bywa niezastąpione na etapie T :)

konto usunięte

Temat: [Oracle] Hurtownia danych

Grzegorz Drzymała:
Rafał Wardas:
Jak już idziemy w tym kierunku, to do wersji EE dołączany jest Oracle Warehouse Builder. Jak Małgorzata przebrnie kilka tuturiali z wykorzystaniem tego narzędzia to pewnie mniej razy się potknie przy mapowaniu.. a i czasu zaoszczędzi. ;)


Akurat OWB odradzam z mojego skromnego doświadczenia. Bardzo toporne narzędzie ;)
Ja akurat OWB odradzam nie dlatego, ze jest toporne (bo jest), ale dlatego, że przy dużej ilości mapowań plącze się we własnych nogach i sam sobie deadlocki zakłada.

konto usunięte

Temat: [Oracle] Hurtownia danych

Osobiście uważam, z narzędzia dedykowane w przypadku Hurtowni Danych pisanej od zera nie zdadzą egzaminu. Z Doświadczenia wiem, że Hurtowni Danych zazwyczaj "szyte są na miarę".
Ekstrakcja i load danych można zrobić posługując sie PL/SQL. Robiłem ostatnio hurtownie która po skończeniu ładowanych danych wysyła meila z raportem czy wszystko było oki, dodatkowo wysyłanie sms też wchodziło by w grę. Na pewno żadne narzędzie dedykowane nie da radę w tej kwestii :)

Izabela Korzińska:
Jakub Suchocki:
Najlepiej zacznij od początku czyli od dokumentacji, poczytaj o strukturze ETL (gwiazda, płatek śniegu itp.). Dowiedz się co to jest wymiar i fakt dla hurtowni danych. Napisz sobie do czego hurtownia bedzie służyć, zastanów się nad cześćią techniczną (procedury, funckje, pakiety, tabele logów powiadomień itp.) Na końcu wybierz narzedzie BI.

Małgosia chyba jest już nieco dalej - ma strukturę, a jest na etapie jej zasilania.
Pytała o stage'a, bo chyba to ją najbardziej interesuje.
Od siebie mogę na pisać tyle, że w mojej firmie jest tzw. LOAD_STAGE, czyli schemat, zawierający kopie struktur tabel źródłowych z kilkoma dodanymi polami, dzięki którym te kopie są żurnalami tabel źródłowych (etap E - extract).
Polem jest STAGE, który zawiera dane po transformacji w strukturach takich, jak tabele hurtowni (etap T - transform) i schemat DWH, który jest zasilany dopiero wtedy, kiedy STAGE zostanie zasilony z sukcesem (etap L - load). Z tego, co wiem, STAGE może mieć kilka etapów. Tak więc gosiu - zrób sobie co najmniej te 3 schematy hurtowni. I działaj :)
Radzę tak, jak inni, zamiast PL/SQL-a wykorzystać jakieś narzędzie dedykowane, bo bywa niezastąpione na etapie T :)Jakub Suchocki edytował(a) ten post dnia 04.11.10 o godzinie 20:07

konto usunięte

Temat: [Oracle] Hurtownia danych

Wojciech Gardziński:
... albo ją, po prostu, zrób.
http://www.goldenline.pl/forum/1500306/hurtownia-danyc...

Nie powinieneś wklejać tego linku po raz 1000000. Hurtownia danych opartych na Excelu dobra była by warzywaniku (nie obrażajac skelpów z wrzywami).

Następna dyskusja:

Hurtownia danych giełdowych




Wyślij zaproszenie do