sql >> データベース >  >> NoSQL >> MongoDB

Hadoopおよび関連するビッグデータテクノロジーを備えたMongoDB®

    長い間、リレーショナルデータベースは、中小規模のデータセットを処理するのに十分でした。しかし、データの増大率が非常に大きいため、データの保存と取得に対する従来のアプローチは実行不可能です。この問題は、ビッグデータを処理できる新しいテクノロジーによって解決されています。 Hadoop、Hive、Hbaseは、この種の大規模なデータセットを操作するための一般的なプラットフォームです。 NoSQLまたはMongoDB®などのSQLデータベースだけでなく、次のような利点を備えた敗者整合性モデルでデータを保存および取得するメカニズムを提供します。

    • 水平スケーリング
    • より高い可用性
    • より高速なアクセス

    MongoDB®エンジニアリングチームは最近、Hadoop用のMongoDB®コネクターを更新して、より良い統合を実現しました。これにより、Hadoopユーザーは次のことが簡単になります。

    • MongoDB®からのリアルタイムデータをHadoopと統合して、詳細なオフライン分析を実現します。
    • Connectorは、HadoopのMapReduceの分析能力をMongoDB®からのライブアプリケーションデータに公開し、ビッグデータからの価値をより迅速かつ効率的に推進します。
    • コネクタはMongoDBをHadoop互換のファイルシステムとして提供し、MapReduceジョブが最初にHDFS(Hadoopファイルシステム)にコピーせずにMongoDB®から直接読み取ることができるため、必要がなくなりますネットワークを介してテラバイトのデータを移動します。
    • MapReduceジョブはクエリをフィルターとして渡すことができるため、コレクション全体をスキャンする必要がなく、地理空間、テキストなどのMongoDB®の豊富なインデックス機能を利用することもできます-検索、配列、複合およびスパースインデックス。
    • MongoDB®から読み取ると、Hadoopジョブの結果をMongoDB®に書き戻すこともでき、リアルタイムの運用プロセスとアドホッククエリをサポートします。

    HadoopとMongoDB®のユースケース:

    MongoDB®とHadoopが一般的なビッグデータスタックにどのように適合するかについての高レベルの説明を見てみましょう。主に次のものがあります:

      「運用」リアルタイムデータストアとして使用される
    • MongoDB®
    • Hadoopによるオフラインバッチデータ処理と分析

    MongoDBがビッグデータ処理のデータベースである理由を理解するために読んでください およびAadhar、Shutterfly、Metlife、eBayなどの企業や組織によるMongoDB®の使用方法。

    バッチアグリゲーションでのHadoopを使用したMongoDB®のアプリケーション:

    ほとんどのシナリオでは、MongoDB®が提供する組み込みの集計機能でデータの分析に十分です。ただし、場合によっては、はるかに複雑なデータ集約が必要になることがあります。これは、Hadoopが複雑な分析のための強力なフレームワークを提供できる場所です。

    このシナリオの場合:

    • データはMongoDB®から取得され、1つ以上のMapReduceジョブを介してHadoop内で処理されます。マルチデータソースソリューションを開発するために、これらのMapReduceジョブ内の他の場所からデータを取得することもできます。
    • これらのMapReduceジョブからの出力は、後の段階でクエリを実行したり、アドホックベースで分析したりするためにMongoDB®に書き戻すことができます。
    • したがって、MongoDB®上に構築されたアプリケーションは、バッチ分析からの情報を使用して、エンドクライアントに提示したり、他のダウンストリーム機能を有効にしたりできます。

    データウェアハウスでのアプリケーション:

    通常の本番環境では、アプリケーションのデータが複数のデータストアに存在し、それぞれが独自のクエリ言語と機能を備えている場合があります。これらのシナリオの複雑さを軽減するために、Hadoopをデータウェアハウスとして使用し、さまざまなソースからのデータの集中リポジトリとして機能させることができます。

    この種のシナリオの場合:

      定期的なMapReduceジョブは、MongoDB®からHadoopにデータを読み込みます。 MongoDB®およびその他のソースからのデータがHadoopで利用可能になると、より大きなデータセットに対してクエリを実行できます。
    • データアナリストは、MapReduceまたはPigのいずれかを使用して、MongoDB®からのデータを組み込んだより大きなデータセットをクエリするジョブを作成するオプションを利用できるようになりました。

    MongoDB®の背後で作業するチームは、Hadoopなどのビッグデータテクノロジーとの豊富な統合により、ビッグデータスタックに適切に統合し、複雑なアーキテクチャの問題を解決できるようにしました。データの保存、取得、処理、集約、および保管に関しては。 MongoDB®でHadoopを採用する人のキャリアの見通しに関する今後の投稿にご期待ください。すでにHadoopを使用している場合、またはMongoDB®を購入している場合は、MongoDB®用に提供されているコースをここで確認してください

    Hadoopの概念の詳細をご覧ください。このオンラインビッグデータコースをご覧ください 、トップインダストリアルワーキングエキスパートによって作成されました。


    1. Mongoose / mongoDBクエリが結合します..しかし、私はSQLのバックグラウンドから来ています

    2. redisクラスターはログWSA_IO_PENDINGを継続的に出力します

    3. 集約中にMongoDBISODateからUNIXタイムスタンプを秒単位で取得する

    4. 配列値の合計を使用したMongoDB集約