MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB® mit Hadoop und verwandten Big-Data-Technologien

Relationale Datenbanken reichten lange Zeit aus, um kleine oder mittlere Datensätze zu verwalten. Aber die kolossale Geschwindigkeit, mit der Daten wachsen, macht den traditionellen Ansatz zum Speichern und Abrufen von Daten undurchführbar. Dieses Problem wird durch neuere Technologien gelöst, die mit Big Data umgehen können. Hadoop, Hive und Hbase sind die beliebten Plattformen für den Betrieb dieser Art von großen Datensätzen. NoSQL oder nicht Nur SQL-Datenbanken wie MongoDB® bieten einen Mechanismus zum Speichern und Abrufen von Daten im Loser-Consistency-Modell mit Vorteilen wie:

  • Horizontale Skalierung
  • Höhere Verfügbarkeit
  • Schneller Zugriff

Das MongoDB®-Engineering-Team hat kürzlich den MongoDB®-Konnektor für Hadoop aktualisiert, um eine bessere Integration zu ermöglichen. Dies erleichtert Hadoop-Benutzern Folgendes:

  • Integrieren Sie Echtzeitdaten aus MongoDB® mit Hadoop für umfassende Offline-Analysen.
  • Der Konnektor stellt die Analyseleistung von Hadoops MapReduce für Live-Anwendungsdaten von MongoDB® zur Verfügung, wodurch der Wert von Big Data schneller und effizienter gesteigert wird.
  • Der Connector stellt MongoDB als ein Hadoop-kompatibles Dateisystem dar, das es einem MapReduce-Job ermöglicht, direkt aus MongoDB® zu lesen, ohne es zuerst in HDFS (Hadoop-Dateisystem) zu kopieren, wodurch die Notwendigkeit entfällt um Terabytes an Daten über das Netzwerk zu verschieben.
  • MapReduce-Jobs können Abfragen als Filter weitergeben, sodass nicht ganze Sammlungen gescannt werden müssen, und können auch die umfangreichen Indizierungsfunktionen von MongoDB® nutzen, einschließlich Geodaten, Text- Such-, Array-, Compound- und Sparse-Indizes.
  • Aus MongoDB® lesend, können die Ergebnisse von Hadoop-Jobs auch zurück in MongoDB® geschrieben werden, um operative Prozesse in Echtzeit und Ad-hoc-Abfragen zu unterstützen.

Anwendungsfälle für Hadoop und MongoDB®:

Sehen wir uns eine allgemeine Beschreibung an, wie MongoDB® und Hadoop in einem typischen Big-Data-Stack zusammenpassen können. In erster Linie haben wir:

  • MongoDB® wird als "operativer" Echtzeit-Datenspeicher verwendet
  • Hadoop für Offline-Stapeldatenverarbeitung und -analyse

Lesen Sie weiter, um zu erfahren, warum MongoDB die Datenbank für die Verarbeitung von Big Data ist undwie MongoDB® von Unternehmen und Organisationen wie Aadhar, Shutterfly, Metlife und eBay verwendet wurde.

Anwendung von MongoDB® mit Hadoop in Batch-Aggregation:

In den meisten Szenarien reicht die integrierte Aggregationsfunktion von MongoDB® zur Datenanalyse aus. In bestimmten Fällen kann jedoch eine wesentlich komplexere Datenaggregation erforderlich sein. Hier kann Hadoop ein leistungsstarkes Framework für komplexe Analysen bereitstellen.

In diesem Szenario:

  • Daten werden aus MongoDB® gezogen und in Hadoop über einen oder mehrere MapReduce-Jobs verarbeitet. Daten können auch von anderen Stellen innerhalb dieser MapReduce-Jobs bezogen werden, um eine Lösung mit mehreren Datenquellen zu entwickeln.
  • Die Ausgabe dieser MapReduce-Jobs kann dann für spätere Abfragen und Ad-hoc-Analysen in MongoDB® zurückgeschrieben werden.
  • Anwendungen, die auf MongoDB® aufbauen, können daher die Informationen aus der Stapelanalyse verwenden, um sie dem Endkunden zu präsentieren oder andere nachgelagerte Funktionen zu aktivieren.

Anwendung im Data Warehousing:

In einer typischen Produktionsumgebung können sich die Daten einer Anwendung auf mehreren Datenspeichern befinden, jeder mit seiner eigenen Abfragesprache und Funktionalität. Um die Komplexität in diesen Szenarien zu reduzieren, kann Hadoop als Data Warehouse verwendet werden und als zentrales Repository für Daten aus den verschiedenen Quellen fungieren.

In einem solchen Szenario:

  • Periodische MapReduce-Jobs laden Daten von MongoDB® in Hadoop.
  • Sobald die Daten aus MongoDB® und anderen Quellen in Hadoop verfügbar sind, kann der größere Datensatz abgefragt werden.
  • Datenanalysten haben jetzt die Möglichkeit, entweder MapReduce oder Pig zu verwenden, um Jobs zu erstellen, die größere Datensätze abfragen, die Daten aus MongoDB® enthalten.

Das Team, das hinter MongoDB® arbeitet, hat sichergestellt, dass es sich mit seiner umfassenden Integration mit Big-Data-Technologien wie Hadoop gut in den Big-Data-Stack integrieren und zur Lösung einiger komplexer Architekturprobleme beitragen kann wenn es um Datenspeicherung, -abruf, -verarbeitung, -aggregation und -speicherung geht. Bleiben Sie dran für unseren bevorstehenden Beitrag zu Karriereaussichten für diejenigen, die Hadoop mit MongoDB® aufnehmen. Wenn Sie bereits mit Hadoop arbeiten oder gerade MongoDB® lernen, sehen Sie sich hier die Kurse an, die wir für MongoDB® anbieten

Erfahren Sie mehr über Hadoop-Konzepte. Sehen Sie sich diesen Online Big Data-Kurs an , das von Top-Experten für industrielle Arbeit erstellt wurde.