Es gibt viel Hype um Hadoop und sein Ökosystem. Ist es in der Praxis jedoch nicht sinnvoller, Amazon RedShift zum Abfragen großer Datenmengen zu verwenden, als Zeit und Mühe für die Erstellung eines Hadoop-Clusters zu investieren , wenn sich viele Datenmengen im Terabyte-Bereich befinden ?
Wie ist der Vergleich zwischen Amazon Redshift und Hadoop hinsichtlich der Komplexität, Kosten und Leistung des Setups?
apache-hadoop
map-reduce
aws
Trienismus
quelle
quelle
Antworten:
tl; dr: Sie unterscheiden sich in vielen Aspekten deutlich und ich kann nicht glauben, dass Redshift Hadoop ersetzen wird.
-Funktion
Sie können unter Redshift nichts anderes als SQL ausführen. Am wichtigsten ist vielleicht, dass Sie auf Redshift keine benutzerdefinierten Funktionen ausführen können. In Hadoop können Sie unter Verwendung vieler Sprachen (Java, Python, Ruby .. Sie nennen es). Zum Beispiel ist NLP in Hadoop einfach, während es in Redshift mehr oder weniger unmöglich ist. Dh es gibt viele Dinge, die Sie in Hadoop tun können, aber nicht in Redshift. Dies ist wahrscheinlich der wichtigste Unterschied.
-Die
Ausführung von Leistungsprofilabfragen unter Redshift ist in den meisten Fällen wesentlich effizienter als unter Hadoop. Diese Effizienz ergibt sich jedoch aus der Indizierung, die durchgeführt wird, wenn die Daten in Redshift geladen werden (ich verwende den Begriff hier
indexing
sehr lose). Daher ist es hilfreich, wenn Sie Ihre Daten einmal laden und mehrere Abfragen ausführen. Wenn Sie jedoch beispielsweise nur eine Abfrage ausführen möchten, kann dies zu Leistungseinbußen führen.-Kostenprofil
Welche Lösung bei den Kosten gewinnt, hängt von der jeweiligen Situation (wie der Leistung) ab. Wahrscheinlich benötigen Sie jedoch eine Reihe von Abfragen, um sie günstiger als Hadoop (genauer gesagt Elastic Map Reduce von Amazon) zu machen. Wenn Sie beispielsweise OLAP durchführen, ist es sehr wahrscheinlich, dass Redshift billiger herauskommt. Wenn Sie tägliche Batch-ETLs durchführen, ist es wahrscheinlicher, dass Hadoop billiger herauskommt.
Trotzdem haben wir einen Teil unserer ETL ersetzt, die in Hive to Redshift durchgeführt wurde, und es war eine großartige Erfahrung. vor allem für die einfache Entwicklung. Die Query Engine von Redshift basiert auf PostgreSQL und ist im Vergleich zu Hive sehr ausgereift. Die ACID-Eigenschaften erleichtern das Nachdenken und die schnellere Reaktionszeit ermöglicht mehr Tests. Es ist ein großartiges Werkzeug, aber es wird Hadoop nicht ersetzen.
EDIT : In Bezug auf die Komplexität des Setups würde ich sogar sagen, dass es mit Hadoop einfacher ist, wenn Sie AWS EMR verwenden. Ihre Tools sind so ausgereift, dass es unglaublich einfach ist, Ihren Hadoop-Job auszuführen. Die Werkzeuge und Mechanismen rund um Redshifts Betrieb sind noch nicht so ausgereift. Zum Beispiel kann Redshift das Erhaltungsladen nicht bewältigen, und daher müssen Sie sich etwas einfallen lassen, das daraus eine Batch-Ladung macht, die Ihrer ETL eine gewisse Komplexität verleihen kann.
quelle
easier to develop because of Redshift's maturity
widersprichtRedshift isn't that mature yet
also was ist dein urteil?Die derzeitige Größenbeschränkung für Amazon Redshift beträgt 128 Knoten oder 2 PB komprimierter Daten. Unkomprimiert ca. 6PB, obwohl die Laufleistung für die Komprimierung variiert. Sie können uns jederzeit Bescheid geben, wenn Sie mehr benötigen. anurag @ aws (ich verwende Amazon Redshift und Amazon EMR)
quelle
Persönlich denke ich, dass es nicht allzu schwierig ist, einen Hadoop-Cluster einzurichten, aber ich weiß, dass es manchmal schmerzhaft ist, wenn Sie anfangen.
HDFS-Größenbeschränkungen überschreiten deutlich eine TB (oder meinten Sie Exabyte?). Wenn ich mich nicht irre, skaliert es auf Yottabyte oder ein anderes Maß, für das ich nicht einmal das Wort kenne. Was auch immer es ist, es ist wirklich groß.
Tools wie Redshift haben ihren Platz, aber ich mache mir immer Gedanken über herstellerspezifische Lösungen. Mein Hauptanliegen ist immer "Was mache ich, wenn ich mit ihrem Service unzufrieden bin?" - Ich kann googeln und meine Analyse in ihr Paradigma umwandeln, oder ich kann hadoop und dieselbe Arbeit in dieses System umwandeln. In jedem Fall muss ich etwas Neues lernen und viel übersetzen.
Trotzdem ist es schön, einen Datensatz hochladen zu können und schnell zur Arbeit zu kommen - vor allem, wenn das, was ich tue, einen kurzen Lebenszyklus hat. Amazon hat das Datensicherheitsproblem gut gelöst.
Wenn Sie Hadoop vermeiden möchten, gibt es immer eine Alternative. Aber es ist nicht allzu schwierig, damit zu arbeiten, wenn man erst einmal damit anfängt.
quelle