W dużej organizacji systemów przechowujących dane jest wiele.
Użytkowników korzystających z tych systemów jest jeszcze więcej.
Użytkownicy mają wiele potrzeb i problemów, które dane mogą rozwiązać.
Ale tutaj uwaga. Nie patrz na dane pod kątem jednego systemu.
Dane znajdują się w wielu systemach i dopiero, gdy połączymy dane ze sobą możemy uzyskać pełniejszy obraz.
Jeden system prezentuje wąski wycinek rzeczywistości — możesz powiedzieć jeden piksel.
Nie umożliwia na odpowiedź na kluczowe pytania. Potrzebujesz zobaczyć szerszy kontekst: zobaczyć dane i systemy holistycznie.
Do skomplikowanej pracy z danymi, do ich integracji i potem analizy, odpowiedzi na kluczowe pytania, potrzebni są specjaliści.
To właśnie są bohaterowie dzisiejszego odcinka:
Data Engineer (inżynier danych) i Data Analyst (analityk danych), tworzą pełniejszy obraz świata.
Czym zajmuje się Data Engineer - modelowanie świata
Data Engineer tworzy ekosystem, z którego będą korzystali inni.
Tworzysz nowy świat.
Wiesz, jak jest w dużej firmie. Czasami do jednej i tej samej operacji używanych jest wiele systemów. Na przykład jest kilka systemów używanych do fakturowania. Natomiast management chce widzieć zintegrowane dane z różnych systemów. Rolą Data Engineera jest scalenie tych danych.
Integrowanie danych może polegać na łączeniu danych z kilku źródeł, ale także na poprawie jakości danych.
Data Engeener dba o jakość przykładając uwagę do spójności danych, na przykład definiując strukturę tych danych.
Ale jakość danych to nie tylko technikalia, to też aplikacja reguł biznesowych. Na przykład, gdy jeden wiersz na fakturze zawiera błędy, wtedy żaden element z tej faktury nie może zostać załadowany do systemu.
Data Engineer modeluje świat, dba o jego jakość i spójność.
Do tych wszystkich operacji niezbędny jest język SQL, jest on używany do operacji na bazie danych albo z data lakiem.
Czym zajmuje się Data Engineer - manipulacja danymi
Dane trafiają do bazy danych, ale czasami to jeszcze nie jest koniec. Baza danych, nie jest bytem tylko do odczytu. Zachodzi potrzeba, żeby poprawić dane: zaktualizować albo je usunąć.
Częścią manipulacji danymi jest też sprawdzanie ich pod kątem reguł biznesowych, czyszczenie oraz poprawianie jakości.
Filtrowanie niepotrzebnych danych albo danych błędnych.
Zmiana struktury danych z postaci normalnej do postaci zdenormalizowanej to też jest część manipulacji danymi. Data Engineer ma z tym do czynienia, gdy tworzy na przykład hurtownie danych.
Jak dobrze się domyślasz, te operacje wykonywane są przy użyciu języka SQL.
Nie ma idealnych światów, dlatego ten też ulega transformacjom: pojawiają się nowe reguły do dodania, stare trzeba usunąć, trzeba usunąć albo zmodyfikować historię.
Przy czym czasami jest to praca na dużych woluminach danych. Czyli dochodzi do tego rozwiązanie także wyzwań związanych z wydajnością.
Czym zajmuje się Data Analyst - dostarczanie wartości dodanej
Wyobraź sobie, że Data Engineer stworzył już świat. Dane są gotowe do użycia. Są już wyczyszczone, z odpowiednią strukturą i zaaplikowanymi regułami biznesowymi.
Gotowe do konsumpcji.
Teraz do gry wchodzi Data Analyst.
Przygotowywanie analizy i dashboardy w oparciu o dane.
Do tego na różnym etapie niezbędny jest język SQL.
Dane dostępne w bazie danych mogą zajmować wiele miejsca. Tworzenie raportów na całym zbiorze rzadko jest potrzebne. Czasami zachodzi potrzeba stworzenia dodatkowych struktur, wykorzystywanych później przez warstwę raportową.
W większości przypadków potrzebujesz wycinek tych danych, do tego zagregowany — czyli pogrupowany po wspólnych cechach.
Data Analyst łączy dane ze sobą. Rzadko jesteś zainteresowany tylko np. zamówieniami, interesujące jest też, czego te zamówienia dotyczyły, jakich pojazdów. Ale potem chcesz wiedzieć jeszcze więcej. Nie tylko jakie pojazdy, ale też jakie miały cechy. Możesz zaczynać od ogółu i schodzić do szczegółu.
SQL jest niezwykle przydatnym narzędziem ułatwiającym i usprawniającym pracę.
Warto wspomnieć, że Data Analyst nie tylko pracuje dużo z danymi, ale też konsumentami czy właścicielami tych danych.
Co stworzył Data Engineer i Data Analyst?
Już wiesz czym zajmuje się Data Engineer i Data Analyst.
Ich praca, to praca z danymi i SQL'em. W dobie chmury możesz powiedzieć, że to też praca z Azurem lub AWS ale uwaga.
Gdy nauczysz się SQL'a możesz tę wiedzę wykorzystać w innych dziedzinach albo na innych silnikach baz danych, gdy przenosisz się z SQL Servera na Oracle ciągle używasz SQL'a. Jak przesiadasz się na Impalę lub DataBriks także używasz SQL'a, żeby operować na danych.
Natomiast dostawcy chumurowi mają swoje specyficzne funkcje, które są charakterystyczne tylko dla ich platformy. To tak zwany vendor lock albo też knowledge lock.
Ale zostawmy dyskusję na temat chmury na razie.
Na koniec dnia, gdy praca Data Engineera i Data Analysta jest skończona, wychodzi z tego całkiem ładny świat.