![Page 1: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/1.jpg)
![Page 2: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/2.jpg)
Back to Basics 2016 : Webinar 1
Einführung in NoSQL
Benjamin LorenzSenior Solutions Architect
MongoDB Frankfurt
![Page 3: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/3.jpg)
HERZLICH WILLKOMMEN!
![Page 4: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/4.jpg)
4
Kursplan
Datum Uhrzeit Webinar31. Mai 2016 14:00 CEST Einführung in NoSQL 16. Juni 2016 14:00 CEST Ihre erste MongoDB-Anwendung 1. Juli 2016 14:00 CEST Schema-Design – Denken in Dokumenten 12. Juli 2016 14:00 CEST Fortschrittliche Indizierung, Text- und Geoindizes 26. Juli 2016 14:00 CEST Einführung in das Aggregation-Framework 30. August 2016 14:00 CEST Produktivsetzung einer Anwendung
![Page 5: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/5.jpg)
5
Ablauf heute
• Warum NoSQL• Unterschiedliche Typen von NoSQL-Datenbanken• MongoDB: Detaillierte Übersicht• MongoDB Dauerhaftigkeit (durability) – Replica Sets• MongoDB Skalierbarkeit – Sharding• Fragen & Antworten
![Page 6: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/6.jpg)
6
Relationale Datenbanken
Expressive Abfragesprache& sekundäre Indizes
Strenge Konsistenz
Enterprise-Management& Integration
![Page 7: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/7.jpg)
7
Die Welt hat sich verändert
Daten Risiken Zeit Kosten
![Page 8: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/8.jpg)
8
NoSQL
Skalierbarkeit& Leistung
Immer lauffähig,Globale Bereitstellung
FlexibilitätExpressive Abfragesprache& sekundäre Indizes
Strenge Konsistenz
Enterprise-Management& Integration
![Page 9: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/9.jpg)
9
Nexus-Architektur
Skalierbarkeit& Leistung
Immer lauffähig,Globale Bereitstellung
FlexibilitätExpressive Abfragesprache& sekundäre Indizes
Strenge Konsistenz
Enterprise-Management& Integration
![Page 10: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/10.jpg)
10
Typen von NoSQL-Datenbanken
• Key/Value-Datenbanken• Spaltenorientierte Datenbanken• Graphdatenbanken• Multi-Model-Datenbanken• Dokumentenorientierte Datenbanken
![Page 11: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/11.jpg)
11
Key/Value-Datenbanken
• Assoziatives Array• Extrem schnelles Single-Key-Lookup• Nicht so gut geeignet für Rückwärtssuche
Key Value
12345 4567.3456787
12346 { addr1 : “The Grange”, addr2: “Dublin” }
12347 “top secret password”
12358 “Shopping basket value : 24560”
12787 12345
![Page 12: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/12.jpg)
12
Erinnerung: Zeilenorientierte Datenbanken (RDBMS)
• Speichern Daten in Zeilen ab (traditionelles RDBMS, z.B. MySQL)• Bei Abfragen wird jedes Mal eine vollständige Zeile gelesen• Auslesen von nur ein oder zwei Spalten verschwendet Ressourcen
ID Name Gehalt Start-Datum
1 Joe D 24.000 € 1. Jun 1970
2 Peter J 28.000 € 1. Feb 1972
3 Phil G 23.000 € 1. Jan 1973
1 Joe D 24.000 € 1. Jun 1970 2 Peter J 28.000 € 1. Feb 1972 3 Phil G 23.000 € 1. Jan 1973
![Page 13: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/13.jpg)
13
Wie funktioniert eine spaltenorientierte Datenbank?
1 2 3
ID Name Gehalt Anfangsdatum
1 Joe D 24.000 € 1. Jun 1970
2 Peter J 28.000 € 1. Feb 1972
3 Phil G 23.000 € 1. Jan 1973
Joe D Peter J Phil G 24.000 € 28.000 € 23.000 € 1. Jun 1970 1. Feb 1972 1. Jan 1973
![Page 14: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/14.jpg)
14
Warum ist das attraktiv?
• Plattenzugriff „am Stück“ ermöglicht effizientes Lesen einer Spalte• Die Komprimierung ähnlicher Daten ist extrem effizient• Mit einem Plattenzugriff können somit mehr Daten abgerufen werden• Werden nur einzelne Spalten benötigt, müssen hierfür nicht alle
Zeilen ausgelesen werden• Aber:
– Zeilen zu aktualisieren oder zu löschen ist teuer• Besser für OLAP geeignet als für OLTP
![Page 15: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/15.jpg)
15
Graphdatenbanken
• Speichern Graphen (Kanten und Ecken)• Beispiel: Soziale Netzwerke• Effizientes Folgen von Kanten• Optimiert für die Repräsentation von Verbindungen• Keine Graphen, dann keine Graphdatenbank verwenden!
![Page 16: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/16.jpg)
16
Multi-Model-Datenbanken
• Kombination mehrerer Speicher-/Zugriffsmodelle• Häufig Graph + „X“• Löst Problem, mehrere Datenbanken synchron halten zu müssen• Der „letzte Schrei“ im Bereich NoSQL
![Page 17: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/17.jpg)
17
Dokumentenorientierte Datenbanken• Keine PDF-, Word- oder HTML-Dokumente• Dokumente sind verschachtelte Strukturen, die mit Javascript Object Notation (JSON) erstellt
werden
{ name : “Benjamin Lorenz”,title : “Senior Solutions Architect”,Address : {address : “An der Welle 4”,city : “Frankfurt”,zip_code : “60322”,}expertise: [ “MongoDB”, “Python”, “Javascript” ],employee_number : 521,location : [ 53.34, -6.26 ]
}
![Page 18: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/18.jpg)
18
Mit MongoDB werden Dokumente typisiert
{
name : “Benjamin Lorenz”,
title : “Senior Solutions Architect”,
Address : {
address : “An der Welle 4”,
city : “Frankfurt”,
zip_code : “60322”,
}
expertise: [ “MongoDB”, “Python”, “Javascript” ],
employee_number : 521,
location : [ 53.34, -6.26 ]
}
Strings
Verschachteltes Dokument
Array
Integer
Geokoordinaten
![Page 19: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/19.jpg)
19
MongoDB versteht JSON-Dokumente
• Native JSON-Datenbank seit der ersten Version• Kann Unterstrukturen verstehen und indizieren• Speichert JSON binär als BSON • Effiziente Kodierung und Dekodierung zur Netzwerkübertragung• MongoDB kann Indizes für jedes Dokumentenfeld erstellen• ...mehr dazu im weiteren Kursverlauf
![Page 20: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/20.jpg)
20
Warum Dokumente?• Dynamisches Schema• Wegfall des objekt-relationalen Mappings• Implizite Denormalisierung der Daten zur Leistungssteigerung
![Page 21: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/21.jpg)
21
Warum Dokumente?• Dynamisches Schema• Wegfall des objekt-relationalen Mappings• Implizite Denormalisierung der Daten zur Leistungssteigerung
![Page 22: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/22.jpg)
22
MongoDB bietet sämtliche Funktionen
Leistungsstarke Abfragen
• Pauls Autos finden• Alle Frankfurter Autobesitzer zwischen 1970
und 1980 finden
Geokoordinaten • Alle Autobesitzer im Umkreis von 5 km des Frankfurter Messeturms finden
Textsuche • Alle Autos finden, die laut Beschreibung mit Ledersitzen ausgestattet sind
Verdichtung • Durchschnittswert von Pauls Autosammlung berechnen
Map Reduce • Finde Muster bzgl. Farben, Ort und Zeit („gibt es in China einen Trend zu Lila?“)
![Page 23: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/23.jpg)
23
Hohe Verfügbarkeit und Dauerhaftigkeit – Replica Sets
SekundärSekundär
Primär
![Page 24: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/24.jpg)
24
Erzeugung eines Replica Sets
SekundärSekundär
Primär
Heartbeat
![Page 25: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/25.jpg)
25
Ausfall eines Servers
SekundärSekundär
Primär
Kein Heartbeat
![Page 26: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/26.jpg)
26
Wiederherstellung der Funktionalität
SekundärSekundär
HeartbeatWahl eines neuen Primär-Knotens
![Page 27: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/27.jpg)
27
Neues Replica Set – 2 Knoten
SekundärPrimär
HeartbeatNeuer Primär-Knoten
![Page 28: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/28.jpg)
28
Reparatur des Replica Sets
SekundärPrimär
Sekundär
Neuer Verbundund Synchronisation
![Page 29: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/29.jpg)
29
Stabiles Replica Set
SekundärPrimär
Sekundär
Heartbeat
![Page 30: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/30.jpg)
30
Skalierbarkeit mit Sharding
Shard 1 Shard 2 Shard N
![Page 31: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/31.jpg)
31
Skalierbarkeit mit Sharding
• Shard-Schlüssel partitioniert Inhalt• MongoDB balanciert Datenmenge im Cluster automatisch• Shards können dem Live-System dynamisch hinzugefügt werden• Neue Ausbalancierung erfolgt im Hintergrund• Shard-Schlüssel ist unveränderbar• Shard-Schlüssel ermöglicht es, Abfragen an ein einzelnes Shard
zu richten• Abfragen ohne Shard-Schlüssel werden an alle Shards gesendet
![Page 32: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/32.jpg)
32
Skalierbarkeit mit ShardingMongoS MongoS
Shard 1 Shard 2 Shard N
Shard-Schlüssel
![Page 33: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/33.jpg)
33
Abfrage-Routing
• Sharded Cluster nutzen einen Router zur Verteilung der Abfragen• Daemon namens MongoS (Mongo Shard Router)• Daemon ist zustandslos• Kann so oft instanziiert werden wie nötig• Typischerweise eine Instanz pro App-Server
![Page 34: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/34.jpg)
34
Zusammenfassung
• Warum NoSQL• Unterschiedliche Typen von NoSQL-Datenbanken• Die wichtigsten Merkmale von MongoDB• Dauerhaftigkeit in MongoDB• Skalierbarkeit in MongoDB
![Page 35: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/35.jpg)
35
Nächstes Webinar – Ihre erste MongoDB-Anwendung
• 16. Juni 2016, 14:00 CEST• Bitte Anmeldung nicht vergessen• Entwicklung einer eigenen MongoDB-Anwendung• Datenbanken und Collections erstellen• Abfragen formulieren• Indizes erstellen• Performance verstehen• Feedback an [email protected]
![Page 36: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/36.jpg)
Fragen und Antworten
![Page 37: Das Back to Basics – Webinar 1: Einführung in NoSQL](https://reader035.vdocuments.mx/reader035/viewer/2022070601/588687761a28abf6158b49ff/html5/thumbnails/37.jpg)