Sie sind auf Seite 1von 17

@m4rcsch

Typische MongoDB Anwendungsflle


Marc Schwering
Solutions Architect, 10gen

NoSQL & MongoDB

NoSQL Eigenschaften
Flexible Datentypen
Listen, eingebettete Objekte Sparse Data Semi-strukturierte Daten Agile Development

Hoher Datendurchsatz
Lesen Schreiben

Groe Datenmengen
Aggregierte Datengre Anzahl an Datenstzen

geringe Latenz
Frs lesen und schreiben ms Bereich

Cloud Computing
Luft berall Keine spezielle Hardware

Commodity Hardware
Ethernet Lokaler Datenspeicher

Marc Schwering, 10gen - @m4rcsch

MongoDB
Flexible Datentypen
Listen, eingebettete Objekte JSON basiert SparseDynamische schemas Semi-strukturierte Daten Schemata Agile Development

Hoher Datendurchsatz
Lesen Auto Schreiben

Groe Datenmengen
Aggregierte Datengre AnzahlgridFS an Datenstzen

Fragmentierung

Transparente Fragmentierung

geringe Latenz
Frs lesen und schreiben In-memory ms Bereich

Cloud Computing
Luft berall Keine spezielle Hardware Einfaches Setup

Commodity Hardware
Ethernet X86_64 Systeme Lokaler Datenspeicher

cache Scale-out working set

Breite Untersttzung

Lokales fs

Marc Schwering, 10gen - @m4rcsch

Anwendungsflle / Use Cases

High Volume Data Feeds


Maschinendate n
Sehr viele Sensoren berall Variable Struktur(en)

Aktienhandel

Hochfrequenzhandel

Social Media

Viele Datenquellen Formatnderungen

Marc Schwering, 10gen - @m4rcsch

High Volume Data Feeds


Asynchrones schreiben Flexibles Schema fr Datenformatanpassungen

Data Data Sources Data Sources Datenquel Sources len

WriteConcern: SafeMode (in Memory)

Skalierung durch Fragmentierung


Marc Schwering, 10gen - @m4rcsch

Operational Intelligence
Ad Targeting
Real time dashboards
Extrem viele Statiwechsel (Tracking) Strikte Anforderungen an Latenz

Reporting fr tausende von Nutzern Konsistente Echtzeit Updates!

Social Media Monitoring

Worber sprechen die Leute?

Marc Schwering, 10gen - @m4rcsch

Operational Intelligence
Geringe Leselatenz Parallelisierung von Lese.- und Schreibzugriffen via Shards und Replikas

API

Pre-Aggregation & Aggregation Framework

Dashboards
Flexible Schemata fr verschiedenste Inputformate

Transparente Skalierung

Marc Schwering, 10gen - @m4rcsch

Beispiel Tracking & Conversion


1 See Ad
Scale out fr hohen Datendurchsatz Umfangreiches Schema um komplexe Stati abzubilden
{ 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 } ] Dynamische

See Ad

Click

Schemata durch Kundenanforderunge n

Convert

Marc Schwering, 10gen - @m4rcsch

Management von Metadaten


Datenarchivie rung Informationsa nalyse Biometrie
Metadaten Referenzspeicher

Datamining

Retina Scans Fingerabdrcke

Marc Schwering, 10gen - @m4rcsch

Metadaten Beispiel
db.archives. find({ country: Egypt });
Umfangreiche Abfrage und Indexierungsmglichkeiten.

Flexibles DatenModell

{ type: Artefact, medium: Ceramic, country: Egypt, year: 3000 BC }

{ ISBN: 00e8da9b, type: Book, country: Egypt, title: Ancient Egypt }

Marc Schwering, 10gen - @m4rcsch

Content Management
News-Seite
Verschiedene Kanle Sharing
Nutzergenerierte Inhalte Personalisierung von Inhalt und Layout

Layout on the fly Kaum statischer Inhalt

Binr.- und Metadaten

Marc Schwering, 10gen - @m4rcsch

Content Management
GridFS fr Binrdaten Flexibles Schema fr einfache Erweiterungen GeoSpatial Index

{ camera: Nikon d4, location: [ -122.418333, 37.775 ] }

{ camera: Canon 5d mkII, people: [ Jim, Carol ], taken_on: ISODate("2012-03-07T18:32:35.002Z") }

Horizontale Skalierbarkeit fr groe Datenstze

{ origin: facebook.com/photos/xwdf23fsdf, license: Creative Commons CC0, size: { dimensions: [ 124, 52 ], units: pixels } }

Marc Schwering, 10gen - @m4rcsch

Passt mein Use-Case zu MongoDB?

Projekt Charakteristika
Applikations-Anforderungen Variable Daten in Objekten Warum MongoDB gut passen knnte Dynamische Schemata und JSON erlauben flexible Datenspeicherung ohne Sparse-Tabellen oder komplexe JOINS. MongoDB Memory Mapping bietet In-MemoryGeschwindigkeit und ist konsistent. Sharding und Replikation fr einfache Skalierbarkeit Sharding und Replikation nutzen alle Mglichkeiten von Cloud-Computing Flexibles Datenmodell ermglicht agile Softwareentwicklung

Geringe Latenz Hoher Datendurchsatz und/oder viele Daten Cloud-basiertes deployment Wechselnde Business Anforderungen

Marc Schwering, 10gen - @m4rcsch

Vielen Dank!
Fragen?
Chat, oder: @m4rcsch

Kommende Events:
MongoDB Berlin: 26. Feb. ( http://welu.se/1Zl ) Webinar ber MongoDB v 2.4 (Ende Mrz)
Marc Schwering, Solutions Architect -10gen (the MongoDB Company)