Jak zacząć przygodę z danymi

Jak zacząć przygodę z danymi

Mogłoby się wydawać, że ponad dekadę temu, kiedy sam zaczynałem przygodę z danymi, było łatwiej.  Stanowisk w IT związanych z przetwarzaniem danych nie było tak wiele, głównie na rynku można było spotkać SQL Developerów, Programistów Hurtowni Danych, Developerów Business Intelligence. 

 

Czas płynie, technologie się zmieniają, podobnie jak nazwy stanowisk, dzisiaj często na rynku spotkamy Inżynierów Danych (Data Engineer), Analityków Danych (Data Analytics) czy specjalistów z obszaru Business Intelligence. 

 

Jak się w tym wszystkim nie pogubić, od czego zacząć? Na co warto zwrócić uwagę, gdy chcemy rozpocząć przygodę z danymi w nowej dekadzie? Na te i inne pytania spróbujemy sobie odpowiedzieć w tym artykul.

 

TL;DR

W 3 zdaniach podsumowanie: Zacznij od SQL-a + podstaw relacyjnych i nierelacyjnych baz danych. Patrz jak „duzi’ gracze budują architekturę. Zastanów się czego tak naprawdę Twój biznes chce, i postaraj się im to dostarczyć w przejrzystej formie używając „odpowiednich” (tj. właściwych do właściwego zadania) narzędzi.

 


Jak Zacząć Przygodę Z Danymi

 

Zacznijmy od podziału obszaru danych na 3 warstwy:

  • inżynieria danych (data engineering)
  • analityka i wizualizacja danych 
  • data science + uczenie maszynowe

Data Pyramid

Źródło: https://medium.com/@thedsa.in/data-science-eco-system-of-a-company-data-engineer-vs-data-scientist-92511c6cc6b4

 

W każdej z nich zdefiniuje: podstawy, materiały i rzeczy które warto śledzić.

 

DATA ENGINEERING

 

Inżynieria danych w mniejszym,  a często w większym stopniu przyda się każdemu kto chce pracować z danymi. Jaki jest jej cel? Dość prosty, to serce Twojego systemu danych. To z jej pomocą pompujesz dane z różnych źródeł, dokonujesz transformacji, dbasz o jakość i o to żeby wszystko wykonało się na czas. Bez solidnej inżynierii danych, budowanie sensownych modeli analitycznych, podejmowanie biznesowych decyzji w oparciu o wizualizacje, czy podejście do tematu data science, nie ma większego sensu. 

 

Do terminologii z jaką spotkasz się w tej części należą: hurtownie danych, big data, procesy ETL-owe (Extract – Transform – Load) lub ELT (Extract – Load – Transform), strumieniowanie danych (data streaming), kolejki, scheduling (planowanie przetwarzania) itp. 

 

Uwaga: w ofertach pracy znajdziesz sporo chwytliwych haseł (brzmiących niekiedy jak nazwy Pokemonów), związanych z technologiami używanymi w tej warstwie. Niech Cię to nie zmyli. Technologie są ważne, ale nie najważniejsze. Jak wszystko w świecie IT tak i one się zmieniają, ale podstawy, koncepcje i pewne dobre praktyki architektoniczne, długo zostają fundamentalne.

 

Dlatego też, w tej ale też i w kolejnych warstwach, najważniejsze będą dla mnie kluczowe elementy. Elementy, które pozwolą Ci na zbudowanie solidnej podstawy do dalszego rozwoju.

 

DATA ENGINEERING – PODSTAWY

 

SQL 

 

Słyszysz te pomruki, szeptanie i oznaki niedowierzania? “SQL umarł”, “SQL-a to teraz każdy zna”, “NoSQL to jest przyszłość” wołają specjaliści z różnych stron, być może “ale nie uprzedzajmy faktów”.

 

Ponad 10 lat pracuję z danymi, na różnych stanowiskach w różnych firmach – głównie sporych zagranicznych korporacjach. Jedno wiem na pewno – „SQL jest król danych, tak jak Lew jest król dżungli”.

 

Język w swoich podstawach jest prostszy i logiczny co czyni go łatwo dostępnym dla różnych stanowisk nie tylko stricte związanych z IT. Jest z nami prawie tak długo jak same bazy relacyjne – grubo ponad 3 dekady – 1986.

 

Nie ignoruj go, nawet jeżeli SELECT-y nie będą Twoją codziennością, ilość przypadkowych (a może lepiej nieprzypadkowych) miejsc w których okaże się pomocny jest ogromna. Głównie w miejscach gdzie “pod spodem” znajdują się relacyjne źródła danych (relacyjne bazy danych – systemy ERP / CRM / Hurtownie Danych),  

 

Relacyjne Bazy Danych – główne koncepcje + architektura wybranej bazy np. PostgreSQL

 

Podobnie jak z SQL-em – to się nie skaluje, relikt z lat 70-tych. Bazy NoSQL, grafowe to jest przyszłość, być możę “ale nie uprzedzajmy faktów”. 

 

Przez prawie pół wieku systemy informatyczne powstawały w oparciu o bazy relacyjne, i uwaga dalej powstają. Czy to dobrze, czy źle? Nie mi oceniać, fakt jest jednak taki, że na swojej drodze z relacyjnymi bazami danych spotkasz się nie raz.

 

Zrozumienie koncepcji relacji, zasad A.C.I.D, architektury (jak faktycznie wygląda baza danych) i zapoznanie się z samą bazą od przynajmniej jednego dostawcy to rozsądne minimum.

 

Bazy nierelacyjne (NoSQL) – główne koncepcje + kilka poglądowo przejrzeć

 

Not Only SQL, ano właśnie – nie tylko SQL. Nie, zastępstwo dla SQL-a. To ważne, podobnie jak słowo komplementarne, czyli dopełniające / uzupełniające. 

 

Tak postrzegam rolę systemów NoSQL, jako systemy komplementarne dla systemów relacyjnych. Używane tam gdzie potrzeba, z uwzględnieniem ich specyfiki. Czy można “przepisać” system z bazy relacyjnej na bazę nierelacyjną, pewnie można, tylko po co? 

 

Zapoznając się z tematyką baz NoSQL, zwróć uwagę na kluczowe koncepcje i podział baz nierelacyjnych – bazy klucz wartość, bazy dokumentowe etc. Zwróć uwagę, gdzie są wykorzystywane, jak “duzi gracze” ich używają (np. Uber, Spotify).

 

W materiałach poniżej znajdziesz książkę, gładko wprowadzającą w tą tematykę.

 

Hurtownie Danych (Kimball) + Zarządzanie Jakością i Metadanymi

 

Gdzieś te wszystkie dane trzeba trzymać, hurtownie danych czy popularne ostatnimi czasy date lake, szybko nie zniknął a i problemy z jakimi się borykają są ciekawe.

 

W tym kontekście warto zerknąć na podstawy architektury i zagadnień hurtowni danych od Ralpha Kimballa. W swoich książkach, ale również na stronie ( https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/) znajdziesz sporo informacji i dobrych praktyk w konkteście modelowania, zarządzania i ogólnie pracy z danymi. 

 

Pamiętaj, że technologie się zmieniają, jednak temat metadanych, jakości danych, ról w zespołach związanych z przetwarzaniem danych zawsze będzie aktualny.  

 

Procesy ETL / “Strumieniowanie” danych + eventy (patrz jak robią to inni – Uber / Spotify / Netflix etc.)

 

Schodzimy do szczegółów czyli samego smaczku przetwarzania danych. I nie mam tutaj jednej wspaniałej recepty na wszystko.

 

Podejście i sposoby rozwiązywania problemów, będą się różnić w zależności od Twojego miejsca pracy – tak przynajmniej przypuszczam. Z własnego doświadczenia, zawsze są jakieś różnice 😉 

 

Co jednak na pewno warto robić, to warto śledzić jak takie tematy są adresowane przez firmy, które na danych opierają swój biznes w znacznym stopniu. Uber, Spotify, AirBnB, Netflix w internecie znajdziesz blogi tych (i innych) firm czy wpisy konkretnych pracowników. Opisujące często w szczegółach podejście do architektury, czy rozwiązania konkretnych problemów.

 

Jest to zwykle spora dawka wiedzy, ale też dobry materiał do tego żeby rozważyć jak dane podejście sprawdza sie u innych i czy jest potrzebne u Ciebie?

 

Big Data (Lambda Architecture)

 

Popularny temat, każdy ma big date, mało kto wie co z nią zrobić … Możesz rzucić się na jakąś technologie a po miesiącu się okaże, że w sumie jest na rynku już coś innego. 

 

W tym jak i w poprzednich akapitach skupiłbym się na ogólnym podejściu. Poznaniu problemów z jakimi Big Data musi się mierzyć i potencjalnych rozwiązaniach. W miarę zgłębiania tematu, zdasz sobie sprawę, że problemy mogą być logicznie proste, ale w przypadku implementacji nie jest to wcale takie trywialne. Konkretne rozwiązania / problemy mogą stać się Twoją specjalizacją, ale “nie uprzedzajmy faktów”. 

 

DATA ENGINEERING – MATERIAŁY 

 

 

DATA ENGINEERING – KOGO ŚLEDZIĆ

 

Lista poniżej mogłaby być kilka razy dłuższa. Postanowiłem się skupić na osobach / firmach / produktach, które najcześciej przewijają się u mnie i od których czerpię najwięcej informacji.

 

 

ANALITYKA I WIZUALIZACJA DANYCH

 

Tutaj sprawa jest o tyle skomplikowana, że można wpaść “w sektę” produktu np. Power BI / Qlik i pięknie sobie radzić w niszy. Ja jednak kolejny raz radziłbym się skupić na rzeczach wspólnych w temacie tj. problemach biznesowych i opcjach ich rozwiązania w różnych technologiach. 

 

Analityka i Wizualizacja Danych – Podstawy

 

Metryki Biznesowe Finansowe

 

Tematy związane z: Balance Sheets, Income Statements, Rolling Orders, Sales etc. 

 

Metryki Biznesowe Magazynowanie / Logistyka 

 

Tematy związane z: On Time Delivery, Manufacturing Planning, Freight Costs + Shortest Paths etc.

 

W powyższych przypadkach, nie znalazłem wspaniałych materiałów żeby ułatwić Ci start, raczej ogólne rzeczy. Pamiętaj jednak, że w swojej podstawowej formie te tematy będą wspólne pomiędzy firmami. Mogą być różnie zaimplementowane / różnie prowadzone i egzekwowane, ale koncepcyjnie cele tych metryk będą takie same. 

 

Szukaj konkretnych tematów na blogach branżowych.

 

Odpowiednie przedstawienie wyników (design warstwy wizualizacyjnej)

 

Dobra wizualizacja to sztuka sama w sobie. Nie jest trudnością nawrzucać danych z różnych źródeł i zrobić X zakładek w Excelu i przesłać to do biznesu niech sobie radzi 😉 

Dobry design jest też często rzeczą umowną i dla każdego definicja “dobry design” może być różna. Jednak jest kilka podstawowych zasad wizualizacji danych, które warto znać. 

Często są one opisywane przez producentów różnych rozwiązań Analitycznych / Business Intelligence – patrz Qlik / Tableau czy Power BI.

Możesz też zerknąć na dokument przygotowany przeze mnie, otrzymasz go po zapisie na Newsletter. 

 

Dostępne narzędzia na rynku

 

Tutaj pomocne mogą okazać się wszelkiego rodzaju zestawienia np. 

itp.

 

Jak działają produkty z rynku wady i zalety (przetwarzanie in-memory, przetwarzanie danych (data lineage) etc.)

 

Analityka i Wizualizacja Danych – Materiały

 

 

Analityka i Wizualizacja Danych – Kogo śledzić

 

 

DATA SCIENCE | UCZENIE MASZYNOWE

 

W obszarze data science / uczenie maszynowe, mam najmniej doświadczenia, dlatego tutaj szukałbym rady wśród innych specjalistów. Zbiór poniżej to moja czysto subiektywna opinia. 

Warsztaty o których słyszałem sporo pozytywnych opinii lub sam brałem w nich udział. Osoby udzielające się w środowisku czy popularyzujące wiedzę z tej właśnie dziedziny.  

Na pewno można by sporo dodać w tej sekcji, ale zostawiam to już Twojej ciekawości.

 

DATA SCIENCE | UCZENIE MASZYNOWE – NA CO WARTO ZWRÓCIĆ UWAGĘ

 

  • SQL
  • Python
  • Notebooks (przykład: Jupyter)
  • Data Cleaning
  • Klasyfikowanie Danych
  • Dobór Cech (Feature Engineering)
  • Testy A/B
  • Sieci Neuronowe
  • Zadawanie dobrych pytań 🙂

 

DATA SCIENCE | UCZENIE MASZYNOWE – MATERIAŁY

 

 

DATA SCIENCE | UCZENIE MASZYNOWE – KOGO ŚLEDZIĆ

 

 

Powyższe punkty nie wyczerpują tematu, to oczywiste, ale na pewno jest to solidna podstawa, do tego żeby zacząć przygodę z danymi.

 

Jeżeli chcesz dodać coś do tej listy, pisz śmiało w komentarzu.

 

Dzięki,

Krzysiek

2 thoughts on “Jak zacząć przygodę z danymi”

  1. Przydatny zbiór materiałów, zwłaszcza linki do twitterowych profili, których sporej liczby wcześniej nie znałem (nie siedzę aktualnie za bardzo w inżynierii danych, ale mimo to lubię być w miarę na bieżąco z innymi dziedzinami informatyki). Pozdrawiam!

Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *