2

MySQL Cluster の使用と Hadoop フレームワークの使用の利点と欠点を知りたいです。より良い解決策は何ですか。私はあなたの意見を読みたいです。

MySQL Cluster を使用する利点は次のとおりだと思います。

  1. 高可用性
  2. 優れたスケーラビリティ
  3. 高性能 / リアルタイム データ アクセス
  4. 市販のハードウェアを使用できます

そして、私は不利な点を見ません!Hadoop にはない欠点はありますか?

その上に Hive を備えた Hadoop の利点は次のとおりです。

  1. スケーラビリティも良好
  2. 市販のハードウェアも使用できます
  3. 異種環境で実行する機能
  4. MapReduce フレームワークによる並列計算
  5. HiveQL を使用したハイブ

欠点は次のとおりです。

  1. リアルタイムのデータ アクセスはありません。データの分析には数分から数時間かかる場合があります。

したがって、私の意見では、ビッグ データを処理するには MySQL クラスターの方が優れたソリューションです。Hadoop がビッグデータ処理の聖杯である理由 あなたの意見は何ですか?

4

3 に答える 3

5

上記の答えはどちらも、mySQL と Hadoop の大きな違いを見落としています。mySQL では、データを特定の形式で保存する必要があります。高度に構造化されたデータが好きです。テーブル内の各列のデータ型を宣言するなどです。Hadoop はこれをまったく気にしません。

例 - 10 億個のテキスト ログ ファイルがある場合、mySQL の分析を可能にするには、最初にデータを解析して mySQL テーブルにロードし、途中で各列を入力する必要があります。hadoop と mapreduce を使用して、未加工のソースからデータをスキャン/分析/返す関数を定義します。事前に構造化するために ETL を前処理する必要はありません。

データがすでに構造化されており、mySQL にある場合、(できれば) 適切に構造化されている場合、分析のために Hadoop 用にエクスポートする必要はありません。そうでない場合、データの ETL に時間を費やす必要はありません。

于 2015-05-08T23:52:17.447 に答える
4

Hadoop は MySQL を置き換えるものではないので、独自のシナリオがあると思います。</p>

Hadoop がバッチ ジョブやオフライン コンピューティングに適していることは誰もが知っていますが、hbase など、関連するリアルタイム製品も数多くあります。

オフライン コンピューティングとストレージ アーチを選択する場合。

次の理由により、オフライン コンピューティングとストレージには MySQL クラスターではなく Hadoop をお勧めします。

  1. コスト : 明らかに、Hadoop クラスターは MySQL クラスターよりも安価です
  2. スケーラビリティ : Hadoop は、クラスタ内で 1 万台を超えるマシンをサポートします
  3. エコシステム : mapreduce、ハイブ、ブタ、スクープなど

そのため、オフラインのコンピューティングとストレージとして Hadoop を選択し、オンラインのコンピューティングとストレージとして MySQL を選択できます。また、ラムダ アーキテクチャから詳細を学ぶこともできます。

于 2014-01-29T03:25:41.197 に答える
2

もう 1 つの答えは適切ですが、なぜ Hadoop が MySQL Clusters よりもオフライン データのクランチングに対してスケーラブルであるかを説明するものではありません。Hadoop は、データのシャーディングを完全に制御できるため、多数のマシンに分散する必要がある大規模なデータ セットに対してより効率的です。

MySQL クラスターは自動シャーディングを使用し、データをランダムに分散するように設計されているため、1 台のマシンがそれ以上負荷を受けることはありません。一方、Hadoop ではデータ パーティションを明示的に定義できるため、同時アクセスが必要な複数のデータ ポイントが同じマシン上にあるため、ジョブを完了するために必要なマシン間の通信量を最小限に抑えることができます。これにより、Hadoop は多くの場合、大量のデータ セットの処理に適しています。

この質問への答えには、この違いがよく説明されています。

于 2014-03-13T19:09:18.407 に答える