Dane i ich strumienie. Z cyklu: Między logistyką a technologią.

W 2006 roku matematyk Clive Humby powiedział: Data is the new oil – dane to nowa ropa naftowa. Chciał w ten sposób podkreślić, ogromne znaczenie danych dla rozwoju biznesu w trzecim tysiącleciu.

Rola danych w nowoczesnym biznesie

Dane są gromadzone i przetwarzane we wszystkich firmach, a ilość zbieranych informacji wzrasta w postępie geometrycznym. Wielkie zbiory danych trzeba gdzieś gromadzić i przechowywać, aby potem można je było wykorzystać. Dlatego firmy inwestują w rozwiązania typu: Hurtownia danych, Operational Data Store (ODS), Data Lake czy Data Lakehouse.

Skąd biorą się ogromne ilości danych?

 Generuje je współczesny biznes, o czym napiszę dalej na przykładzie logistyki.

Wielkie zbiory danych idealnie nadają się na przykład do tego, by uczyć na nich modele sztucznej inteligencji. Co jednak, jeśli są to dane słabej jakości? Koszty uczenia sztucznej inteligencji są bardzo wysokie, więc użycie do tego złych danych to ryzykowna decyzja biznesowa i pieniądze „wyrzucone w błoto”.

Wyzwania czystości i spójności danych

W ostatnim kwartale byłem zaangażowany w trzy projekty Data Governance. Doświadczenie to uświadomiło mi, że im większe zbiory danych, tym trudniej utrzymać ich czystość i spójność. To jak zanieczyszczone paliwo w transporcie: może i uda się dojechać do celu, ale jeśli będziemy używać paliwa coraz gorszej jakości, wzrośnie ryzyko awarii floty i koszty jej napraw.

https://vroc.ai/VROC/media/images/News%20Images%20(768×505)/data-lake-visual.png

Nawet osoby słabo zorientowane w zagadnieniach technicznych bez problemu zrozumieją, jak wielka liczba danych jest generowana w zwykłych czynnościach życia codziennego. Wystarczy spojrzeć choćby na telefon komórkowy i potrzebną w nim pamięć. Znaczącą część pamięci zajmują zdjęcia (coraz większe ze względu na rozdzielczość aparatów), a każde z nich posiada dodatkowo cały zestaw przypisanych mu metadanych. Wraz ze zdjęciem zapisywane są m.in. model aparatu, parametry użyte podczas wykonywania danej fotografii, pozycja GPS (dane geograficzne), dokładny czas etc.

Robiąc przyjęcie PZ w WMS, często nawet nie zdajemy sobie sprawy, ile danych –  poza samym zapisem stanu magazynowego w odpowiedniej lokalizacji – generujemy. Systemy zapisują również: dokładny czas przyjęcia, użytkownika, stanowisko czy skaner, numer doku, wiele logów technicznych aplikacji WMS, bazy danych czy serwerów. Już zatem prosta operacja przyjęcia jednej pozycji z PZ generuje bardzo wiele danych, a jeśli dodamy do tego dane z urządzeń, robotów, czujników i wszystkiego co określamy mianem Internetu rzeczy lub IoT, to mamy prawdziwą eksplozję danych.

Ilości generowanych danych to bez wątpienia jedno z najważniejszych wyzwań dla współczesnej technologii.

Ilość i jakość danych: Główne wyzwania technologiczne

Drugim wyzwaniem jest jakość tych danych, i jest to wyzwanie tym większe, im więcej danych mamy. To dosyć logiczne bo im więcej danych tym większa szansa na błąd. Nawet jeśli wszystkie dane są poprawne z perspektywy systemów źródłowych ale nie są spójne (na przykład w czasie) to wyciągane wnioski mogą być całkowicie błędne. Całkowicie błędne łatwiej wyłapać, gorzej jeśli są błędne ale w stopniu, który pozwala to przeoczyć. Jeśli statek wiozący kontenery w ramach naszego łańcucha dostaw z jakiegoś powodu skręci o 90 stopni natychmiast zostanie to wyłapane nawet bez przyrządów, ale jeśli odchylenie wyniesie jeden stopień to bez kontroli i przyrządów można się zorientować po wielu dniach i i znacznie większych konsekwencjach.

ATLAS. Przetwarzanie strumieni danych w CERN

Atlas to jeden z eksperymentów i instrumentów i urządzeń działających w laboratorium CERN. To detektor o długości prawie 50m średnicy 25m i wadze 7000 ton, który służy detekcji cząstek powstałych w wyniku zderzeń jąder atomowych. W trakcie pracy dochodzi w nim do prawie dwóch miliardów zderzeń na sekundę. To natomiast powoduje wygenerowanie 60 milionów megabajtów danych. Żeby łatwiej to sobie wyobrazić to jest to taka ilość danych jak 5400 równoczesnych transmisji wideo w formacie 4k.

Takiej ilości danych nie da się nawet zapisać więc naukowcy zbudowali oprogramowanie do analizy danych “w locie” a dokładniej w strumieniu danych. Duży udział mieli w tym polscy naukowcy z kilku ośrodków, natomiast najbardziej zapadł mi w pamięć udział zespołu z AGH.
Otóż w czasie poniżej 2,5 mikrosekund oprogramowanie analizuje i wybiera około 100 000 zderzeń z tych dwóch miliardów do dalszej obróbki pomijając pozostałe dane. Imponujące, ale to nadal zbyt dużo aby to efektywnie zapisać i obrobić szczegółowo. W drugim kroku platforma ogranicza liczbę zderzeń do 100. To właśnie te zdarzenia są zapisywane i poddawane dalszej obróbce. Ich wybór trwa zaledwie 200 mikrosekund, a jest to już całkiem zaawansowana analiza.

Przetwarzanie strumieni danych: Zastosowania i technologie

CERN, podobnie jak inne ośrodki naukowe zajmujące się badaniami podstawowymi tworzą narzędzia i technologie używane szeroko w Świecie. Przecież to właśnie w CERN wymyślono znany nam wszystkim internet i protokół www, dzięki któremu czytacie ten tekst.

Opisany powyżej przykład z CERN to właśnie przetwarzanie strumienia danych lub przetwarzanie strumienia  zdarzeń.

Przetwarzanie strumieni danych (ang. Stream Processing) polega na analizie i przetwarzaniu danych w czasie rzeczywistym. Dane te są odbierane jako strumień zdarzeń, które muszą być natychmiast analizowane i przetwarzane, bez konieczności ich przechowywania. W logistyce, takie podejście jest kluczowe, ponieważ umożliwia szybkie reagowanie na dynamiczne zmiany – od ruchu towarów po zarządzanie zapasami.

 Logistyka

 W logistyce jest wiele obszarów wykorzystania analizy strumieniowej a kluczowe z nich to:

  • Procesy magazynowe: Dzięki analizie danych w czasie rzeczywistym, magazyny mogą automatycznie optymalizować ruch towarów i alokację zasobów.
  • Transport i zarządzanie flotą: Systemy mogą monitorować i optymalizować trasy w oparciu o bieżące informacje o ruchu drogowym czy warunkach pogodowych.
  •  Zarządzanie łańcuchem dostaw: Analiza strumieni danych pozwala na lepszą koordynację dostaw, co zmniejsza ryzyko opóźnień i minimalizuje koszty magazynowania.
  • Monitoring towarów: Możemy analizować dane od zewnętrznych dostawców i monitorować nasze towary w ramach globalnej sieci.
  • Marketing i biznes: W logistyce przetwarzanie strumieniowe może być wykorzystywane do analizy zachowań klientów i dostosowywania ofert w czasie rzeczywistym.
  • Automatyka i roboty: Wraz z rosnącą ilością automatyzacji w logistyce mamy coraz więcej danych z tych urządzeń, które pozwalają nie tylko na zwiększanie efektywności ale też na przewidywanie awarii i proaktywne działanie.

 Technologie do strumieniowania danych

Nośnikiem strumieni zdarzeń są najczęściej platformy do asynchronicznego przetwarzania danych. Warto może wymienić systemy kolejkowe jak RabbitMQ, ActiveMQ czy Amazon SQS. Powstały też specjalne rozwiązania do strumieniowania danych jak Apache Kafka i Kafka Streams, Apache Flink czy Apache Storm. Coraz częściej korzysta się też z architektury opartej na zdarzeniach czyli Event-driven Architecture. Oznacza to takie projektowanie systemów aby działały właśnie na zdarzeniach.
Koniecznie wspomnieć trzeba o rozwiązaniach wprost przygotowanych do analityki strumieni danych jak Oracle Stream Analytics czy Goldenore Streaming Platform.

 Praktyczne zastosowania w logistyce

Jeśli w magazynie przesyłka wjechała na sorter to powinna z niego wyjechać w skończonym, i to krótkim, czasie. Mając prosty system analizujący strumienie danych możemy badać czy w oknie czasowym po wjechaniu na sorter paczka z niego zjechała. Jeżeli nie – podnosimy alarm i działamy. Unikniemy w ten sposób, może awarii sortera, a na pewno reklamacji klienta, który zgłosiłby zaginięcie paczki kilka dni później. Po kilku dniach szukanie zaginionej paczki nawet we własnym magazynie jest ogromnym wyzwaniem, o czym wie każdy kto pracował w magazynie lub w obsłudze klienta.

Mając bieżące dane z pojazdów lub transportów, możemy odpowiednio poprzestawiać sloty w systemie YMS bez konieczności przestojów. Wiele firm korzysta z systemów monitorowania pojazdów i mogą podglądać na ekranie gdzie są w tym momencie naczepy, ciągniki i inne elementy floty. Dzięki przetwarzaniu strumieniowemu możemy połączyć te dane z danymi z innych systemów, lub podjąć działania natychmiast po wystąpieniu zdarzeń niepożądanych.

Monitoring towarów to nie tylko śledzenie towarów niebezpiecznych, regulowanych i nie tylko raportowanie. Tu ogranicza nas jedynie wyobraźnia i dostępne źródła danych. Czy będą to trackery, czy czujniki temperatury możemy z tych danych skorzystać nie w celu udowodnienia ciągłości zimnego łańcucha logistycznego ale po to żeby zareagować natychmiast jeśli może zostać przerwany.

Strumienie danych w marketingu i e-commerce

Moim obszarem zainteresowania i doświadczenia zawodowego poza logistyką jest marketing i e-commerce. Tam strumienie danych wykorzystuje się od lat. Do zwiększania konwersji czy wartości koszyka. Dokładnie tak samo działa marketing w logistyce, bo dlaczego nie wyświetlić spersonalizowanej reklamy uwzględniającej aktualnie tworzone zamówienie czy zlecenie w taki sposób, który spowoduje powiększenie zamówienia, marży lub zmniejszenie kosztów.

Do strumieni danych możemy też wykorzystać sztuczną inteligencję i zyskać nieprawdopodobnie mocne narzędzia do optymalizacji i rozwoju biznesu logistycznego. Opisany powyżej proces wyłuskiwanie interesujących zdarzeń w CERN wspierany jest właśnie sztuczną inteligencją.

Na co dzień pracuję w zespole ekspertów rynku finansowego, energetycznego i telekomunikacyjnego. To branże bardzo zaawansowane w korzystaniu z danych i ich analityki. Podmioty z tych branż bardzo mocno inwestują w ten obszar. Zarówno w strumieniowanie  danych, analitykę strumieni danych ale też w zarządzanie metadanymi (Data Governance).

W przypadku pytań zapraszam do kontaktu. Postaram się odpowiedzieć, pomóc czy choćby odbić pomysły a jak trzeba, także pomóc projektowo.

 

 

 

 

Źródła:

​​https://atlas.cern/Discover/Detector/Trigger-DAQ

Apache Kafka – What is it and how does it work?

Stream Processing with Apache Flink

Event-Driven Architecture Patterns – Martin Fowler

https://www.goldenore.com/en/solutions/by-domain/event-stream-processing

https://goldenore.gitbook.io/goldenore-cdc

 

Komentarze

Dobrze znowu Cię widzieć

Wszystko jest tam,
gdzie to zostawiłeś