Amazon RedShift sostituisce Hadoop per ~ 1XTB di dati?


12

C'è molto clamore intorno a Hadoop e al suo ecosistema. Tuttavia, in pratica, dove molti set di dati si trovano nell'intervallo di terabyte, non è più ragionevole utilizzare Amazon RedShift per eseguire query su set di dati di grandi dimensioni, piuttosto che impiegare tempo e fatica a costruire un cluster Hadoop?

Inoltre, come si confronta Amazon Redshift con Hadoop per quanto riguarda complessità di configurazione, costi e prestazioni?


Intendi Hadoop o intendi una controparte specifica di Redshift, come Impala?
Sean Owen,

@SeanOwen nella mia domanda, mi riferivo ad Apache Hadoop. Anche se sarebbe interessante fare anche il confronto Impala.
trienismo,

Risposte:


12

tl; dr: differiscono nettamente per molti aspetti e non posso pensare che Redshift sostituirà Hadoop.

-Funzione
Non è possibile eseguire nient'altro che SQL su Redshift. Forse soprattutto, non è possibile eseguire alcun tipo di funzioni personalizzate su Redshift. In Hadoop puoi, usando molte lingue (Java, Python, Ruby .. lo chiami). Ad esempio, la PNL in Hadoop è facile, mentre è più o meno impossibile in Redshift. Cioè ci sono molte cose che puoi fare in Hadoop ma non su Redshift. Questa è probabilmente la differenza più importante.

-L'esecuzione delle
query del profilo delle prestazioni su Redshift è nella maggior parte dei casi significativamente più efficiente rispetto a Hadoop. Tuttavia, questa efficienza deriva dall'indicizzazione che viene eseguita quando i dati vengono caricati in Redshift (sto usando il termine indexingmolto sciolto qui). Pertanto, è ottimo se carichi i tuoi dati una volta ed esegui più query, ma se vuoi eseguire una sola query, ad esempio, potresti effettivamente perdere le prestazioni in generale.

-Cost Profile La
soluzione vincente in termini di costi dipende dalla situazione (come le prestazioni), ma probabilmente avrai bisogno di molte domande per renderla più economica di Hadoop (in particolare Elastic Map Reduce di Amazon). Ad esempio, se stai facendo OLAP, è molto probabile che Redshift sia più economico. Se si eseguono ETL batch giornalieri, è più probabile che Hadoop ne risulti più economico.

Detto questo, abbiamo sostituito parte del nostro ETL che è stato fatto in Hive to Redshift, ed è stata un'esperienza davvero fantastica; principalmente per la facilità di sviluppo. Il motore di query di Redshift si basa su PostgreSQL ed è molto maturo, rispetto a quello di Hive. Le sue caratteristiche ACID facilitano il ragionamento e il tempo di risposta più rapido consente di eseguire ulteriori test. È un ottimo strumento da avere, ma non sostituirà Hadoop.

EDIT : per quanto riguarda la complessità della configurazione, direi che è più facile con Hadoop se utilizzi EMR di AWS. I loro strumenti sono così maturi che è incredibilmente facile far funzionare il tuo lavoro su Hadoop. Gli strumenti e i meccanismi che circondano l'operazione di Redshift non sono ancora così maturi. Ad esempio, Redshift non è in grado di gestire il caricamento di mantenimento e quindi è necessario elaborare qualcosa che lo trasformi in un carico batch, che può aggiungere una certa complessità al tuo ETL.


2
easier to develop because of Redshift's maturitycontraddice Redshift isn't that mature yetquindi qual è il tuo verdetto?
M. Mimpen,

@ M.Mimpen: risposta modificata per essere più specifici
Enno Shioji,

5

Il limite di dimensione corrente per Amazon Redshift è di 128 nodi o 2 PB di dati compressi. Potrebbe essere circa 6PB non compresso sebbene il chilometraggio vari per la compressione. Puoi sempre farci sapere se hai bisogno di più. anurag @ aws (corro Amazon Redshift e Amazon EMR)


3

Personalmente, non penso sia così difficile creare un cluster hadoop, ma so che a volte è doloroso iniziare.

Le limitazioni delle dimensioni dell'HDFS superano di molto un TB (o intendevi exabyte?). Se non sbaglio si ridimensiona in yottabyte o in qualche altra misura per cui non conosco nemmeno la parola. Qualunque cosa sia, è davvero grande.

Strumenti come Redshift hanno il loro posto, ma mi preoccupo sempre di soluzioni specifiche del fornitore. La mia preoccupazione principale è sempre "cosa devo fare quando non sono soddisfatto del loro servizio?" - Posso andare su google e spostare il mio lavoro di analisi nel loro paradigma o posso andare su hadoop e spostare lo stesso lavoro in quel sistema. Ad ogni modo, dovrò imparare qualcosa di nuovo e fare molto lavoro per tradurre le cose.

Detto questo, è bello poter caricare un set di dati e mettersi subito al lavoro, specialmente se quello che sto facendo ha un breve ciclo di vita. Amazon ha fatto un buon lavoro nel rispondere al problema di sicurezza dei dati.

Se vuoi evitare il hadoop, ci sarà sempre un'alternativa. Ma non è poi così difficile lavorare con una volta che lo fai.


3
Suppongo che il riferimento del PO alle TB significhi "per i dati sull'estremità piccola di ciò per cui potresti usare Hadoop". Se hai più petabyte o più, Redshift chiaramente non è adatto. (Credo che sia limitato a cento nodi da 16 TB.)
Tim Goodman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.