Menu Zamknij

Mówisz Big Data, ja mówię Hadoop!

Nie ulega wątpliwościom, że wielkie magazyny danych są rzeczywistością, z którą na co dzień mierzy się wiele przedsiębiorstw. Sam etap zarządzania, przeprowadzania procesów obejmujących przetwarzanie czy analizowanie to coraz częściej spotykany repertuar, a idąc za tą koncepcją rozwoju, dużą rolę odgrywają również narzędzia i techniki mające usprawnić ich przebieg. Jednym z powszechnie znanych, dostępnych ofert dla obszarów Big Data jest w tym zakresie Hadoop.

Hadoop – czyli co?

Hadoop jest narzędziem, które umożliwia przechowywanie i przetwarzanie dużych ilości danych w środowisku rozproszonym. Został zaprojektowany do celów skalowania od pojedynczych serwerów do tysięcy maszyn, z których każda oferuje lokalne obliczenia i pamięć masową. To co w istocie ważne – model jest zaprojektowany do samodzielnego wykrywania i obsługi awarii w warstwie aplikacji, zapewniając w ten sposób wysoce dostępną usługę na klastrze komputerów, z których każdy może być podatny na awarie. 

Jednak żeby w pełni zrozumieć czym jest i jakie możliwości oferuje, warto poznać jego genezę.

Na początku był chaos i… Apache Nutch

Hadoop ma za sobą długą drogę jeśli mowa o jego powstaniu. Jako projekt open source, był i wciąż jest rozwijany przez społeczność entuzjastów, dzięki czemu doczekał się trzech głównych wersji a praca nad pierwszą datuje swój początek na rok 2005.

Można rzec, że historia rozpoczyna się w momencie kiedy Doug Cutting, jeden ze współzałożycieli Hadoop, realizował własny koncept o nazwie Lucene  będącym swoistą biblioteką wspierającą indeksację oraz wyszukiwanie pełnotekstowe. Twórca nie ograniczał się tylko do tego, ponieważ za kolejny cel uznał obszar związany z indeksowaniem stron internetowych. Do realizacji tego założenia swoją cegiełkę dorzucił Mike Cafarella a projekt z uwagi na wykorzystanie biblioteki Lucene stał się oficjalnym podprojektem Apache Lucene otrzymując jednocześnie swoją własną nazwę jaką jest Apache Nutch.

Ciężka praca przełożyła się na znacznie widoczne postępy i finalnie udało się wdrożyć Nutch na jednej maszynie, która była w stanie indeksować około 100 stron na sekundę. 

Dobra passa nie trwała jednak długo. Wraz z upływem czasu zaczęły pojawiać się problemy wynikające ze skalowalności a próba ich rozwiązania poprzez zwiększenie liczby maszyn była co najwyżej doraźna. Jak się okazało, oddało to negatywny wpływ względem problemów operacyjnych z uwagi na to, że system nie posiadał podstawowego menedżera klastra do wykonywania zadań operacyjnych.  W obliczu takich kluczowych wad Doug i Mike określili swoje oczekiwania co do najbardziej satysfakcjonującego rozwiązania. Zależało im aby mieć coś co przejawia cechy:

  • odporność na awarię,
  • równoważenie obciążeń,
  • zapobieganie utraty danych.

Burza mózgów przerodziła się w rozpoczęcie kolejnych etapów prac nad stworzeniem systemu marzeń. W międzyczasie jednak historia zatacza koło u progu obecnego giganta jakim jest Google. Opublikował on w 2003 roku dokumentację na temat Google File System (w skrócie: GFS), którego głównym założeniem było przetwarzanie i przechowywanie danych w sposób rozproszony. Koncepcja miała umożliwiać i usprawniać wykonywanie zadań, poprawić wydajność oraz odporność na awarię przy jednoczesnym uwzględnieniu kwestii finansowych, ponieważ na tamten moment firma nie mogła wdrożyć u siebie ówcześnie funkcjonujących ale przy tym i drogich rozwiązań.

Dostępny artykuł nie umknął uwadze Mikeowi i Dougowi, który, jak się okazało, zawiera w swojej strukturze sposób na te trudności z jakimi się zmagali. Zainspirowani, zdecydowali się w końcu na wdrożenie i rozpoczęcie rozwoju własnego Nutch Distributed File System (w skrócie: NDFS), który doczekał się finalizacji w 2004 roku i oficjalnego zakończenia problemów operacyjnych dla Apache Nutch.

…ale co dalej?

Dalej…kolejne prace nad rozwojem produktu i stworzenia algorytmu, który umożliwiłby przetwarzanie danych przechowywanych w NDFS tak aby wydajność można było podwoić poprzez podwojenie liczby maszyn. Naprzeciw wyszła ponownie firma Google publikująca w 2004 roku artykuł na temat MapReduce: Simplified Data Processing on Large Clusters.Główną ideą MapReduce było zapewnienie równoległości, odporności na błędy oraz lokalizowania danych czyli wykonywania programu w miejscu przechowywania danych. Ten koncept modelu został zaimplementowany w Apache Nutch rok później, a w 2006 roku Doug poszedł o krok dalej tworząc Hadoop Distributed File System (w skrócie: HDFS).

Przyszedł w końcu i czas na zaadoptowanie możliwości Hadoop’a. Problemy z wydajnością wyszukiwania odnotowała firma Yahoo!, która znając wszelkie walory tworów Google postanowiła przy pomocy Douga wdrożyć i jego system. W 2007 roku do kręgu zwolenników Hadoop’a dołączyły kolejne przedsiębiorstwa. W międzyczasie wprowadzano coraz to nowsze usprawnienia, walczono i przezwyciężono kwestię skalowalności i zarządzania zasobami. Ten etap dał tak naprawdę Hadoop’owi nowe życie kreując jego główne zalety takie jak między innymi:

  • zapewnienie wydajnego i szybkiego przetwarzania wsadowego (batch processing) w środowisku rozproszonym,
  • ograniczenie kosztów poprzez zastosowanie prostej infrastruktury,
  • możliwość przetwarzania zarówno danych ustrukturyzowanych jak i nieustrukturyzowanych, logów, zdjęć, audio czy e-maili.

Sprzyja to stałemu zainteresowaniu i wykorzystywaniu go do dnia dzisiejszego przez duże koncerny takie jak:

  • Yahoo!
  • Linkedin
  • Facebook
  • Hulu
  • Last.fm
  • Spotify
  • IBM
  • Twitter
  • Adobe
  • eBay
  • AOL
  • Dropbox
  • Cisco
  • Huawei
  • Microsoft
  • StumbleUpon
  • Apple
  • Google

Na skalę krajową natomiast, użytkownikami są między innymi:

  • Allegro
  • Pracuj.pl
  • IBM Netezza
  • PKO BP
  • BZWBK
  • Alior Bank
  • ING
  • ICM
  • IPI PAN

Co ciekawe…

  • Według szacunków International Data Corporation (IDC) Apache Hadoop w 2016 roku osiągnął wartość 812.8 milionów dolarów 
  • Nazwa Hadoop nie jest żadnym akronimem. Jak się okazuje, twórca projektu, Doug zainspirował się kreatywnością własnego syna – Hadoop to imię maskotki będącej żółtym słonikiem. 

Hadoop nie powiedział jeszcze „Dość!”

Bez wątpienia – Hadoop jest jedną z najbardziej rozpoznawalnych usług wykorzystywanych w pracach związanych z Big Data. Mimo, że czas biegnie i powstają coraz to nowsze, lepiej dostosowane usługi do coraz to bardziej specyficznych wymagań, to długo jeszcze będzie traktowanie tych obu pojęć w kontekście synonimów. Sam fakt przyłączenia Hadoop’a do wielkiej, rozpoznawalnej rodziny Apache Fundation i stały rozwój zarówno przez samą społeczność ale również i firmy korzystające z jego zasobów, powoduje, że wciąż jest o nim głośno a i sam jeszcze nie powiedział tego ostatniego słowa. Warto zatem przyjrzeć się tej technologii bliżej i poznać jej możliwości. 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *