2010-09-22 7 views
8

Jeśli poprawnie zrozumiem ekosystem Hadoop, mogę uruchomić moje dane pozyskiwania zleceń MapReduce z HDFS lub HBase. Zakładając, że poprzednie założenie jest poprawne, dlaczego wybrałbym jedno nad drugim? Czy korzystanie z HBase jako źródła MR ma zaletę wydajności, niezawodności, kosztów lub łatwości użytkowania?Źródło Hadoop MR: HDFS vs HBase. Korzyści każdego?

Najlepsze, co udało mi się znaleźć, to ten cytat: "HBase to aplikacja Hadoop do użycia, gdy potrzebujesz w trybie rzeczywistym do odczytu/zapisu losowego dostępu do bardzo dużych zestawów danych." - Tom Biały (2009) Hadoop: The Definitive Guide, 1st Edition

Odpowiedz

6

Korzystanie prosto-up Hadoop Mapa/Reduce nad HDFS, swoje wejścia i wyjścia są zazwyczaj przechowywane pliki tekstowe jako płaskie lub Hadoop SequenceFiles, które są po prostu w odcinkach obiekty przesyłane strumieniowo na dysk. Te magazyny danych są mniej lub więcej niezmienne. Dzięki temu Hadoop nadaje się do zadań przetwarzania wsadowego.

HBase jest pełnowartościową bazą danych (choć nie relacyjną), która wykorzystuje HDFS jako pamięć masową. Oznacza to, że możesz uruchamiać interaktywne zapytania i aktualizacje w swoim zbiorze danych.

Co jest fajne w HBase, to że ładnie gra z ekosystemem Hadoop, więc jeśli masz potrzebę wykonywania przetwarzania wsadowego, a także interaktywne, szczegółowe operacje na rekordowym poziomie na ogromnych zbiorach danych, HBase będzie dobrze działać.

+0

Dzięki, czego szukałem. – Andre

0

Niektóre istotne ograniczenia HDFS (które jest bliźnim typu open source w stosunku do systemu plików Google) można znaleźć pod numerem the original Google File System paper.

O przypadków użycia cel, czytamy:

trzecie, większość plików są zmutowane przez dołączanie nowych danych zamiast nadpisywania istniejących danych. Losowe zapisy w obrębie plik praktycznie nie istnieje. [...]

[...] Biorąc ten wzór na dostęp do dużych plików, dołączanie się skupić optymalizacji wydajności i niepodzielność gwarancje, [...]

W rezultacie :

[...] mamy zrelaksowany modelu spójności GFS do znacznie uprościć system plików bez nakładania uciążliwego obciążenia aplikacji. Wprowadziliśmy także operację dołączania atomowego , dzięki czemu wielu klientów może jednocześnie dołączyć do pliku bez dodatkowej synchronizacji między .

Rekord dołączania danych powoduje („Rejestr”), aby być dołączany atomowo przynajmniej raz nawet w obecności jednoczesnych mutacji, [...]

Jeśli czytam gazetę poprawnie, a następnie kilka replik każdego pliku (w sensie HDFS) niekoniecznie będzie dokładnie takie same. Jeśli klienci używają tylko operacji atomowych, każdy plik może być traktowany jako konkatenacja rekordów (każdy z tych operacji), ale mogą one wyglądać na duplikowane w niektórych replikach, a ich kolejność może być inna niż replika do repliki. (Choć najwyraźniej może być włożona wyściółka, więc nie jest ona nawet tak czysta - przeczytaj artykuł.) Do użytkownika należy zarządzanie granicami rekordów, unikalnymi identyfikatorami, sumami kontrolnymi itp.

Nie jest to tak jak systemy plików, do których jesteśmy przyzwyczajeni na naszych komputerach stacjonarnych.

Zauważ, że HDFS nie jest dobre dla wielu małych plików, ponieważ:

  1. Każdy będzie przeznaczyć zazwyczaj 64 MB klocek (source).

  2. Jego architektura nie jest dobra w zarządzaniu ogromną liczbą plików nazw (źródło: takie samo jak w pozycji   1). Istnieje jeden wzorzec utrzymujący wszystkie nazwy plików (które, mam nadzieję, mieszczą się w jego pamięci RAM).

+0

Pamiętaj, że istnieją pewne [różnice między GoogleFS a HDFS] (https://www.quora.com/What-is-the-difference-between-the-Hadoop-file-distributed-system-and-the-Google- file-system/answer/Aditya-Kulkarni-2), ale wygląda na to, że nie ma w nim nic fundamentalnie innego. –

Powiązane problemy