Menu Zamknij

Tag: od zera do bohatera

Mieliśmy hurtownie, mieliśmy Data Lake. Czy teraz czas na Lakehouse? (OZDB #5)

Modern data warehouse a może lakehouse?

Czy Data Lake + Data Warehouse = Lakehouse? Czy będziemy używać podejścia Modern Data Warehouse?

Chciałbym przeprowadzić Cię przez dostępne koncepcje i zastanowić się jak będzie wyglądała przyszłość.

W ostatnim wpisie z serii Od Zera Do Bohatera przyjrzeliśmy się możliwością przechowywania danych nie tylko relacyjnych. Skupiliśmy się na poszczególnych produktach lub usługach. Natomiast, gdy budujemy system przetwarzający dane, to te wszystkie elementy składają się w pewną całość. Dzięki czemu potrafimy nad danymi zapanować.

Wiele z tych koncepcji ma już swoje lata. Napisano na ten temat mnóstwo artykułów i książek. Nie ma sensu odkrywać koła na nowo. Pozwól, że po prostu przeprowadzę Cię przez świat możliwości wraz z linkami do szczegółów.

Ale zacznijmy od początku. Na początku była… baza danych, ale ten etap przeskoczmy i skupmy się na analitycznych rozwiązaniach. Następna była:

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.