MySQLデータベースをデータストアとして使用する製品があります。データストアは大量のデータを保持します。私たちが直面している問題は、アプリケーションの応答時間が非常に遅いことです。データベースクエリは非常に基本的であり、結合がある場合は非常に単純です。一部の上級従業員によると、応答時間が遅い根本的な原因は、巨大なデータストアでのデータベース操作です。
当社の別のチームは、過去にHadoopを使用して大きな固定形式のファイルを処理し、これらのファイルの内容をデータベーステーブルにダンプするプロジェクトに取り組んでいました。このプロジェクトから借りて、一部のチームメンバーは、MySQLデータベースの使用から、代わりにデータを保持する単純な固定形式のファイルに移行できると感じています。代わりに、データベース内の各テーブルに対応する1つのファイルがあります。次に、これらのファイルのコンテンツに対してDML操作を実行するためのインターフェイスを提供する別のデータインタラクションレイヤーを構築できます。このレイヤーは、HadoopとMapReduceプログラミングモデルを使用して開発されます。
この時点で、いくつかの質問が頭に浮かびます。1.問題ステートメントは、Hadoopを使用して解決される種類の問題に適合しますか?2.アプリケーションは、必要なデータをフェッチ/更新/削除するようにデータインタラクションレイヤーにどのように要求しますか?私の理解では、データを含むファイルはHDFSにあります。必要なファイル(データベース内のテーブルと同様)を処理し、必要なデータをフェッチするHadoopジョブを生成します。このデータは、HDFSのoutoutファイルに書き込まれます。必要なコンテンツを取得するには、このファイルを解析する必要があります。3.固定フォーマットファイルを使用してHadoopで処理するというアプローチは、本当に問題を解決しますか?
2台のUbuntuマシンで単純なノードクラスターをセットアップすることができましたが、Hadoopをしばらく試してみたところ、問題の説明はHadoopに適していないように感じました。私は完全に間違っている可能性があるため、Hadoopがこのシナリオに当てはまるのか、それとも問題の説明がHadoopの目的と一致していないため、時間の無駄なのかを知りたいのですが。