Menu Zamknij

Tag: przetwarzanie danych

ETL vs. ELT – różne podejścia do procesowania danych (OZDB #6)

W poprzednich artykułach z serii Od Zera Do Bohatera omówiłem różnego rodzaju pliki, z którymi możesz się spotkać oraz sposoby przechowywania danych nie tylko ustrukturyzowanych. W ostatnim z kolei opowiedzieliśmy sobie o nowoczesnych podejściach do projektowania systemu opartego o dane.

Do pełnego (wysokopoziomowego) obrazu brakuje nam jeszcze elementu odpowiadającego za przerzucanie danych z jednego miejsca do drugiego. I tu pojawiają się dwa podejścia – ETL vs. ELT.

Te idee nie są szczególnie nowe i już kiedyś o nich pisałem:

ETL vs. ELT, czyli różne podejścia do zasilenia hurtowni i repozytoriów danych

Powyższy tekst ma już kilka lat, ale zerknij do niego jeżeli jesteś ciekaw, jak te dwa podejścia można zastosować w samych relacyjnych bazach danych.

Ten artykuł traktuję jako wersję 2.0. Temat odświeżam tak, aby uwzględnić kontekst chmurowy. Ale zacznijmy pokrótce od podstaw.

Jak przechowywać dane (nie tylko) relacyjne? Na przykładzie Google Cloud Platform (OZDB #4)

Dane ustrukturyzowane czy nie? Relacyjne czy nie? Duże lub małe? Silna spójność w danych (ang. strong consistency) czy ostateczna (ang. eventual consistency)?

Sporo tego, prawda? W tym artykule rozwieję trochę wątpliwości. Myślę, że jak to omówimy, to w połączeniu z rozumieniem typów plików (przybliżonych w poprzednim wpisie), będzie Ci łatwiej poruszać się w świecie przetwarzania danych.

Temat różnych typów danych poruszyłem już we wpisie omawiających 7 pytań, które musisz zadać, projektując system przetwarzający dane. Jeżeli go nie znasz, to mocno zachęcam, aby spojrzeć na niego w pierwszej kolejności. Dzisiejszy artykuł jest jego rozwinięciem.

Z racji, że aktualnie najbardziej na czasie są technologie chmurowe, a mi z kolei najbliżej do Google Cloud Platform, to na tym rozwiązaniu się głównie skupimy, od strony narzędziowo-praktycznej. Większość z wymienionych tu usług odwiedzimy jeszcze osobno, aby dokładniej się im przyjrzeć, ale teraz chciałbym Ci te rozwiązania przedstawić z “lotu ptaka”. Umożliwi Ci to poznanie możliwości, które mamy w naszej palecie.

5 typów plików, z którymi spotkasz się pracując z danymi (OZDB #3)

W ostatnim wpisie serii Od Zera Do Bohatera omówiliśmy sobie jak podejść do tworzenia systemów przetwarzania danych. Wspomniałem tam, że przybliżę Ci różne źródła danych.

W tym wpisie skupmy się na plikach, bo bardzo często korzysta się z nich przy dostarczaniu danych, a wielokrotnie napotykałem przeróżne problemy z plikami, w których dostarczane są dane. Zarówno takie, które powodowały błędy podczas procesowania danych, jak po prostu schemat dostarczony wraz z plikami, kompletnie nie pomagał, aby dane zrozumieć.

Wyobraź sobie, że mamy taki diagram (model logiczny), który ma na celu zobrazować dane, które przetwarzamy:

Model logiczny

Wynika z niego, że mamy tabelę KLIENT, która przechowuje klientów z ich podstawowymi danymi i tabelę ADRES, która przechowuje adresy. Nie chciałbym wchodzić w analizę danych relacyjnych, ale na potrzeby tych przykładów zwróćmy uwagę, że jeden klient może mieć wiele adresów, a jeden adres w systemie może być przypisane jedynie do danego klienta. Nawet gdy mamy dwóch klientów pod tym samym adresem (np. małżeństwo), to adres występuje dwa razy i jest przypisany do dwóch różnych klientów.

Od zera do bohatera #2: 7 pytań, które musisz zadać, projektując system przetwarzający dane

W poprzednim wpisie serii Od zera do bohatera starałem się przekonać Cię, że niezbędne jest rozumienie danych, które przetwarzamy. Dzisiaj z kolei dowiesz się, na jakie rzeczy (w pierwszej kolejności) zwrócić uwagę projektując system przetwarzający dane.

Dla uproszczenia, na potrzeby naszych rozważań spójrzmy na przetwarzanie danych jako transformacja ich ze stanu A do B:

Stan A jest źródłem, a B jest Twoim celem.

Od zera do bohatera #1: Zrozum dane, które przetwarzasz. Przykład z życia

Jest to pierwszy artykuł z serii Od zera do bohatera. W tej serii chciałbym trochę wprowadzić Cię w świat przetwarzania danych. Całość ubieram w serię artykułów, które będą przeplatane innymi wpisami, ale dzięki temu łatwo będzie Ci odnaleźć całą serię na blogu.

W samych artykułach będę bazował zarówno na swoim doświadczeniu, jak i tym, czego aktualnie się uczę. Wierzę, że te kilkanaście lat zaowocowało wypracowanymi, dobrymi praktykami wyniesionymi z “placu boju” 🙂

Na pewno potrzebujemy trochę wprowadzenia (niezbędne minimum teorii), aby z czasem trochę “pobrudzić sobie ręce”, tworząc swoje przepływy danych.

Zacznijmy od przykładu – co się dzieje, gdy nie rozumiesz danych, które przetwarzasz.