Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

17
Solutions Architect, 10gen Marc Schwering @m4rcsch Typische MongoDB Anwendungsfälle

Transcript of Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

Page 1: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

Solutions Architect, 10gen

Marc Schwering

@m4rcsch

Typische MongoDB Anwendungsfälle

Page 2: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

NoSQL & MongoDB

Page 3: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 4: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 5: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

Anwendungsfälle / Use Cases

Page 6: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

Marc Schwering, 10gen - @m4rcsch

High Volume Data Feeds

• Sehr viele Sensoren “überall”• Variable Struktur(en)

Maschinendaten

• HochfrequenzhandelAktienhandel

• Viele Datenquellen• FormatänderungenSocial Media

Page 7: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 8: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 9: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 10: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 11: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

Marc Schwering, 10gen - @m4rcsch

Management von Metadaten

• Metadaten• Referenzspeicher

Datenarchivierung

• DataminingInformations

analyse

• Retina Scans• FingerabdrückeBiometrie

Page 12: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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” });

Page 13: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 14: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 15: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

Passt mein Use-Case zu MongoDB?

Page 16: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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

Page 17: Webinar: Typische MongoDB Anwendungsfälle (Common MongoDB Use Cases) 

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)