Hadoopとそのエコシステムを取り巻く多くの誇大宣伝があります。しかし、実際には、多くのデータセットがテラバイトの範囲にある場合、Hadoopクラスターの構築に時間と労力を費やすのではなく、大きなデータセットのクエリにAmazon RedShiftを使用する方が合理的ではありませんか?
また、セットアップの複雑さ、コスト、パフォーマンスに関して、Amazon RedshiftはHadoopと比較してどうですか?
Hadoopとそのエコシステムを取り巻く多くの誇大宣伝があります。しかし、実際には、多くのデータセットがテラバイトの範囲にある場合、Hadoopクラスターの構築に時間と労力を費やすのではなく、大きなデータセットのクエリにAmazon RedShiftを使用する方が合理的ではありませんか?
また、セットアップの複雑さ、コスト、パフォーマンスに関して、Amazon RedshiftはHadoopと比較してどうですか?
回答:
tl; dr:それらは多くの点で著しく異なり、RedshiftがHadoopに取って代わるとは思えません。
-機能
RedshiftではSQL以外は実行できません。おそらく最も重要なことは、Redshiftでどのタイプのカスタム関数も実行できないことです。Hadoopでは、多くの言語(Java、Python、Rubyなど)を使用してできます。たとえば、HadoopのNLPは簡単ですが、Redshiftでは多かれ少なかれ不可能です。つまり、Hadoopでできることはたくさんありますが、Redshiftではできません。これがおそらく最も重要な違いです。
-Redshiftでのパフォーマンスプロファイル
クエリの実行は、ほとんどの場合、Hadoopよりもはるかに効率的です。ただし、この効率性は、データがRedshiftにロードされるときに行われるインデックス付けから得られます(indexing
ここでは非常に緩やかな用語を使用しています)。したがって、データを1回読み込んで複数のクエリを実行するのは素晴らしいことですが、たとえば1つのクエリのみを実行する場合は、実際には全体的なパフォーマンスが低下する可能性があります。
-コストプロファイル
どのソリューションがコストで勝つかは、状況(パフォーマンスなど)に依存しますが、Hadoop(より具体的にはAmazonのElastic Map Reduce)よりも安くするためには、おそらく非常に多くのクエリが必要です。たとえば、OLAPを実行している場合、Redshiftの方が安くなる可能性が非常に高くなります。毎日バッチETLを実行すると、Hadoopの方が安くなる可能性が高くなります。
そうは言っても、HiveからRedshiftで行われたETLの一部を置き換えました。これは非常に素晴らしい経験でした。主に開発を容易にするためです。RedshiftのクエリエンジンはPostgreSQLに基づいており、Hiveに比べて非常に成熟しています。ACIDの特性により、推論が容易になり、応答時間が短いため、より多くのテストを実行できます。これは素晴らしいツールですが、Hadoopに代わるものではありません。
編集:セットアップの複雑さに関しては、AWSのEMRを使用するとHadoopの方が簡単だとさえ言えます。それらのツールは非常に成熟しているため、Hadoopのジョブを実行するのは途方もなく簡単です。Redshiftの運用を取り巻くツールとメカニズムはまだ成熟していません。たとえば、Redshiftはトリクルロードを処理できないため、それをバッチロードに変換する必要があるため、ETLが複雑になる可能性があります。
easier to develop because of Redshift's maturity
と矛盾するRedshift isn't that mature yet
ので、あなたの評決は何ですか?
個人的には、hadoopクラスターをセットアップするのはそれほど難しいことではないと思いますが、始めたばかりのときは痛みを伴うこともあります。
HDFSのサイズ制限はTBを大きく上回っています(または、エクサバイトを意味していましたか?)。誤解しない限り、それはヨッタバイトまたは私が言葉を知らない他の測定値にスケーリングされます。それが何であれ、それは本当に大きいです。
Redshiftのようなツールには代わりがありますが、私は常にベンダー固有のソリューションを心配しています。私の主な関心事は常に「彼らのサービスに不満を感じたらどうするか」です。-Googleに移動して分析作業をパラダイムにシフトしたり、hadoopに移動して同じ作業をシステムにシフトしたりできます。いずれにせよ、私は何か新しいことを学び、物事を翻訳する多くの仕事をしなければなりません。
そうは言っても、データセットをアップロードしてすぐに作業できるようになることは素晴らしいことです-特に私がやっていることのライフサイクルが短い場合。Amazonは、データセキュリティの問題に適切に対処しています。
hadoopを避けたい場合は、常に代替手段があります。しかし、一度使い始めてから作業するのはそれほど難しくありません。