Amazon RedShift remplace-t-il Hadoop pour les données ~ 1XTB?


12

Il y a beaucoup de battage médiatique autour de Hadoop et de son écosystème. Cependant, dans la pratique, lorsque de nombreux ensembles de données se situent dans la plage de téraoctets, n'est-il pas plus raisonnable d'utiliser Amazon RedShift pour interroger des ensembles de données volumineux, plutôt que de consacrer du temps et des efforts à la création d'un cluster Hadoop?

En outre, comment Amazon Redshift se compare-t-il à Hadoop en termes de complexité, de coût et de performances de configuration?


Voulez-vous dire Hadoop ou voulez-vous dire un homologue spécifique à Redshift, comme Impala?
Sean Owen

@SeanOwen dans ma question, je faisais référence à Apache Hadoop. Bien qu'il soit également intéressant de faire la comparaison Impala.
triénisme

Réponses:


12

tl; dr: Ils diffèrent sensiblement à bien des égards et je ne peux pas penser que Redshift remplacera Hadoop.

-Fonction
Vous ne pouvez pas exécuter autre chose que SQL sur Redshift. Peut-être plus important encore, vous ne pouvez exécuter aucun type de fonctions personnalisées sur Redshift. Dans Hadoop, vous pouvez, en utilisant de nombreux langages (Java, Python, Ruby .. vous l'appelez). Par exemple, la PNL dans Hadoop est facile, alors qu'elle est plus ou moins impossible dans Redshift. C'est-à-dire qu'il y a beaucoup de choses que vous pouvez faire dans Hadoop mais pas sur Redshift. C'est probablement la différence la plus importante.

-L'exécution des
requêtes de profil de performance sur Redshift est dans la plupart des cas beaucoup plus efficace que sur Hadoop. Cependant, cette efficacité provient de l'indexation qui est effectuée lorsque les données sont chargées dans Redshift (j'utilise indexingici le terme très lâche). Par conséquent, c'est génial si vous chargez vos données une fois et exécutez plusieurs requêtes, mais si vous souhaitez exécuter une seule requête par exemple, vous risquez de perdre des performances globales.

-Cost Profile
Quelle solution gagne en coût dépend de la situation (comme les performances), mais vous avez probablement besoin de beaucoup de requêtes afin de la rendre moins chère que Hadoop (plus spécifiquement Elastic Map Reduce d'Amazon). Par exemple, si vous utilisez OLAP, il est très probable que Redshift soit moins cher. Si vous effectuez des ETL par lots quotidiennement, Hadoop est plus susceptible de sortir moins cher.

Cela dit, nous avons remplacé une partie de notre ETL qui a été effectuée dans Hive to Redshift, et ce fut une très bonne expérience; principalement pour la facilité de développement. Le moteur de requête de Redshift est basé sur PostgreSQL et est très mature, par rapport à Hive. Ses caractéristiques ACID facilitent son raisonnement et le temps de réponse plus rapide permet d'effectuer plus de tests. C'est un excellent outil, mais il ne remplacera pas Hadoop.

EDIT : En ce qui concerne la complexité de la configuration, je dirais même que c'est plus facile avec Hadoop si vous utilisez EMR d'AWS. Leurs outils sont si matures qu'il est ridiculement facile d'exécuter votre travail Hadoop. Les outils et mécanismes entourant le fonctionnement de Redshift ne sont pas encore arrivés à maturité. Par exemple, Redshift ne peut pas gérer le chargement lent et vous devez donc trouver quelque chose qui le transforme en une charge par lots, ce qui peut ajouter une certaine complexité à votre ETL.


2
easier to develop because of Redshift's maturitycontredit Redshift isn't that mature yetdonc quel est votre verdict?
M. Mimpen

@ M.Mimpen: Réponse modifiée pour être plus précis
Enno Shioji

5

La taille limite actuelle pour Amazon Redshift est de 128 nœuds ou 2 PB de données compressées. Pourrait être environ 6PB non compressé bien que le kilométrage varie pour la compression. Vous pouvez toujours nous faire savoir si vous en avez besoin de plus. anurag @ aws (je lance Amazon Redshift et Amazon EMR)


3

Personnellement, je ne pense pas que ce soit si difficile de mettre en place un cluster hadoop, mais je sais que c'est parfois pénible au début.

Les limitations de taille HDFS dépassent largement une To (ou vouliez-vous dire exaoctet?). Si je ne me trompe pas, il évolue en yottaoctets ou en une autre mesure dont je ne connais même pas le mot. Quoi qu'il en soit, c'est vraiment gros.

Des outils comme Redshift ont leur place, mais je m'inquiète toujours des solutions spécifiques aux fournisseurs. Ma principale préoccupation est toujours "que dois-je faire lorsque je ne suis pas satisfait de leur service?" - Je peux aller sur Google et déplacer mon travail d'analyse dans leur paradigme ou je peux aller sur hadoop et déplacer ce même travail dans ce système. Quoi qu'il en soit, je vais devoir apprendre quelque chose de nouveau et faire beaucoup de travail pour traduire les choses.

Cela étant dit, il est agréable de pouvoir télécharger un ensemble de données et de travailler rapidement - surtout si ce que je fais a un cycle de vie court. Amazon a fait du bon travail pour répondre au problème de sécurité des données.

Si vous voulez éviter le hadoop, il y aura toujours une alternative. Mais ce n'est pas si difficile de travailler une fois que vous y êtes allé.


3
Je suppose que la référence du PO aux TB signifie "pour les données sur la petite extrémité de ce que vous pourriez utiliser Hadoop." Si vous avez plusieurs pétaoctets ou plus, Redshift n'est clairement pas adapté. (Je pense qu'il est limité à une centaine de nœuds de 16 To.)
Tim Goodman
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.