Big-Data-Technology MongoDB Fabian Bielmeier, David Claybourne,

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

OmsCube Objektverwaltung, basierend auf einem relationalen Datenbankmanagementsystem.
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Datenbankzugriff über ISAPI-Webservererweiterungen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
E-Solutions mySchoeller.com for Felix Schoeller Imaging
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Klassen - Verkettete Liste -
DANSY Dynamische Analyse von Systemen
Eagle Airline Frei wie ein Vogel.
PL/SQL - Kurze Einführung -.
JPQL Java Persistence Query Language
Forschungsdatenzentrum der Bundesagentur für Arbeit im Institut für Arbeitsmarkt- und Berufsforschung Two Issues on Remote Data Access.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Telling Time in German Deutsch 1 Part 1 Time in German There are two ways to tell time in German. There are two ways to tell time in German. Standard.
Zusammenfassung / Ausblick Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Binäre Bäume Richard Göbel.
Java: Dynamische Datentypen
Listen Richard Göbel.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
IF-ELSE-IF-Ketten Weiter mit PP..
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Die Methode public Knoten einfuegenVor (Datenelement dNeu, Datenelement dVergleich) public Knoten einfuegenVor(Datenelement dNeu, Datenelement dVergleich){
Modulare Programmierung
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Eagle Airline Frei wie ein Vogel. Orte, die wir täglich anfliegen München Barcelona Mailand Athen Paris Wien Berlin.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
FH-Hof Sortieren mit Binären Bäumen Richard Göbel.
Using the Mean as a Measure of Center Lesson 3 1.
Die Hausaufgaben: Machen Sie Ü. 7 auf S. 29
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
XML-Schnittstellen: SAX, DOM, XML Pull Parsing Timo Terletzki Transformation von XML-Dokumenten.
Nikolaus.
Calendar Week 40 Gunnar Beutner. Bug Tracker Hi zusammen, bei der Vorbereitung auf das Meeting ist mir folgende aufgefallen bzw. unklar: - # Ich.
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Deutsch II Kapitel 1. to take off abfliegen departure.
Garmisch!!! by: Evan Scheiern. Fliegen Du fliegen von Chicago auf munich!!! Ich habe zwei packete. Der ist erste klasse und Coach Coach ist $1129. Erste.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Deutsch 1 G Stunde. Montag, der 10. September 2012 Deutsch 1 (G Stunde)Heute ist ein D - Tag Unit: Introduction to German & Germany Objectives: Introducing.
GPicS GeoPictureService. Gliederung 1. Systemarchitektur 1. Model 2. SSDs 2. eXist 1. Allgemeines 2. One BIG vs. Many small.
Exception Handling in Java
Mainz.
Algorithmen und Datenstrukturen Übungsmodul 6
Client Server Architektur
Kölner Karneval By Logan Mack
Projekt Systemintegration Datler, Kroiß, Sachs Systemintegration ILV, FL / MIC- 2 (SS2014)
SAP Protects its Valuable Innovations Alexandra Koseva/ Intellectual Property Department at SAP Labs Bulgaria November 29, 2012.
Premium AEROTEC S.R.L., Brasov Plant Noul spatiu de joaca tematic al Parcului Central Brasov construit de Premium AEROTEC cu sustinerea Primariei Brasov.
Steve Wagner Landau Media AG. Warum MongoDB in.Net nutzen MongoDB-CSharp Demos Fallstricke und Hinweise Weiterentwicklung Fragen und Antworten.
Intelligente Dialoge in Jira Hackerthon – AUG MUC –
© Talend Apache Camel Christian Schneider Sopera GmbH Talend´s Application Integration Division
Europa in der Krise Kiel,
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
Dative Prepositions. The dative case always follows these prepositions: – aus – out of, from, (from – place of origin) – außer – besides, except – bei.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
1 Stevens Direct Scaling Methods and the Uniqueness Problem: Empirical Evaluation of an Axiom fundamental to Interval Scale Level.
Ich suche nach..
Essential Vocabulary for Traveling in Deutschland
Wie spät ist es? Wieviel Uhr ist es?
Structured Query Language
Lernziel: I will be able to express where I live and ask where someone else lives. Hausaufgabenkontrolle Neue Vokabeln Eating out in Germany.
Eagle Airline Frei wie ein Vogel Orte, die wir täglich anfliegen  München  Barcelona  Mailand  Athen  Paris  Wien  Berlin.
1 Äußere Verbindung (Outer Join) (3) Beispiel: Der Right Natural(!) Outer Join zwischen Lagerhilfsmittel und LagerhilfsmittelArt kann aufzeigen, für welche.
Trip 1 From: To: Berlin, Ger many Munich, Ge rmany $610Edit Inter City Express :24AM Berlin Hbf Germany 18 May 2:42PM Muenchen Hbf, Germany 18.
A Dream Vacation to Germany
 Präsentation transkript:

Big-Data-Technology MongoDB Fabian Bielmeier, David Claybourne, Reinhard Stampp, Denis Wolf

Datenmodellierung

Datenmodellierung in MongoDB Documents Collection Database

Unser Datenmodell Database Collection Documents Flughafen Tickets 00QKXC 00D3N0

Datenmodellierung - JSON-Struktur (1) { "_id" : "00ZH5M", "passengers" : [ "lastname" : "Rauss", "firstname" : "Armin", "type" : "Mr" } ], "flights" : [ "departs" : { "date" : "2013-04-04", "time" : "06:50" }, "airline" : "Lufthansa", "arrives" : { "time" : "08:00" "flight" : "LH2023", "from" : { "airport" : "DUS", "city" : "Dusseldorf, Germany" }, "to" : { "airport" : "MUC", "terminal" : "Terminal 2", "city" : "Munich, Germany" "baggage" : "ADT 1PC", "class" : "Economy (B)", "duration" : "01:10", "status" : "Confirmed", "aircraft" : "Airbus Industrie A320-100/200", "services" : { "etickets" : [ "2203272401000C1" ], "seats" : [ "07D" ] }

Datenmodellierung - JSON-Struktur (2) "fares" : { "segment" : [ 1, 2 ], "name:" : { "lastname" : "Rauss", "firstname" : "Armin", "type" : "Mr" }, "type" : "ADT", "fop" : "INVOICE", "currency" : "EUR", "base" : "667.00", "taxes" : "260.91", "total" : "927.91" }

Importieren der Daten MongoDB kann JSON Dateien mit Hilfe des Befehls „mongoimport“ importieren: mongoimport --db flughafen --collection tickets –type json –file file.json

Datenbankabfragen

Datenbankabfrage-Befehl Zum Abfragen der Datenbank wird der Befehl „find“ benutzt Beispiel: db.tickets.find({"_id":/^009GH1$/i}).pretty() database collection find()

Datenbankabfragen (1) Alle Buchungen, die noch nicht ausgestellt wurden (d.h. kein Preis vorhanden): db.tickets.find({"fares" : {$exists : false}}).pretty() Alle Buchungen mit mehr als einem Passagier: db.tickets .find({$where : "this.passengers.length > 1"}).pretty() Alle Buchungen, bei denen der Flug in Dusseldorf (DUS) begonnen wird: db.tickets.find({"flights.0.from.airport" : "DUS"}).pretty() Die Anzahl der Buchungen, bei denen der Flug in Dusseldorf (DUS) begonnen wurde: db.tickets.find({"flights.0.from.airport" : "DUS"}).count()

Datenbankabfragen (2) Den Buchungssatz mit der Ticketnummer 2203272401000: db.tickets .find({"flights.services.etickets„ : /2203272401000/i}).pretty() Alle Buchungen, die kein Direktflug sind (d.h. mit Umsteigen): .find({ $where : "this.flights.length > 1 && this.flights[0].to.airport == this.flights[1].from.airport && this.flights[0].from.airport != this.flights[1].to.airport"}) .pretty() Alle Buchungen, die ein One-Way sind (d.h. ohne Rückflug): .find("this.flights[0].from.airport != this.flights[this.flights.length-1].to.airport").pretty()

Verteilte Anfragen auf großen Datenmengen Praktikum 3 + 4

Datenimport Erzeugen von JSON-Dateien mit 1 Millionen 5 Millionen …. Datensätzen durch eigenes Python-Skript Import und Zeitmessung durch: time mongoimport --db flughafen --collection tickets --type json --file data.json Größe der Collection mit: db.tickets.stats();

Durchschnittsberechnung mit MapReduce db.average.drop(); var startTime = new Date(); db.tickets.mapReduce( function() { if (this.fares != null && this.fares.taxes != null) emit({}, {sum: this.fares.taxes, num: 1}); else emit({}, {sum: 0, num: 0}); }, function(name, values) { var n = {sum: 0, num: 0}; for (var i = 0; i < values.length; i++) { n.sum += values[i].sum; n.num += values[i].num; } return n; { finalize: function(who, res) { res.avg = res.sum / res.num; return res; out: "average" ); print((new Date - startTime) / 1000 + "sec"); db.average.find().pretty();

Auswertung Datensätze Zeit für Import Größe der Collection Zeit für Berechnung 1 Millionen 78.080s 1,11GB 11.232s 5 Millionen 450.123s 5,557GB 56.429s 10 Millionen 1051.336s 11,1GB 105.966s 15 Millionen 1834.627s 16,925GB 156.796s 20 Millionen 2493.826s 22,318GB 210.983s