Hadoop - a co to takiego?

Otwarta platforma Apache Hadoop cieszy się ogromnym zainteresowaniem największych producentów sprzętu oraz oprogramowania. Większość z nich już wprowadziła lub planuje wdrożenie rozwiązań wykorzystujących tę technologię. Użytkowników Hadoop na razie nie jest wielu, ale jest wśród nich sporo znanych firm. Dlatego nie należy lekceważyć tej platformy oraz potencjalnych korzyści biznesowych wynikających z jej zastosowania i to nie tylko w dużych korporacjach, ale również średnich firmach.

Projekt Hadoop rozpoczęto w 2005 r., a pierwszą produkcyjną wersję Hadoop 1.0 opublikowano pod koniec 2011 r. Obecnie trwają prace nad drugą wersją oprogramowania, która być może pojawi się jeszcze w tym roku.

Wydaje się, że autorzy tego projektu trafili w dziesiątkę. Pod koniec ostatniej dekady, firmy i organizacje zaczęły poszukiwać mechanizmów, które umożliwiłyby uzyskanie biznesowych korzyści z analizy ogromnych i wciąż szybko rosnących zbiorów danych przechowywanych we własnych systemach IT. W 2009 r. pojawiło się i ogromna karierę zrobiło hasło "Big Data". Chociaż do dziś brakuje jego definicji i nie wiadomo, co precyzyjnie ten termin oznacza, to i tak niemal każdy producent sprzętu i oprogramowania dla firm ma w ofercie rozwiązania, w których opisie pojawia się to określenie. A Hadoop od początku zaprojektowano jako platformę pamięci masowej umożliwiającą obsługę dużych zbiorów i wspomaganą przez programistyczny framework MapReduce, ułatwiający tworzenie narzędzi i aplikacji do analizy informacji. Dodatkowo, w odróżnieniu od klasycznych baz relacyjnych, oprogramowanie od podstaw zostało przygotowane do zarządzania bazami zawierającymi informacje niestrukturalne.

Hadoop i powiązane projekty

Apache Hadoop to skalowalna platforma do przechowywania i zarządzania dużymi zbiorami danych. Jej ogólna koncepcja polega na podziale dużych zbiorów na mniejsze fragmenty, które mogą być równolegle przetwarzane w wielu węzłach wykorzystujących standardowe serwery. Oprócz tego Hadoop obsługuje dane niestrukturalne i jest niezależny od systemu operacyjnego.

Na potrzeby Hadoop są rozwijane też kolejne projekty powiązane z tą technologią, takie jak: MapReduce, platforma programistyczna, HDFS (Hadoop Distributed File System) - system plików zapewniający wysoką wydajność dostępu do danych, oraz Common - zestaw narzędzi wspomagających rozwijanie oprogramowania.

Należy tu podkreślić, że Hadoop z założenia nie ma zastępować istniejącej infrastruktury centrów danych, a uzupełniać ją o nowe funkcje związane przede wszystkim z możliwością analizy dużych zbiorów danych strukturalnych i niestrukturalnych. Wykorzystując narzędzia, takie jak Apache Flume (obsługuje dwukierunkową wymianę danych między systemami RDBMS i Hadoop) czy Apache Sqoop (przekazywanie logów systemowych do Hadoop w czasie rzeczywistym), można zintegrować istniejący system z oprogramowaniem Hadoop i zacząć przetwarzać dane nie martwiąc się o ich objętość. Przy wzroście liczby danych trzeba tylko pamiętać o dodawaniu kolejnych węzłów Hadoop obsługujących rosnącą pamięć masową i kolejne serwery przetwarzające dane.

Kolejna wersja Hadoop jest projektowana nie tylko pod kątem zwiększenia możliwości skalowania systemu, ale zawiera również innowacyjne rozwiązania, takie jak platforma Yarn (MapReduce nowej generacji), która ma umożliwić wykorzystanie niezależnych od MapReduce narzędzi analitycznych. W efekcie pozwoli to m.in. na obsługę aplikacji czasu rzeczywistego lub algorytmów sztucznej inteligencji, wykorzystującej mechanizmy samodzielnego uczenia się systemu.

Platforma Hadoop nie powinna być uważana za coś, co ma zastąpić istniejącą infrastrukturę centrum danych. Jest to oprogramowanie, które może istotnie zwiększyć efektywność zarządzania danymi i pamięcią masową.


TOP 200