O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

MongoDB

Book Description

MongoDB ist die populärste NoSQL-Datenbank und hat eine große Bedeutung im Big-Data-Umfeld. Autor ist durch zahlreiche Veröffentlichungen und Vorträge bekannt.

Table of Contents

  1. Cover
  2. Title
  3. Impressum
  4. 1 Einleitung
    1. 1.1 Big Data
    2. 1.2 NoSQL
    3. 1.3 Dokumentenorientierte Datenbanken
    4. 1.4 Verteilte Systeme und das CAP-Theorem
    5. 1.5 ACID vs. BASE
    6. 1.6 Zusammenfassung
  5. 2 MongoDB in 21 Minuten
    1. 2.1 Installation
    2. 2.2 Server starten
    3. 2.3 Mongo Shell
    4. 2.4 Erste Schritte
      1. 2.4.1 Collections
      2. 2.4.2 Dokumente
      3. 2.4.3 CRUD-Operationen
    5. 2.5 Daten importieren
    6. 2.6 Schemafreiheit
    7. 2.7 Zusammenfasssung
  6. 3 Grundlegende Konzepte
    1. 3.1 Konnektivität
    2. 3.2 Datenhaltung
    3. 3.3 Datenbanken
    4. 3.4 Collections
      1. 3.4.1 System Collections
      2. 3.4.2 Capped Collections
    5. 3.5 Dokumente
      1. 3.5.1 BSON
      2. 3.5.2 Datentypen
      3. 3.5.3 ObjectId
      4. 3.5.4 Primärschlüssel
      5. 3.5.5 Eingebettete Dokumente
      6. 3.5.6 Arrays
      7. 3.5.7 Dokumentreferenzen
    6. 3.6 Indizes
    7. 3.7 Namespaces
    8. 3.8 Abstraktionsebenen
    9. 3.9 Zusammenfassung
  7. 4 Replikation
    1. 4.1 Das Oplog
    2. 4.2 Master-Slave-Replikation
    3. 4.3 Replica Sets
      1. 4.3.1 Erste Schritte
      2. 4.3.2 Zugriff durch Anwendungen
      3. 4.3.3 Konfiguration im Detail
      4. 4.3.4 Grenzen der Replikation
    4. 4.4 Zusammenfassung
  8. 5 Sharding
    1. 5.1 Grundlagen
    2. 5.2 Der Schlüssel zum Sharding
    3. 5.3 Konfiguration
    4. 5.4 Fortgeschrittene Themen
      1. 5.4.1 Chunk-Verwaltung
      2. 5.4.2 Shards hinzufügen
      3. 5.4.3 Shards entfernen
      4. 5.4.4 Tag-basiertes Sharding
      5. 5.4.5 Produktive Sharding-Systeme
    5. 5.5 Zusammenfassung
  9. 6 Queries
    1. 6.1 Grundlegendes
    2. 6.2 Cursor
      1. 6.2.1 pretty()
      2. 6.2.2 limit()
      3. 6.2.3 skip()
      4. 6.2.4 sort()
      5. 6.2.5 batchSize()
      6. 6.2.6 objsLeftInBatch()
      7. 6.2.7 readPref()
      8. 6.2.8 snapshot()
      9. 6.2.9 showDiskLoc()
      10. 6.2.10 addOption()
    3. 6.3 Suchkriterien
      1. 6.3.1 Gleichheit
      2. 6.3.2 Logische Meta-Operatoren
      3. 6.3.3 Vergleichsoperatoren
      4. 6.3.4 Eingebettete Dokumente
      5. 6.3.5 Arrays
      6. 6.3.6 Reguläre Ausdrücke
      7. 6.3.7 $where
      8. 6.3.8 Schemafreiheit
      9. 6.3.9 Sonstiges
    4. 6.4 Indizes
      1. 6.4.1 Zusammengesetzte Indizes
      2. 6.4.2 Eingebettete Dokumente
      3. 6.4.3 Arrays
      4. 6.4.4 explain() und hint()
      5. 6.4.5 Covered Query
      6. 6.4.6 TTL-Index
      7. 6.4.7 Hashed Index
    5. 6.5 Profiling
      1. 6.5.1 Performance-Optimierung
      2. 6.5.2 Tools
    6. 6.6 Geodaten-Suche
      1. 6.6.1 Übersicht
      2. 6.6.2 Planare Koordinaten
      3. 6.6.3 Sphärische Koordinaten
    7. 6.7 Volltextsuche
      1. 6.7.1 Erstes Beispiel
      2. 6.7.2 Volltext-Indizes
      3. 6.7.3 Volltextsuche
      4. 6.7.4 Kombination mit anderen Suchkriterien
      5. 6.7.5 Sprachen und Stoppwortlisten
      6. 6.7.6 Negation und Suche nach Phrasen
      7. 6.7.7 Gewichtete Suche
      8. 6.7.8 Mehrsprachige Collections
    8. 6.8 Zusammenfassung
  10. 7 Manipulation von Dokumenten
    1. 7.1 Insert – Dokumente einfügen
      1. 7.1.1 Write Concern – der Konsistenzgrad
      2. 7.1.2 Mehrere Dokumente einfügen
    2. 7.2 Update – Änderungen an Dokumenten
      1. 7.2.1 Vollständige Ersetzung
      2. 7.2.2 Partielle Änderungen
      3. 7.2.3 Upsert – Anlegen und Ändern
      4. 7.2.4 FindAndModify – Suchen und Ändern
      5. 7.2.5 Änderungen an mehreren Dokumenten
      6. 7.2.6 Optimistisches Sperren
    3. 7.3 Save – Einfügen bzw. Ändern
    4. 7.4 Remove – Löschen von Dokumenten
    5. 7.5 Zusammenfassung
  11. 8 Schema-Design
    1. 8.1 Einleitung
    2. 8.2 Analyse und Modelle
      1. 8.2.1 Diagramme
      2. 8.2.2 Design by Example
    3. 8.3 Beziehungen
      1. 8.3.1 1:1-Beziehungen
      2. 8.3.2 1:n-Beziehungen
      3. 8.3.3 m:n-Beziehungen
    4. 8.4 Vererbung
    5. 8.5 Weitere Muster
      1. 8.5.1 Variable Dokumenteneigenschaften
      2. 8.5.2 Temporale Datenhaltung
      3. 8.5.3 Schema-Migration
    6. 8.6 Zusammenfassung
  12. 9 Aggregation von Daten
    1. 9.1 Abfragemethoden zur Datenaggregation
      1. 9.1.1 count()
      2. 9.1.2 distinct()
      3. 9.1.3 group()
    2. 9.2 Das Aggregation Framework
      1. 9.2.1 Grundkonzepte
      2. 9.2.2 Wie starte ich eine Aggregation?
      3. 9.2.3 Die Pipeline-Operatoren
      4. 9.2.4 Expressions
    3. 9.3 MapReduce
    4. 9.4 Zusammenfassung
  13. 10 Weiterführende Themen
    1. 10.1 GridFS
      1. 10.1.1 Zugriff über Treiber
    2. 10.2 REST-Schnittstelle
      1. 10.2.1 Server-Status ermitteln
      2. 10.2.2 Collections lesen
    3. 10.3 Sicherheit
      1. 10.3.1 Authentifizierung und Autorisierung
      2. 10.3.2 Netzwerk
    4. 10.4 Zusammenfassung
  14. 11 Softwareentwicklung mit MongoDB
    1. 11.1 Programmierbeispiele
      1. 11.1.1 Ruby
      2. 11.1.2 Java
    2. 11.2 Persistenz-Frameworks
      1. 11.2.1 Ruby
      2. 11.2.2 Java
    3. 11.3 Zusammenfassung
  15. Anhang
    1. A Referenz der Kommandozeilenoptionen
      1. A.1 Mongo – die Mongo Shell
      2. A.2 mongod – Datenbank-Server
      3. A.3 mongos – Router fürs Sharding
  16. Index