Dla wielu osób Hadoop nierozerwalnie łączy się z pojęciem Big Data i jest to skojarzenie niezwykle słuszne. Ostatnio widać, że powoli ta usługa odchodzi w cień innych, młodszych, wydajniejszych, ale niewątpliwie nadal warto znać jej historię. Od czego to wszystko się zaczęło?
Hadoop – historia i podstawy
Zanim przejdziemy do opisu samej technologii, warto przybliżyć kulisy powstania Hadoopa. Jako geneza wskazywany jest rok 2003 i to przez jego ojców, Douga Cuttinga oraz Mike’a Cafarellę. Wtedy też Google udostępnił dokumentację o GFS (Google File System). W ramach tego rozwiązania wykorzystywano koncepcję przetwarzania i przechowywania danych w rozproszonej infrastrukturze. Wszystko po to, aby móc wykonywać potrzebne zadania, nie inwestując jednocześnie w topowe, drogie serwery, na co Google nie mogło sobie kiedyś pozwolić.
Jednocześnie jeden ze współtwórców tego rozwiązania, Doug Cutting, pracujący wówczas w Yahoo, musiał rozwiązać problem związany z indeksowaniem treści. Największy kłopot tkwił w potrzebnej ilości mocy obliczeniowej, której nie były w stanie dostarczyć dostępne serwery. W pewnym momencie wpadł na świetny pomysł. Zauważył, że większość komputerów w biurze jest cały czas włączona, także w nocy, i finalnie opracował framework, pozwalający na wykonywanie zadań obliczeniowych w rozproszonym środowisku. W taki oto sposób Hadoop trafił na środowisku produkcyjne i stał się początkiem czegoś większego.
Początkowo Hadoop składał się z dwóch elementów: HDFS (Hadoop Distributed File System) oraz MapReduce. Pierwszy z wymienionych pozwala na zapis danych, dzielenie ich na bloki oraz ich replikację, z kolei drugi umożliwia wsadowe przetwarzanie danych. Oczywiście w miarę rozwoju dodawano kolejne usługi wokół Hadoopa, ale nie stanowiły one fundamentu. Warto też dodać, że MapReduce dalej jest używany, kiedy potrzebne jest przetworzenie ogromnej ilości informacji, ale mniej istotny pozostaje czas realizacji tego zadania.
Skąd natomiast wzięła się nazwa Hadoop? Mianowicie właśnie tak miał na imię zabawkowy słoń syna Douga Cuttinga, który został zresztą logo Hadoopa.
Hadoop szybko stał się również jednym z czołowych oraz najbardziej rozpoznawalnych projektów Fundacji Apache. Dzięki temu to nadal rozwiązanie open-source, a za jego rozwój odpowiedzialna jest sama społeczność, choć także firmy, wykorzystujące go we własnych ofertach, dbają o dodawanie nowych funkcji oraz integrację z kolejnymi technologiami.
Hadoop i jego przyszłość
Bez wątpienia Hadoop pozostaje najbardziej rozpoznawalną usługą związaną z Big Data. Dla wielu osób są to swoiste synonimy, jednak w miarę rozwoju całego ekosystemu, trzeba uczcicwie przyznać, że już nadszedł czas przechodzenia na inne usługi, lepiej dostosowane do konkretnych wymagań.
Wśród podstawowych zalet Hadoopa należy wspomnieć o: łatwej skalowalności, tańszym przechowywaniu dużych danych (niekoniecznie efektywnym przy dużej liczby plików), elastyczności, wysokiej niezawodności oraz w miarę dobrej szybkości. Mimo wszystko nie należy zapominać o pewnych wadach. Na pewno trzeba dodać, że wspomnieć o złożoności całej architektury, która sprawia problemy nawet potentatom, pokroju Faceboka, więc aktualnie wiele mówi się o postawieniu na uproszczenie platformy.
Na pewno klarownym kierunkiem rozwoju Hadoopa pozostaje postawienia na rozwiązania hybrydowe, wykorzystujące chmurę. Jednocześnie pełne wsparcie dla Kubernetesa oraz zapewnienie wysokiej niezawodności brzmi obiecująco i z pewnością pozwoli przedłużyć życie tej technologii. W tym miejscu trzeba jeszcze napisać coś o wadach, takich jak wolne przetwarzanie danych (bez korzystania ze Sparka czy Flinka), spore opóźnienia, kłopotliwe przechowywanie małych plików w dużej liczbie, albo też skomplikowanie samego kodu źródłowego.
Stabilny fundament Big Data, czyli Hadoop
Hadoop odegrał niezwykle ważną rolę. Aktualnie to tylko jeden z wielu komponentów ogromnych systemów, w których wykorzystuje się szereg innych usług i widać, że obecnie poszukiwane są skuteczniejsze rozwiązania. Mimo wszystko Apache Hadoop nadal nie powiedział ostatniego słowa.