_sharding:vorteile
• gegen „Last“ Skalieren
• Verteilung von Lesezugriffen
• Verteilung von Schreibzugriffen
• selbstdefiniertes Verteilungskriterium
+
Slide 22
Slide 22 text
_sharding:nachteile
• einmalige Definition des sharding-keys
• RAM-Grenzen
• Monitoring ist wichtiger denn je
• Sharding macht nicht alles schneller
• Sharding macht nicht alles einfacher
!
_anwendungsfall:setup
• Ausprobieren und selbst im kleinen Testen!
• Testsetup mit Vagrant/Puppet (3 mongod, mongos, configserver)
• online (mit Dokumentation): https:/
/github.com/strud/vagrant-
machines
_anwendungsfall:daten
• URL
• Titel (Text)
• Abstract (Volltext)
https://www.iconfinder.com/icons/171735/note_icon
Slide 29
Slide 29 text
_anwendungsfall:daten
• Java Parser und Import
• online: https:/
/github.com/strud/db_evaluation
Slide 30
Slide 30 text
_anwendungsfall:kandidaten
• Titel
• Text
• unklare Verteilung
Slide 31
Slide 31 text
_anwendungsfall:kandidaten
• künstlich, z.B. count(docs) % Anzahl Shards + Random ID
• ideale Verteilung beim Einfügen
• Weitere Shards?
• alternativ: _id
Slide 32
Slide 32 text
_anwendungsfall:kandidaten
• URL
• strukturiert
• geeignet für Baumdatenstrukturen
Slide 33
Slide 33 text
_anwendungsfall:kandidaten
• ab 2.4: Hashed Index
• zufällig
• von MongoDB selbst erzeugt
_talk:fazit
• Sharding kann die Datenmenge eines Systems erhöhen
• Sharding könnte die Performance verbessern
Slide 42
Slide 42 text
_talk:fazit
• hashed sharding-keys = gute Lösung für balancing, nicht alle
Abfragen werden unterstützt
• selbstdefiniert = beste Performance
• schlechter sharding-key = Problem
Slide 43
Slide 43 text
_talk:fazit
• „Kenne die Daten des Systems“
• „Teste mit realen Daten des Systems“
• „Kenne die realen UseCases!“
• „Beratersprech“?
• Mut zum Ausprobieren!