View
71
Download
3
Category
Preview:
DESCRIPTION
Die Funktionsweise von MongoDB unterscheidet sich von der anderer gängiger Datenbanken. Das dokumentenorientierte Datenmodell, Range-Partitionierung und das robuste Konsistenzmodell sind nicht für alle Aufgabenstellungen gleichermaßen geeignet. In diesem Webinar schildern wir einige konkrete Anwendungsfälle, bei denen die Besonderheiten von MongoDB zum Tragen kommen. Sie erfahren, wie 10gen-Kunden MongoDB implementiert haben und wie Sie ähnliche Lösungen für Ihre Umgebung konzipieren können.
Citation preview
Solutions Architect, 10gen
Marc Schwering
@m4rcsch
Typische MongoDB Anwendungsfälle
NoSQL & MongoDB
Marc Schwering, 10gen - @m4rcsch
NoSQL Eigenschaften
Flexible Datentypen• Listen, eingebettete Objekte
• Sparse Data• Semi-strukturierte Daten
• Agile Development
Hoher Datendurchsatz• Lesen• Schreiben
Große Datenmengen• Aggregierte Datengröße• Anzahl an Datensätzen
geringe Latenz• Fürs lesen und schreiben
• ms Bereich
Cloud Computing• Läuft “überall”• Keine spezielle Hardware
Commodity Hardware• Ethernet• Lokaler Datenspeicher
Marc Schwering, 10gen - @m4rcsch
MongoDB
Flexible Datentypen• Listen, eingebettete Objekte
• Sparse schemas• Semi-strukturierte Daten
• Agile Development
Hoher Datendurchsatz• Lesen• Schreiben
Große Datenmengen• Aggregierte Datengröße• Anzahl an Datensätzen
geringe Latenz• Fürs lesen und schreiben
• ms Bereich
Cloud Computing• Läuft “überall”• Keine spezielle Hardware
Commodity Hardware• Ethernet• Lokaler Datenspeicher
• JSON basiert• Dynamische
Schemata
• Auto Fragmentierung
• gridFS• Transparente
Fragmentierung
• In-memory cache
• Scale-out working set
• Einfaches Setup
• Breite Unterstützung
• X86_64 Systeme
• Lokales fs
Anwendungsfälle / Use Cases
Marc Schwering, 10gen - @m4rcsch
High Volume Data Feeds
• Sehr viele Sensoren “überall”• Variable Struktur(en)
Maschinendaten
• HochfrequenzhandelAktienhandel
• Viele Datenquellen• FormatänderungenSocial Media
Marc Schwering, 10gen - @m4rcsch
High Volume Data Feeds
Data Sources
Asynchrones schreiben
Flexibles Schema für Datenformat-
anpassungen
WriteConcern: SafeMode
(in Memory)
Data SourcesData
SourcesDatenquellen
Skalierung durch Fragmentierung
Marc Schwering, 10gen - @m4rcsch
Operational Intelligence
• Extrem viele Statiwechsel (Tracking)
• Strikte Anforderungen an LatenzAd Targeting
• Reporting für tausende von Nutzern
• Konsistente Echtzeit Updates!
Real time dashboards
• Worüber sprechen die Leute?Social Media Monitoring
Marc Schwering, 10gen - @m4rcsch
Operational Intelligence
Dashboards
API
Geringe Leselatenz
Parallelisierung von Lese.- und
Schreibzugriffen via Shards und
Replikas
Pre-Aggregation & Aggregation
Framework
Flexible Schemata für
verschiedenste InputformateTransparente
Skalierung
Marc Schwering, 10gen - @m4rcsch
Beispiel Tracking & Conversion
1
2
3
See Ad
See Ad
4
Click
Convert
{ cookie_id: “1234512413243”, advertiser:{ apple: { actions: [ { impression: ‘ad1’, time: 123 }, { impression: ‘ad2’, time: 232 }, { click: ‘ad2’, time: 235 }, { add_to_cart: ‘laptop’, sku: ‘asdf23f’, time: 254 }, { purchase: ‘laptop’, time: 354 } ] …
Umfangreiches Schema um
komplexe Stati abzubilden
“Scale out” für hohen
Datendurchsatz
Dynamische Schemata durch
Kundenanforderungen
Marc Schwering, 10gen - @m4rcsch
Management von Metadaten
• Metadaten• Referenzspeicher
Datenarchivierung
• DataminingInformations
analyse
• Retina Scans• FingerabdrückeBiometrie
Marc Schwering, 10gen - @m4rcsch
Metadaten Beispiel
{ ISBN: “00e8da9b”, type: “Book”, country: “Egypt”, title: “Ancient Egypt”}
{ type: “Artefact”, medium: “Ceramic”, country: “Egypt”, year: “3000 BC”}
Flexibles Daten-Modell
Umfangreiche Abfrage und
Indexierungs- möglichkeiten.db.archives.
find({ “country”: “Egypt” });
Marc Schwering, 10gen - @m4rcsch
Content Management
• Nutzergenerierte Inhalte• Personalisierung von Inhalt und
LayoutNews-Seite
• Layout “on the fly”• Kaum statischer Inhalt
Verschiedene Kanäle
• Binär.- und MetadatenSharing
Marc Schwering, 10gen - @m4rcsch
Content Management
{ camera: “Nikon d4”, location: [ -122.418333, 37.775 ] }
{ camera: “Canon 5d mkII”, people: [ “Jim”, “Carol” ], taken_on: ISODate("2012-03-07T18:32:35.002Z")}
{ origin: “facebook.com/photos/xwdf23fsdf”, license: “Creative Commons CC0”, size: { dimensions: [ 124, 52 ], units: “pixels” }}
Flexibles Schema für einfache
Erweiterungen
Horizontale Skalierbarkeit für große Datensätze
GeoSpatial IndexGridFS für Binärdaten
Passt mein Use-Case zu MongoDB?
Marc Schwering, 10gen - @m4rcsch
Projekt CharakteristikaApplikations-Anforderungen
Warum MongoDB gut passen könnte
Variable Daten in Objekten Dynamische Schemata und JSON erlauben flexible Datenspeicherung ohne Sparse-Tabellen oder komplexe “JOINS”.
Geringe Latenz MongoDB Memory Mapping bietet ”In-Memory”- Geschwindigkeit und ist konsistent.
Hoher Datendurchsatzund/oder viele Daten
Sharding und Replikation für einfache Skalierbarkeit
Cloud-basiertes deployment
Sharding und Replikation nutzen alle Möglichkeiten von Cloud-Computing
WechselndeBusiness Anforderungen
Flexibles Datenmodell ermöglicht agile Softwareentwicklung
Marc Schwering, Solutions Architect -10gen (the MongoDB
Company)
Vielen Dank!
Fragen? Chat, oder: @m4rcsch
Kommende Events: MongoDB Berlin: 26. Feb. ( http://welu.se/1Zl )
Webinar über MongoDB v 2.4 (Ende März)
Recommended