O hurtowniach danych ludzkim głosem – Budujemy hurtownię w środowisku Oracle
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
Program szkolenia
Dzień 1
Teoria: Szerokie omówienie hurtowni danych, celu ich budowania, sposobów ich projektowania i tworzenia, charakterystyki i budowy. Podstawa teoretyczna niezbędna do zrozumienia hurtowni danych, pozwalająca na świadome wykorzystanie technik i narzędzi wykorzystywanych w dalszej części kursu.
Praktyka: Uczestnicy otrzymują surowe dane które docelowo mają znaleźć się w naszej hurtowni danych. Omawiamy ich strukturę, planujemy sposób ich wykorzystania. Planujemy cele wykorzystania naszej hurtowni. Następnie rozrysowujemy model logiczny i planujemy konstrukcję tworzonej hurtowni danych. Wyłania się nam pierwszy zarys docelowego systemu.
Cele i harmonogram kursu
Czym jest hurtownia danych i do czego służy?
Hurtownia danych vs. baza operacyjna
Terminologia związana z hurtowniami danych
Zastosowania hurtowni danych
Struktury w hurtowniach danych
Model wielowymiarowy
Schemat typu Star
Schemat typu Snowflake
Charakterystyka tabeli faktu i tabel wymiarów
Ziarnistość w tabelach faktów
Struktura tabeli faktów i tabel wymiarów
Hierarchia wymiarów
Trzecia postać normalna
Stosowanie mostów
Modelowanie biznesowe,logiczne i fizyczne
Definiowanie modelu biznesowego
Definiowanie modelu logicznego
Definiowanie modelu fizycznego
Typowe komponenty hurtowni danych
Dzień 2
Teoria: Dane które będziemy przetwarzać w hurtowni skądś się biorą. Mogą znajdować się w plikach płaskich czy innych bazach danych. Ponadto dane te mogą zawierać błędy, być niepełne, mogą pojawiać się duplikaty. Jeśli będziemy długo odczytywać dane, mogą one ulec zmianie w systemie źródłowym w efekcie czego dane w hurtowni mogą być niespójne. Jak sobie z tym radzić? Jak ładować te dane z różnych miejsc? Jak zadbać o ich spójność? Odpowiedzi na te pytania będą przedmiotem rozmów tego dnia ( i pewnie kilka suchych żartów też ).
Praktyka: Uczestnicy otrzymują dostęp do zdalnej operacyjnej bazy danych, w której dane podlegają ciągłym zmianom. Dostają też część danych w plikach CSV. Całość musimy załadować do hurtowni w taki sposób by dane te były spójne.
Przygotowanie do procesów ETL
Definicje ekstrakcji, transformacji i ładowania
Czemu służą te procesy?
Strategia ładowania i odświeżania danych
Wykorzystanie pakietu dbms_scheduler do automatyzacji procesów ETL
Wykorzystanie SQL i PL/SQL w procesach ETL
Procesy ETL – Ekstrakcja
Czym jest ekstrakcja?
Łączenie z innymi bazami danych z użyciem linków bazodanowych
External Tables – Select po pliku CSV
Ładowanie danych z użyciem SQL Loadera
Narzędzia Exp i Imp
Data Pump
Problemy wynikające z utraty spójności danych podczas ekstrakcji – czyli co się stanie gdy ktoś zmienia dane które czytamy i jak sobie z tym radzić?
Poziomy izolacji
Tryb Serializable
Tryb Flashback
Dzień 3
Teoria: Dane które poprzedniego dnia załadowaliśmy do hurtowni zawierają duplikaty i błędy, a ponadto nie są w takiej postaci w jakiej byśmy ich oczekiwali na potrzeby analiz biznesowych. W jaki sposób je przetworzyć? Jak pozbyć się duplikatów? Jak znaleźć i wyeliminować błędne dane? Czy musimy ładować wszystko? Może dodajmy tylko nowe dane i podmieńmy te które uległy zmianie w systemach źródłowych? No właśnie... jeśli jakieś dane zostały zmienione w systemie źródłowym np. zmieniono adres klienta to w hurtowni chcemy mieć stary czy nowy adres? A może oba na potrzeby analiz opartych przykładowo o rejonizację? Tego dnia będziemy musieli dobrze przemyśleć te kwestie. Tutaj nie ma miejsca na pomyłki, bo później trudno je będzie naprawić. Omówione zostaną techniki wykorzystywane przy transformacji danych z użyciem SQL i PL/SQL. Poświęcimy trochę czasu na burzę mózgów, wymienimy się doświadczeniami i pomysłami, wreszcie opracujemy wspólnie plan przetwarzania danych źródłowych i ładowania ich do hurtowni. A gdy już emocje ochłoną, wypijemy kawę i zjemy ciastko, zabierzemy się za to na co wszyscy czekają czyli....
Praktyka: czyli zrealizujemy plan w praktyce! Zaczniemy od omówienia i przećwiczenia nowych zagadnień z zakresu SQL i PL/SQL które wykorzystywane są na potrzeby transformacji – to znaczy dla każdego takiego tematu zrobimy po małym ćwiczeniu. Gdy wszyscy uczestnicy będą już przygotowani od strony technicznej, skupimy się na stronie merytorycznej. Załadowane poprzedniego dnia dane przetworzymy do postaci takiej jaka jest potrzebna w hurtowni danych. Zadbamy też o to, aby owo przetwarzanie odbywało się możliwie szybko.
Procesy ETL – Transformacja
Czym jest transformacja?
Jakość danych
Anomalie danych
Duplikaty i ich eliminacja
Techniki i narzędzia transformacji
Obszar przejściowy
Struktury fizyczne w obszarze przejściowym
Zastosowanie tabel tymczasowych
Stosowanie agregacji
Klauzula Rollup
Klauzula Cube
Operator Grouping sets
Operator Grouping
Operator Case
Stosowanie klauzuli Pivot
Stosowanie podzapytań z użyciem Exists i Not Exists
Wykorzystanie merge
Wykorzystanie funkcji analitycznych
Tworzenie funkcji strumieniowych
Operacje na tablicach
Operacje masowe
Wykorzystanie własności pakietów PL/SQL
Zmienność danych w czasie i metody radzenia sobie z problemami wynikającymi ze zmienności.
Dzień 4
Teoria: Już jesteśmy niedaleko celu. Skoro przetworzyliśmy dane do postaci docelowej, to trzeba je będzie teraz załadować do tabel w hurtowni. Omówimy więc jak to się robi, oraz jak robić to wydajnie. Porozmawiamy o zastosowaniu widoków zmaterializowanych. Przebrniemy też przez podstawowe techniki optymalizacji w hurtowniach danych. Jeśli już mamy na hurtowni robić jakąś analitykę, to wyniki chcielibyśmy otrzymywać możliwie szybko. Prawda? Uczestnicy dowiedzą się od czego zależy czas wykonywania zapytania i jak go skrócić. Porozmawiamy na temat technik które wykorzystywane są w zasadzie tylko w hurtowniach danych. Istotnym problemem może być dla uczestnika brak wymaganej do wykorzystania jakieś funkcjonalności licencji (np. Enterprise), więc zajmiemy się również metodami alternatywnymi – tj. jak osiągnąć zbliżony efekt bez podnoszenia licencji i pakowania się w koszty.
Praktyka: Skoro już znamy techniki ładowania i podstawy optymalizacji to czas to wykorzystać w praktyce! Zajmiemy się ostatnim etapem procesów ETL - ładowaniem. Nasze dane już przetworzone poprzedniego dnia wylądują wreszcie w tabelach docelowych, po czym przystąpimy do optymalizacji ich przetwarzania. Zrobimy testy wydajnościowe przed i po optymalizacji. Wyciśniemy ostatnie poty z podstawowych technik optymalizacji aby uzyskać satysfakcjonujący efekt.
Procesy ETL – Ładowanie
Czym jest ładowanie danych?
Metody ładowania danych
Modele odświeżania danych
Określanie które dane uległy zmianie na potrzeby ładowania i odświeżania
Zastosowanie widoków zmaterializowanych
Ograniczenia widoków zmaterializowanych
Rodzaje odświeżania widoków zmaterializowanych
Stosowanie wyzwalaczy bazodanowych w ładowaniu i odświeżaniu
Metody optymalizacji w hurtowniach danych
Zasada działania optymalizatora kosztowego
Rodzaje indeksów stosowanych w hurtowniach danych
Indeksy B-Tree
Indeksy bitmapowe
Indeksy połączeniowe
Indeksy a nulle
Indeksy oparte o funkcje
Opóźnienia ładowania danych wynikające z istnienia indeksów na tabelach. Sposoby radzenia sobie z tym problemem.
Metody dostępu do danych
Sposoby przetwarzania tabel i indeksów
Algorytmy łączenia zbiorów
Statystyki
Histogramy
Dzień 5
Teoria: Dalsza część technik optymalizacyjnych. Duża część z nich będzie wymagała licencji Enterprise, więc na wszelki wypadek omówimy też techniki alternatywne, które przy nieco większym wysiłku pozwolą uzyskać poprawę wydajności na wersji Standard bez wykupywania droższej licencji Oracle Enterprise. Gdy już Nasza hurtownia działa a raporty wykonują się szybko, warto zadbać o jakiś interfejs. Oczywiście można zastosować komercyjne i zazwyczaj baaaardzo drogie oprogramowanie, ale można też zrobić całkiem ładną aplikację z użyciem bezpłatnego Oracle Apex czyli środowiska w którym jesteśmy w stanie stworzyć całkiem ładną aplikację WEB-ową znając wyłącznie SQL! Zaprezentowane zostanie wdrożenie i posługiwanie się Oracle Apex po to by ….
Praktyka: ….każdy z uczestników wdrożył Apex'a w swojej hurtowni którą tworzyliśmy ostatnie kilka dni i „wyklikał” aplikację analityczną posiadającą eleganckie tabelki z raportami, wykresy i wszystko inne co cieszy oko. Taka wisienka na torcie
Stosowanie podpowiedzi optymalizatora kosztowego
Partycjonowanie tabel
Partycje zakresowe
Partycje wg wartości
Partycje hashowe
Partycje a optymalizator kosztowy
Star Transformation
Jakie operacje mogą być zrównoleglone?
Stosowanie parallelizmu
Wykorzystanie Query Rewrite
Prosty interfejs WEB-owy do hurtowni – mini system analityczny oparty o Oracle Apex
Wdrożenie Oracle Apex na serwerze
Konfiguracja środowiska pracy
Tworzenie aplikacji
Raporty
Wykresy
Nawigacja w aplikacji
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!http://jsystems.pl/storage/sqlplsql.pdf
Gdybyś chciał przed tym szkoleniem przećwiczyć podstawy SQL i PL/SQL w praktyce lub poznać je od podstaw zapraszamy Cię na szkolenie „Podstawy SQL i PL/SQL” za 50% ceny przy zapisywaniu się na oba szkolenia naraz.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Usuniete
Piotr jest autorem wielu publikacji, które koncentrują się na różnych aspektych informatyki, w tym na zabezpieczaniu domowych serwerów, a także na tematach związanych z chmurą obliczeniową i językiem Bash. Jego bogate doświadczenie obejmuje pracę z wieloma systemami Linux, takimi jak Ubuntu, Debian, CentOS i CoreOS, a także administrację serwerem Jenkins i zarządzanie kontenerami Docker i LXC/LXD.
Programista z ponad 12 letnim stażem, pracował dla klientów z Norwegii, Szwecji, Wielkiej Brytanii oraz Niemiec. Pracował dla takich firm jak Schibsted Tech Polska oraz PrimeQ tworząc strony o bardzo dużym natężeniu ruchu, skrypty automatyzujące pracę innych, w tym także crawlery. Trener, który na sali spędził ponad 5000h prowadząc szkolenia z baz danych, programowania w Pythonie i PHP.
Kacper uważa, że język programowania to tylko narzędzie w rękach doświadczonego dewelopera, dlatego nieustannie lubi uczyć się nowych rzeczy oraz zarażać miłością do programowania innych (stąd pewnie ten kanał na Youtubie -> Kacper Sieradziński).
Lead Infrastructure Engineer w Sopra Steria Polska. Administrator baz danych z wieloletnim praktycznym doświadczeniem zawodowym. Przede wszystkim zajmuje się administracją serwerami SQL Server, jednak posiada również praktyczną wiedzę na temat technologii MongoDB, MySQL oraz PostgreSQL. Obecnie zarządza środowiskiem składającym się z ponad 600 serwerów baz danych w chmurze jak i on-premise. W swojej karierze stawiał czoła całemu spektrum projektów związanych z relacyjnymi bazami danych jak również NoSQL.
Jestem programistą z 12-sto letnim doświadczeniem, związanym głównie z ekosystemem Javy, ale również Pythonem, bazami danych, zagadnienami DevOps (Docker, Kubernetes, CI/CD pipelines) i frameworkami JavaScriptowymi. Moja ścieżka kariery prowadziła mnie przez różne branże – od telekomunikacyjnej, przez medyczną, bankową, do giełdy energii – dzięki czemu mogłem poznać wiele technologii i ich zastosowań w poszczególnych obszarach. Od kilku lat zaangażowany jestem w prowadzenie szkoleń i warsztatów, bo wierzę, że najlepszym sposobem na naukę jest przekazywanie wiedzy innym.
Autor wielu niestandardowych rozwiązań i implementacji podyktowanych różnorakimi wymaganiami Klientów. Jego drugie imię to wirtualizacja, gdyż obecnie jest jednym z głównych architektów produktu chmury prywatnej opartej na technologii VMware i Linux w Hays. Kieruje się stwierdzeniem: "Linux – born to be root, Windows – born to reboot". Ma również znakomite zdolności do automatyzacji i pisania skryptów, nie tylko w języku Bash ale także Ansible/Javascript/Python czy Powershell. Od niedawna fan i znawca kubernetesa oraz konteneryzacji. Prywatnie zagorzały kibic F1.
Doświadczony ekspert w obszarze Jiry i narzędzi Atlassian. Aktywny administrator i developer Jira, który od ponad 5 lat zdobywa doświadczenie równolegle w wielu organizacjach spotykając się z szeroką gamą wymagań. Ponadto administrator Jiry niemalże z wykształcenia, gdyż ukończył studia o specjalizacjach, takich jak informatyczne systemy zarządzania i inżynieria procesów biznesowych. Obecnie pełni rolę Inżyniera Atlassian w zespole jednego z polskich Gold Solution Partnerów Atlassian.
W swojej pracy skupia się na tym, aby rozwiązania tworzone na platformie Jira były przyjazne dla użytkowników, wspierały ich pracę, a jednocześnie były zarządzane i łatwe w utrzymaniu dla administratorów. Specjalizuje się w implementacji procesów biznesowych, a także wspierających zarządzani inicjatywami i projektami. Posiada doświadczenie w budowaniu procesów z obszaru zarządzania testami i release managementu. Realizował liczne projekty uwzględniające Jirę z systemami zewnętrznymi, w tym z SAP.
Z drugiej strony aktywny użytkownik Jiry, który dobrze zna i rozumie problemy innych użytkowników, a przez lata wypracował na nie odpowiedzi w postaci wachlarza możliwości.
W grudniu 2020 ukończył Informatykę na wydziale EAIiIB AGH w Krakowie z tytułem magistra inżyniera. Od lipca 2018 do połowy czerwca 2023 pracował w różnych projektach w Erlang Solutions jako Erlang i Elixir developer oraz jako trener. Obecnie (od połowy czerwca 2023) pracuje jako zleceniobiorca dla firmy Baxter (jako programista Erlanga w dziale R&D). W ramach kariery udało mu się wygrać kilka nagród w hakatonach:
- trzecie miejsce z zespołem ”Champions” w BITEhack 2020 w Krakowie,
- nagroda (było tylko pierwsze miejsce) w kategorii poprawność (ang. correctness) w SpawnFest 2020,
- pierwsze miejsce w kategorii utrzymaniowość (ang. maintainability), drugie miejsce w kategorii poprawność (ang. correctness) i trzecie miejsce w kategorii poziom ukończenia (ang. completion) w Spawnfest 2021.
Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie). Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.
W ciągu ostatnich 6 lat przeszkolił:
- ponad 3900 osób z zakresu zagrożeń cybernetycznych,
- ponad 1500 dzieci z zakresu zagrożeń internetowych, kariery w IT, poznawania technologii,
- 40 działów IT z zakresu budowania świadomości cyberzagrożeń oraz cyberbezpieczeństwa w organizacji,
- 160 trenerów cyberbezpieczeństwa.
- Cyber Security Consultant w Trecom Group – doradztwo w zakresie rozwiązań, konsultacje, inicjator, konsultant i koordynator projektów związanych z bezpieczeństwem.
- Pomysłodawca, trener, szkoleniowiec, właściciel projektu „cyberkurs.online szkolenia, cyberbezpieczeństwo”.
- Członek ISSA Polska: Stowarzyszenie do spraw Bezpieczeństwa Systemów Informacyjnych.
- Konsultant w: Miękko o it – wykorzystanie miękkich umiejętności w projektach it
- Dyrektor ds. Projektu Cyfrowy Skaut ISSA Polska, lider projektu Cyfrowy Skaut.
- Twórca lokalnej społeczności ISSA Polska Poznań .local #ISSAPolskaPoznań.local