Hadoop - a co to takiego?

Co Hadoop może, a czego nie

Hadoop jest platformą, którą można wykorzystać do analizy danych z takich źródeł, jak sieci społecznościowe lub zbiory plików graficznych. Nie oznacza to, że system ten nie jest przydatny do obsługi standardowych, strukturalnych zbiorów danych. W tym przypadku oferuje on względnie niski koszt obsługi bazy w porównaniu ze standardowymi bazami relacyjnymi i narzędziami RDBMS. Jeśli jednak użytkownik ma niewielkie wymagania w zakresie pojemności pamięci (nie korzysta z Big Data), to wydajność przesyłania informacji między Hadoop i systemem RDBMS może być problemem.

Jedną z dziedzin, w której zastosowanie tej platformy najczęściej nie ma sensu, są systemy transakcyjne. Z natury są one bardzo skomplikowane, bo jedna uruchomiona w systemie transakcja może generować wiele dodatkowych operacji, które muszą być szybko wykonane. Nie jest to scenariusz pasujący do architektury Hadoop.

Platforma nie nadaje się również do zastosowań w systemach, które wymagają bardzo niskich opóźnień odpowiedzi. Na przykład w przypadku serwerów webowych korzystających z bazy MySQL pracującej w typowym stosie LAMP, Hadoop z reguły nie zapewnia wystarczającej wydajności.

Oprogramowanie wykorzystuje mechanizmy przetwarzania wsadowego (batch processing) i nadaje się do zastosowań w aplikacjach do indeksowania plików, rozpoznawania wzorców, budowy mechanizmów rekomendacyjnych itp., a więc wszędzie tam, gdzie dane są zapisane w bardzo dużych zbiorach obsługiwanych przez Hadoop, a zapytania są kierowane z opóźnieniem i nie wymagają natychmiastowej odpowiedzi.

Czasami jednak oprogramowanie może znaleźć zastosowanie w systemach, które są uznawane za nieodpowiednie do wdrożenia Hadoop. Dobrym przykładem jest korporacyjna strona webowa obsługująca komercyjne transakcje handlowe. Jak mówi Sarah Sproehnle, dyrektor działu Educational Services w Cloudera, w jednej z korporacji będącej klientem tej firmy dane z takiej strony przed ich zapisaniem w hurtowni danych powinny być poddawane standardowej procedurze ETL (Extract, Transform, Load), wykonywanej w nocy i trwającej ok. 3 godzin. Po jej wykonaniu objętość zapisywanych w hurtowni danych jest zmniejszana prawie 5-krotnie w porównaniu do wielkości początkowej. Ale ETL powoduje, że niektóre oryginalne informacje są bezpowrotnie tracone, i jeśli pojawi się koncepcja analizy innych niż dotąd parametrów, nie zawsze jest to możliwe.

Po wdrożeniu Hadoop, okazało się, że nastąpiło zasadnicze zwiększenie efektywności systemu. Dane z serwerów webowych zapisywano w systemie plików HDFS i zamiast korzystania z ETL poddawano analizie wykorzystującej funkcje MapReduce, a następnie przesyłano do hurtowni. Okazało się, że w ten sposób można było istotnie skrócić czas operacji, a jednocześnie zachować oryginalne informacje w systemie Hadoop i wykorzystać je w razie pojawienia się takiej potrzeby.

Użytkownicy i ich opinie

Wśród użytkowników Hadoop można wymienić takie firmy i organizacje, jak: eBay, Facebook, Google, IBM, JPMorgan Chase, LinkedIn, NASA, Netflix, New York Times, Tagged, Twitter, Walmart, Yahoo i inni.

Naukowcy z NASA sądzą, że platforma Hadoop zapewni podstawę do realizacji niektórych nowych projektów, w tym m.in. Square Kilometer Array, który będzie wymagał przetwarzania strumienia danych z wydajnością sięgającą 700 TB/s.

Twitter jest kolejną dużą firmą wykorzystującą Hadoop. "Praktycznie wszystkie mechanizmy tworzenia spersonalizowanych odnośników do produktów wykorzystują technologie Hadoop" - mówi Oscar Boykin, zajmujący się analizą danych w Twitterze. Firma ta wdrożyła platformę Hadoop już 4 lata temu i opracowała własną bibliotekę programistyczną Scalding, ułatwiającą tworzenie zadań dla MapReduce w oparciu o funkcje biblioteki Cascading Java, która została stworzona specjalnie, by uprościć korzystanie z Hadoop.

Natomiast sieć społecznościowa Tagged wykorzystuje Hadoop do analizy danych wymagającej przetwarzania ok. pół terabajta nowych informacji dziennie. Platforma uzupełnia funkcje bazy danych Greenplum. Tagged zamierza rozszerzyć stosowanie Hadoop przede wszystkim ze względu na możliwości skalowania systemu. Przedstawiciele firmy zwracają jednak uwagę na niedostatki Hadoop, które ich zdaniem wymagają ulepszeń. Przede wszystkim dotyczą one potrzeby zwiększenia niezawodności systemu, funkcji umożliwiających śledzenie wykonywanych zadań oraz eliminacji problemów z opóźnieniem ich wykonywania. Bo czas uzyskania dostępu do danych jest rzeczywiście krótki, ale czas wygenerowania odpowiedzi na zapytanie jest już zbyt długi. Tagged korzysta z oprogramowania Apache Hive (kolejny projekt związany z Hadoop) do obsługi zapytań ad hoc. Czasami generacja odpowiedzi na zapytanie trwa kilka minut, podczas gdy Greenplum odpowiada w kilkanaście sekund. Ale korzystanie z Hadoop jest znacznie tańsze.


TOP 200