dbt jest niezwykle prostym narzędziem do zapanowania nad analityczną bazą danych. Jego elementy, zalety i przewagę nad graficznymi narzędziami ETL w kwestiach transformacji danych opisałem w tym wpisie.
Żeby płynnie i bezproblemowo wykorzystać możliwości dbt musisz znać podstawy kilku rzeczy:
- wiersz poleceń
- git
- SQL i Twoja bazę danych
a żeby zadbać o jakość i wygodę pracy przydadzą się jeszcze:
- modelowanie danych
- edytor kodu
Wiersz poleceń
Obecnie większość interakcji z komputerami odbywa się poprzez interfejs graficzny, jednak przy programowaniu i wykorzystaniu takich narządzi jak właśnie dbt musisz poznać przynajmniej podstawowe polecenia wiersza poleceń.
Rodzajów CLI (od command-line interface) jest wiele:
- cmd
- PowerShell
- Bash
- KornShell
- wiele innych…
Najbardziej podstawowe polecenia pozostają jednak takie same pomiędzy nimi.
cd
– zmiana bieżącego folceru
Przejście do folderu „nazwa_folderu”:
cd nazwa_folderu
Przejście do folderu nadrzędnego (dwie kropki oznaczają folder nadrzędny, pojedyncza kropka oznacza bieżący folder):
cd ..
Możesz też przejść bezpośrednio do folderu poprzez podanie jego dokładnego miejsca:
cd c:\Users\UserName
ls
– wylistowanie wszystkich plików i folderów w bieżącym folderze
Tak wygląda wynik polecenia ls
w PowerShell:
Git
Dla programistów i inżynierów oprogramowania podstawowe narzędzie pracy już od wielu lat, ale dopiero od niedawna wkracza do świata zarządzania kodem w pracy z danymi między innymi za sprawą dbt.
Praca z gitem znacznie ułatwia rozwój oprogramowania/ projektu w pracy zespołowej. Dzięki temu, że umożliwia rozwój tego samego projektu na wielu gałęziach przez różne osoby i późniejszemu ich łączeniu znacznie łatwiej wyłapać problemy z kodem i przetestować oprogramowanie niż jedynie wymieniając się plikami lub edytując pliki bezpośrednio w środowisku produkcyjnym.
Umożliwia weryfikację kto zmieniał kod i kiedy to zrobił.
Umożliwia porównanie kodu z wersją, jaka funkcjonowała poprzednio.
Ułatwia kontrolę jakości kodu.
Podstawowe elementy niezbędne do płynnej pracy z dbt:
- zrozumienie jak działają gałęzie
- zrozumienie 3 stanów Gita:
- Working Directory
- Staging Area
- .git Directory (repozytorium)
- najbardziej podstawowe komendy:
git status
git add
git commit
git push
git pull
git branch
git merge
Komend, które warto się nauczyć jest oczywiście więcej, jednak poznanie i zrozumienie powyższych to niezbędne minimum do pracy z gitem. Nie będę ich tutaj opisywał, ale odeślę Cię do tej strony, gdzie dostępne są materiały do ich poznania: dokumentacja, darmowy e-book, krótkie video.
SQL i Twoje baza danych
Bez SQL ani rusz. Cokolwiek nie zrobisz z dbt, to dbt przekonwertuje Twój kod do czystego SQL i uruchomi to w wybranej bazie danych.
Znając dobre praktyki SQL i architekturę Twojej bazy danych będziesz w stanie pisać wydajny i czytelny kod.
Wiele osób skupia się na samym SQL pomijając znajomość tego jak właściwie działa wybrany silnik bazy danych. Uważam to za spory błąd. Wiedząc jak działają indeksy, czy Twoja baza danych w ogóle wspiera indeksy, jak przechowuje tabele, jak cache’uje dane, jak optymalizuje zapytania jesteś w stanie napisać znacznie wydajniejszy kod SQL, co prowadzi do znacznie szybszych wyników zapytań i zdecydowanie mniejszych kosztów utrzymania bazy danych.
Modelowanie danych
No cóż, brak znajomości technik modelowania danych i zasad, jakie nimi rządzą, ale znając podstawowe komendy powłoki i git’a, podstawy SQL i wybranego edytora kodu oczywiście bez problemu będziesz w stanie korzystać z dbt, ale…
Umiejętność modelowania danych pozwoli Ci stworzyć odpowiednią strukturę modeli i odpowiedni przepływ danych, który spowoduje, że analiza danych i utrzymanie jakości danych będą znacznie prostsze.
Stworzenie skomplikowanych modeli rozwiązujące skomplikowane zagadnienia jest proste, ale stworzenie modeli łatwych w utrzymaniu jest znacznie trudniejsze.
Warto zaznajomić się przynajmniej z modelem gwiazdy, gdzie centralnym elementem są tabele faktów zawierające wszelkie dane metryk i transakcji, a dookoła tabel faktów są tabele wymiarów, które opisują fakty.
Edytor kodu
Na dobrą sprawę nie musisz korzystać z edytora kodu, żeby wykorzystać dbt – w końcu możesz wszystko realizować z terminala wiersza poleceń – ale korzystanie z edytora kodu zdecydowanie upraszcza pracę nad wieloma plikami w jednym projekcie.
Wybór jest niezwykle szeroki.
- Visual Studio Code
- Atom
- Sublime Text
- Brackets
- i wiele innych
Wybierz ten, z którego korzysta Twój zespół, lub jest dla Ciebie najprostszy.
Naucz się jego struktury i skrótów klawiszowych. Dzięki temu znacznie ułatwisz sobie pracę.
Dodaj komentarz