中小規模のデータセットを処理するには、長い間リレーショナルデータベースで十分でした。しかし、データが増大する巨大な速度により、データの保存と取得に対する従来のアプローチは実行不可能になっています。この問題は、ビッグデータを処理できる新しいテクノロジーによって解決されています。 Hadoop、Hive、Hbaseは、この種の大規模なデータセットを操作するための一般的なプラットフォームです。 NoSQLまたはNotOnly 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 for オフラインバッチデータの処理と分析
理由を知るために読んでください そして Aadhar、Shutterfly、Metlife、eBayなどの企業や組織によるMongoDBの使用方法 。
バッチアグリゲーションでのHadoopを使用したMongoDBのアプリケーション:
ほとんどのシナリオでは、MongoDBが提供する組み込みの集計機能でデータの分析に十分です。ただし、場合によっては、はるかに複雑なデータ集約が必要になることがあります。これは、Hadoopが複雑な分析のための強力なフレームワークを提供できる場所です。
このシナリオでは:
- データはMongoDBから取得され、1つ以上のMapReduceジョブを介してHadoop内で処理されます。マルチデータソースソリューションを開発するために、これらのMapReduceジョブ内の他の場所からデータを取得することもできます。
- これらのMapReduceジョブからの出力は、後の段階でクエリを実行したり、アドホックベースで分析したりするためにMongoDBに書き戻すことができます。
- したがって、MongoDB上に構築されたアプリケーションは、バッチ分析からの情報を使用して、エンドクライアントに提示したり、他のダウンストリーム機能を有効にしたりできます。
データウェアハウジングでのアプリケーション:
通常の本番環境では、アプリケーションのデータは複数のデータストアに存在し、それぞれに独自のクエリ言語と機能があります。これらのシナリオの複雑さを軽減するために、Hadoopをデータウェアハウスとして使用し、さまざまなソースからのデータの集中リポジトリとして機能させることができます。
この種のシナリオでは:
Javaでtostringを使用する方法
- 定期的なMapReduceジョブは、MongoDBからHadoopにデータをロードします。
- MongoDBおよびその他のソースからのデータがHadoopで利用可能になると、より大きなデータセットに対してクエリを実行できます。
- データアナリストは、MapReduceまたはPigのいずれかを使用して、MongoDBからのデータを組み込んだより大きなデータセットをクエリするジョブを作成するオプションを利用できるようになりました。
MongoDBの背後で作業しているチームは、Hadoopなどのビッグデータテクノロジーとの豊富な統合により、ビッグデータスタックに適切に統合でき、データの保存、取得、処理、集約、ウェアハウジングに関する複雑なアーキテクチャの問題の解決に役立つことを保証しました。 。 MongoDBでHadoopを採用する人のキャリアの見通しに関する今後の投稿にご期待ください。すでにHadoopを使用している場合、またはMongoDBを利用している場合は、MongoDB向けに提供しているコースを確認してください。