Druid は、リアルタイム処理とバッチ処理の両方に使用されます。しかし、それは Hadoop を完全に置き換えることができるのでしょうか? そうでない場合、なぜですか?ドルイドに対するhadoopの利点は何ですか?druid が hadoop と一緒に使用されていることを読みました。では、Hadoop の使用を避けることはできるのでしょうか?
3 に答える
ここでは、わずかに関連しているが非常に異なる 2 つのテクノロジについて説明します。
Druid はリアルタイム分析システムであり、時系列および時間ベースのイベント集計に最適です。
Hadoop は、HDFS (分散ファイル システム) + Map Reduce (分散プロセスを実行するためのパラダイム) であり、これらが一体となって分散処理のためのエコ システムを作成し、他の多くのオープン ソース プロジェクトの基礎となる/影響を与えるテクノロジとして機能します。
Hadoop を使用するようにドルイドをセットアップできます。つまり、MR ジョブを起動してバッチ データのインデックスを作成し、そのインデックス付きデータを HDFS から読み取ります (もちろん、ローカル ディスクにローカルにキャッシュします)。
Hadoop を無視したい場合は、インデックス作成と読み込みをローカル マシンから行うこともできますが、もちろん 1 台のマシンに制限されるというペナルティがあります。
Druid で Hadoop の使用を避けることはできますか? はい、Hadoop でデータをバッチロードするのではなく、リアルタイムで Druid クラスターにストリーミングできます。これを行う 1 つの方法は、データをKafkaにストリーミングすることです。Kafkaは着信イベントを処理し、それらをStormに渡します。Storm は、それらを処理して Druid Realtime ノードにロードできます。
通常、この設定はHadoop と並行して使用されます。これは、ストリーミングされたリアルタイム データには独自の荷物が付属しており、多くの場合、修正して埋め戻す必要があるためです。そのアーキテクチャ全体を「ラムダ」と呼ぶ人もいます。