Analityka

W kipiącym kotle, czyli technologie big data

W kipiącym kotle, czyli technologie big data

O tym, dlaczego Hadoop jest tak atrakcyjny, ciekawy, ale i niełatwy zarazem, i dlaczego specjaliści od technologii Big Data nie narzekają na brak pracy. Hadoop jest bardzo popularnym i relatywnie tanim rozwiązaniem problemu przechowywania oraz przetwarzania dużych ilości danych, z którymi obecnie nie radzą sobie tradycyjne bazy i hurtownie danych. Co ważne, Hadoop ma kilka właściwości, które lubi biznes. Po pierwsze, można tanio zacząć. Darmowa licencja oraz niewygórowane wymagania sprzętowe pozwalają na wystartowanie z małym klastrem Hadoop bez ponoszenia wysokich nakładów finansowych. Ponieważ mamy pełną skalowalność, na każdym późniejszym etapie można stosunkowo łatwo zwiększyć pojemność i moc obliczeniową klastra Hadoop przez dodanie kolejnych serwerów.

Oprócz tego Hadoop to także bogaty ekosystem zintegrowanych z nim narzędzi. Dzięki temu można wykorzystać go do rozwiązania wielu problemów biznesowych, począwszy od zadań typu ETL, przez wyliczanie agregatów i dokonywanie ad hoc analizy danych, aż po natychmiastową analizę pojawiających się danych strumieniowych. Przykładowo, Spotify wykorzystuje klaster Hadoop do generowania regularnych raportów dla wytwórni płytowych, wyliczania muzycznych rekomendacji dla swoich użytkowników, informowania użytkowników o muzycznej aktywności ich znajomych w czasie rzeczywistym oraz podejmowania strategicznych decyzji biznesowych, bazując nie na domysłach czy estymacjach, ale na podstawie analizy prawdziwych danych opisujących rzeczywiste zachowania użytkowników.

Jest moc!

Hadoop to bardzo zaawansowany system, który ukrywa przed użytkownikiem wiele trudnych aspektów programowania rozproszonego, takich jak: zrównoleglenie obliczeń, komunikacja między serwerami, odporność na awarie maszyn lub dysków. Dzięki temu programista może skupić się na implementacji logiki biznesowej swojej aplikacji, a osoby nawet bez doświadczenia w systemach rozproszonych mogą jeszcze tego samego dnia zaimplementować i uruchomić swoją pierwszą rozproszoną aplikację przetwarzającą terabajty danych na setkach, a nawet i tysiącach maszyn.


„Hadoop jest obecnie jednym z najbardziej ekscytujących projektów w świecie IT. Dotyka on tutaj tak wielu obszarów (przede wszystkim programowania aplikacji, analityki danych, administracji systemów, hardware, społeczności open-source), że właściwie każdy może w nim znaleźć coś dla siebie”


Nie ma jednak jednoznacznej odpowiedzi na pytanie, czy Hadoop to technologia, którą można nazwać dojrzałą. Hadoop jest już produkcyjnie używany od wielu lat, i to w znanych firmach gromadzących oraz przetwarzających duże dane. Firmy te wykorzystują Hadoop do przeprowadzania krytycznych dla ich biznesu obliczeń. W tym sensie to technologia sprawdzona w boju zarówno przez gigantów internetowych takich jak Yahoo! czy Twitter, jak i mniejsze firmy. Warto jednak zdawać sobie sprawę, że sukces produkcyjnego wykorzystania tej technologii w danej firmie nierzadko okupiony jest całymi dniami, a nawet miesiącami rozwiązywania skomplikowanych problemów związanych z jego administrowaniem i wykorzystaniem. Hadoop bywa kapryśny; widać to tym wyraźniej, im klaster staje się większy.

Hadoop (wraz z całym ekosystemem narzędzi) zmienia się bardzo szybko. Nieustannie pojawiają się nowe funkcjonalności, łatki czy trikowe ustawienia konfiguracyjne. Najlepszym przykładem jest YARN, który diametralnie zmienił Hadoop-a i otworzył możliwość uruchamiania na nim jeszcze bardziej różnorodnych typów aplikacji (czyli nie tylko MapReduce). Pojawia się też wiele nowych frameworków (np. Tez) bądź adaptuje się już istniejące (Spark, Giraph), aby mogły działać razem na tym samym klastrze Hadoop. Potrzeba trochę czasu, zebrania doświadczeń i wprowadzenia niezbędnych ulepszeń, aby tę część technologii można nazwać dojrzałą. W ostatnich dwóch latach w świecie Hadoopa dokonała się prawdziwa rewolucja. Trzeba wiele wysiłku, by stale być na bieżąco.

Big Data ≠ Hadoop

Kiedy pada hasło „Big Data”, zdecydowana większość ludzi pomyśli „Hadoop”, gdyż jest to najpopularniejsze rozwiązanie. Big Data jest jednak znacznie szerszym pojęciem, które obejmuje całe spektrum różnych technologii, i zdecydowanie nie należy utożsamiać go tylko i wyłącznie z Hadoop-em. To w ogóle coraz mniej precyzyjne określenie. Coraz częściej mówi się o tzw. „ekosystemie Hadoop”, czyli zbiorze różnych narzędzi, frameworków i technologii, które w mniejszym lub większym stopniu integrują się z klastrem Hadoop.

Kryteria, na których podstawie daną technologię uważamy za część ekosystemu Hadoop, nie są wyraźnie zdefiniowane. Istnieją rozwiązania Big Data, które z Hadoop-em nie mają nic wspólnego bądź związek ten jest bardzo luźny (np. Elastic Search). Tempo zmian w świecie Big Data jest zawrotne. Obecnie używane narzędzia są stale udoskonalane, wprowadzane są nowe funkcjonalności i jest ich naprawdę mnóstwo. Tworzonych jest też wiele nowych rozwiązań, które nierzadko starają się adresować te same problemy. Aby stać się ekspertem, należy uważne śledzić wszystkie zmiany, ciągłą ewaluację nowych produktów, umieć odnaleźć się wśród dziesiątek różnych technologii i być świadomym ich mocnych i słabych stron.


„Kiedy pada hasło „Big Data”, zdecydowana większość ludzi pomyśli „Hadoop”, gdyż jest to najpopularniejsze rozwiązanie. Big Data jest jednak znacznie szerszym pojęciem, które obejmuje całe spektrum różnych technologii, i zdecydowanie nie należy utożsamiać go tylko i wyłącznie z Hadoop-em. To w ogóle coraz mniej precyzyjne określenie. Coraz częściej mówi się o tzw. „ekosystemie Hadoop”, czyli zbiorze różnych narzędzi, frameworków i technologii, które w mniejszym lub większym stopniu integrują się z klastrem Hadoop”


Ponieważ wiedzy do przyswojenia jest tak dużo, pojawiają się różnorodne specjalizacje, zarówno pod kątem używanej technologii (np. Hadoop, Kafka), jak i zakresu obowiązków – można być administratorem Hadoopa albo inżynierem danych czy data scientist. Aby zostać prawdziwym ekspertem, choćby tylko w jednej specjalizacji, potrzeba lat ciężkiej pracy i udanych wdrożeń. Oczywiście, architekt systemów musi ogarniać całość tego złożonego ekosystemu.Kierunek rozwoju Hadoop-a nadaje środowisko open-source. Są to zarówno setki świetnych programistów współpracujących razem nad stworzeniem innowacyjnych narzędzi, jak i tysiące użytkowników z całego świata, którzy decydują, czy dana technologia przyjmie się na dobre, czy też popadnie w zapomnienie.

Dokąd zmierzamy

Przeszłość pokazuje, że trudno jest skutecznie prognozować, w jakim kierunku Hadoop będzie teraz zmierzał. Wymownie ujął to Arun C. Murthy, jeden z twórców Hadoop-a, który zapytany, jak będzie wyglądała przyszłość Hadoop-a po wprowadzeniu YARN, z uśmiechem odpowiedział: „Who knows?”. Wszystko dlatego, że Hadoop i rynek Big Data to miejsce wielu innowacji, eksperymentów, kontrybucji społeczności open-source i konkurencji między dostawcami oraz pojawiania się firm start-upowych. To sprawia, że Hadoop zmienia się w zawrotnym tempie, a do tego pojawiają się nowe fascynujące projekty.

Począwszy od 2006 roku, Hadoop przeszedł ogromną metamorfozę i zmienił się nie do poznania. Jeszcze kilka lat temu Hadoop był rozproszonym systemem z pojedynczym punktem awarii, bezpieczeństwem opartym na zaufaniu, uproszczonym sposobem zarządzania zasobami klastra, skalowalnością ograniczoną do 4 tys. węzłów oraz koniecznością uruchamiania aplikacji tylko jako zadań typu MapReduce. Dziś można o nim myśleć w kategoriach stabilnej i generycznej platformy, która może wykonywać najróżniejsze rodzaje obliczeń (w tym batch, online, streaming) i która stała się de facto standardem do przetwarzania dużych danych.


„Jeszcze kilka lat temu Hadoop był rozproszonym systemem (…) [ze] skalowalnością ograniczoną do 4 tys. węzłów oraz koniecznością uruchamiania aplikacji tylko jako zadań typu MapReduce. Dziś można o nim myśleć w kategoriach stabilnej i generycznej platformy, która może wykonywać najróżniejsze rodzaje obliczeń (w tym batch, online, streaming) i która stała się de facto standardem do przetwarzania dużych danych”


Wiadomo, że na pewno Hadoop również bardzo zmieni się w ciągu najbliższych lat. Wszyscy są zgodni, że powinien być łatwiejszy w zarządzaniu dla administratorów i wykorzystaniu przez analityków. Hadoop będzie jeszcze szybszy, będzie lepiej zarządzał zasobami obliczeniowymi klastra oraz będzie lepiej zintegrowany z innymi technologiami poprzez YARN (i być może również Slider). Gorące tematy dla Hadoop-a stanowią: chmura obliczeniowa, przechowywanie i przetwarzanie danych w pamięci RAM, przetwarzanie strumieniowe, szybki i w pełni funkcjonalny SQL oraz wizualizacja danych.

Otwartość rynku

Yahoo!, Twitter, Facebook, LinkedIn, Netflix, Spotify czy jeszcze kilka innych bardzo dobrze znanych firm bardzo chętnie dzielą się swoimi rozwiązaniami. To właśnie od nich pochodzi zdecydowana większość projektów z ekosystemu Hadoop i okolic. Dzięki temu inne, mniejsze firmy mogą stawiać czoła dużym ilościom danych. Na uwagę zasługuje podejście firmy Hortonworks, która każdą linię kodu napisanego przez ich pracowników przekazuje do projektów open-source na licencji Apache. Widać tu wyraźną chęć współpracy, dążenie do dzielenia się osiągnięciami z innymi podmiotami rynku – to zjawisko, które należy oceniać pozytywnie.

Najbardziej sekretną firmą jest Google, który w swoim zaawansowaniu w technologiach Big Data wydaje się wyprzedzać o kilka lat resztę świata, ale szczegółów specjalnie nie ujawnia. Niemniej trzeba odnotować, że Google publikuje artykuły naukowe, na których podstawie odtwarzane są potem zmieniające świat technologie. Tak było przecież w przypadku Hadoop-a, który został zaimplementowany na podstawie dwóch publikacji Google z 2003 i 2004 roku!

Kadry

Biorąc pod uwagę zainteresowanie firm technologiami Big Data, brakuje osób wszelkich specjalności. Począwszy od administratorów potrafiących zainstalować, skonfigurować i zarządzać klastrami, przez analityków umiejących wykorzystać Hadoop do ekstrakcji wiedzy z olbrzymiej ilości gromadzonych danych, po architektów dbających o jakość i spójność rozwiązań oraz planujących harmonijny rozwój platformy Big Data w ich organizacji.

Trudne jest nadążanie za tempem, w którym zmieniają się technologie Big Data. W przypadku analityków wyzwaniem jest opanowanie różnorodnych aspektów związanych z łączeniem ze sobą wielu skomplikowanych umiejętności, takich jak programowanie w technologiach Big Data, statystyka czy wizualizacja danych.

Popyt na specjalistów od Big Data jest zdecydowanie większy niż liczba osób, które faktycznie się na tych tematach znają. Nikt z doświadczeniem i wiedzą na temat Big Data nie narzeka na brak ciekawych ofert pracy. Nie ma tutaj jakieś powszechnie uznawanego systemu certyfikacji i ścieżek rozwoju zawodowego – liczy się przede wszystkim praktyczne doświadczenie projektowe.

Adam Kawa jest współzałożycielem firmy GetInData i konsultantem w projektach dotyczących danych i Big Data. Pomaga firmom zmierzyć się z wyzwaniami dotyczącymi przetwarzania danych z wykorzystaniem narzędzi ekosystemu Hadoop. Wcześniej przez dwa lata był kluczowym członkiem zespołu Hadoop w firmie Spotify, gdzie uczestniczył w rozwoju jednego z największych i najszybciej rosnących klastrów Hadoop w Europie. Pracował także jako inżynier danych w ICM na Uniwersytecie Warszawskim. Bloger technologiczny, prelegent na wielu konferencjach, animuje grupy networkingowe Hadoop User Group w Sztokholmie i w Warszawie.

Piotr Krewski jest drugim ze współzałożycieli firmy GetInData i konsultantem w projektach dotyczących danych i Big Data. Posiada duże doświadczenie praktyczne w zakresie pisania aplikacji działających w klastrach Hadoop, zarządzania nimi i ich rozwoju. Zaangażowany był w rozwój klastra Hadoop w Spotify w Szwecji. Działa jako szkoleniowiec Hadoop, oferując własne programy edukacyjne, także na zamówienie, dla administratorów, deweloperów i analityków zajmujących się rozwiązaniami Big Data. Absolwent Uniwersytetu Warszawskiego.

Big Data Technology Summit, Warszawa, 25-26 Lutego 2015 r.
W dniach 25-26 lutego 2015 r. w Warszawie odbyła się konferencja Big Data Technology Summit. O swoich doświadczeniach opowiadali znakomici prelegenci z Polski i zza granicy, a słuchało ich audytorium liczące ok. 200 osób. Ze względu na bardzo ambitny program Enterprise Software Review objęła konferencję swoim patronatem. Więcej informacji na temat konferencji można znaleźć pod adresem: www.bigdatatech.pl