私はHadoopの初心者です。リレーション データベースを使用する代わりに、Hadoop を Web アプリケーションのバックエンドとして使用できるかどうかを知りたかっただけですか?
3 に答える
Hadoop はデータベースではないため、そもそも RDBMS と比較することはできません。他のFSと同様に、ランダムな読み取り/書き込みの機能がないファイルシステム(HDFS)を提供するだけです。Web アプリの分散型バックエンドが本当に必要な場合は、Hadoop の上にある HBase のようなものを利用できます。リアルタイムのランダム読み取り/書き込み機能を提供します。そして、最も重要なのは、@Abhinav が既に述べているように、Hadoop はバッチ処理のようなものに最適です。
答えは「いいえ、すべきではありません」だと思いますが、上記の誰かが指摘したように、それは完全な答えではありません.
Hadoop は、RDBMS の代替品ではありません。分散ファイル ストアと分散コンピューティング メカニズムの両方です。これらは両方とも、それ自体では Web サイトの役に立ちません。
本質的に「キー/値」ルックアップである場合、HBase を介して利用できる Hadoop に大量の「ビッグ データ」が存在する可能性があります。しかし、より適切なキーバリューストアがかなりあります。
それでも SQL が必要な場合は、Hive や Impala など、SQL のような動作を提供するツールがあります。Hive の欠点は、MapReduce を使用することです。これは、各クエリに 1 分以上かかることを意味します!!! 巨大なレポートには問題ありませんが、それ以外には問題ありません。Impalaはそれを高速化するはずですが、私はその実際の経験がありません.
1行で...いいえ...hadoopは大規模なデータのバッチ処理を目的としています....