Czy Amazon RedShift zastępuje Hadoop dla danych ~ 1XTB?


12

Hadoop i jego ekosystem są bardzo popularne. Jednak w praktyce, gdy wiele zestawów danych znajduje się w zakresie terabajtów, nie jest rozsądniej używać Amazon RedShift do odpytywania dużych zestawów danych, zamiast spędzać czas i wysiłek na budowie klastra Hadoop?

W jaki sposób Amazon Redshift wypada w porównaniu z Hadoop pod względem złożoności konfiguracji, kosztów i wydajności?


Masz na myśli Hadoop, czy może konkretny odpowiednik Redshift, taki jak Impala?
Sean Owen

@SeanOwen w moim pytaniu miałem na myśli Apache Hadoop. Chociaż byłoby również interesujące wykonanie porównania Impala.
trienizm

Odpowiedzi:


12

tl; dr: Różnią się znacznie pod wieloma względami i nie sądzę, aby Redshift zastąpił Hadoopa.

-Funkcja
Na Redshift nie można uruchamiać niczego innego niż SQL. Być może, co najważniejsze, nie można uruchamiać żadnych niestandardowych funkcji w Redshift. W Hadoop możesz, używając wielu języków (Java, Python, Ruby ... nazywasz to). Na przykład NLP w Hadoop jest łatwe, podczas gdy w Redshift jest mniej lub bardziej niemożliwe. Tzn. Jest wiele rzeczy, które możesz zrobić w Hadoop, ale nie w Redshift. To chyba najważniejsza różnica.

-Wykonanie
zapytania o profil wydajności w trybie Redshift jest w większości przypadków znacznie wydajniejsze niż w Hadoop. Jednak ta wydajność pochodzi z indeksowania, które jest wykonywane, gdy dane są ładowane do Redshift (używam indexingtutaj terminu bardzo luźno). Dlatego świetnie jest, jeśli załadujesz dane raz i wykonasz wiele zapytań, ale jeśli chcesz na przykład wykonać tylko jedno zapytanie, możesz stracić ogólną wydajność.

-Koszt
kosztu Które rozwiązanie wygrywa pod względem kosztów, zależy od sytuacji (np. Wydajności), ale prawdopodobnie potrzebujesz sporo zapytań, aby uczynić go tańszym niż Hadoop (a dokładniej elastyczna redukcja mapy Amazon). Na przykład, jeśli wykonujesz OLAP, jest bardzo prawdopodobne, że Redshift wychodzi taniej. Jeśli wykonujesz codzienne partie ETL, bardziej prawdopodobne jest, że Hadoop będzie tańszy.

Powiedziawszy to, zastąpiliśmy część naszej ETL, która została wykonana w Hive na Redshift, i było to całkiem wspaniałe doświadczenie; głównie ze względu na łatwość rozwoju. Silnik zapytań Redshift jest oparty na PostgreSQL i jest bardzo dojrzały w porównaniu do Hive. Jego właściwości ACID ułatwiają uzasadnienie, a szybszy czas reakcji pozwala na przeprowadzenie większej liczby testów. To świetne narzędzie, ale nie zastąpi Hadoopa.

EDYCJA : Jeśli chodzi o złożoność konfiguracji, powiedziałbym nawet, że dzięki Hadoop jest łatwiej, jeśli używasz EMR AWS. Ich narzędzia są tak dojrzałe, że uruchomienie zadania Hadoop jest absurdalnie łatwe. Narzędzia i mechanizmy otaczające działanie Redshift nie są jeszcze tak dojrzałe. Na przykład Redshift nie jest w stanie poradzić sobie z ładowaniem podtrzymującym, dlatego musisz wymyślić coś, co zamieni to w partię obciążenia, co może zwiększyć złożoność twojego ETL.


2
easier to develop because of Redshift's maturityjest sprzeczne z Redshift isn't that mature yettym, jaki jest twój werdykt?
M. Mimpen,

@ M.Mimpen: Edytowana odpowiedź, by być bardziej szczegółowa
Enno Shioji,

5

Obecny limit rozmiaru dla Amazon Redshift to 128 węzłów lub 2 PB skompresowanych danych. Może być około 6PB nieskompresowany, chociaż przebieg różni się dla kompresji. Zawsze możesz nas poinformować, jeśli potrzebujesz więcej. anurag @ aws (prowadzę Amazon Redshift i Amazon EMR)


3

Osobiście nie sądzę, że tak trudno jest skonfigurować klaster hadoop, ale wiem, że czasami jest to bolesne, gdy zaczynasz.

Ograniczenia rozmiaru HDFS znacznie przekraczają TB (czy miałeś na myśli eksabajt?). Jeśli się nie mylę, skaluje się do yottabajtów lub innego pomiaru, dla którego nawet nie znam tego słowa. Cokolwiek to jest, jest naprawdę duże.

Narzędzia takie jak Redshift mają swoje miejsce, ale zawsze martwię się o rozwiązania specyficzne dla dostawcy. Moim głównym zmartwieniem jest zawsze „co mam zrobić, gdy jestem niezadowolony z ich usług?” - Mogę przejść do wyszukiwarki Google i przenieść swoją analizę do paradygmatu lub przejść do hadoop i przenieść tę samą pracę do tego systemu. Tak czy inaczej, będę musiał nauczyć się czegoś nowego i dużo pracy przy tłumaczeniu.

Biorąc to pod uwagę, miło jest móc przesłać zestaw danych i szybko rozpocząć pracę - szczególnie, jeśli to, co robię, ma krótki cykl życia. Amazon wykonał dobrą robotę, rozwiązując problem bezpieczeństwa danych.

Jeśli chcesz uniknąć hadoopa, zawsze będzie alternatywa. Ale praca z tym nie jest wcale taka trudna.


3
Zakładam, że odniesienie OP do TB oznacza „dla danych na małym końcu tego, do czego możesz użyć Hadoop”. Jeśli masz wiele petabajtów lub więcej, Redshift najwyraźniej nie jest odpowiedni. (Wierzę, że jest ograniczony do stu węzłów 16 TB).
Tim Goodman,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.