• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
2012-05-14 NoSQL in .NET - mit Redis und MongoDB
 

2012-05-14 NoSQL in .NET - mit Redis und MongoDB

on

  • 1,858 views

1: Vortrag: NoSQL in .NET – mit Redis und MongoDB...

1: Vortrag: NoSQL in .NET – mit Redis und MongoDB
Der Vortrag führt in die Theorie ein, stellt die beiden NoSQL-Datenbanksysteme Redis und MongoDB näher vor und gibt Praxisbeispiele. Ich präsentiere die beiden Systeme live an einem ASP.NET MVC Beispielprojekt, welches allen Teilnehmern zur Verfügung gestellt wird.

2. Vortrag: NoSQL – Dokumente und Relationen
Eine dokumentenbasierte NoSQL-Datenbank wie MongoDB hat nicht nur eine andere API zur Abfrage der Daten. Die tiefergehende Neuerung ist eine grundlegende andere Art die Daten abzuspeichern. Der Vortrag konzentriert sich auf Schema-Design, das Map-Reduce Verfahren und bekannten Patterns für Dokumenten-basierte Datenbanken.

Statistics

Views

Total Views
1,858
Views on SlideShare
590
Embed Views
1,268

Actions

Likes
0
Downloads
11
Comments
0

2 Embeds 1,268

http://blog.johanneshoppe.de 1267
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    2012-05-14 NoSQL in .NET - mit Redis und MongoDB 2012-05-14 NoSQL in .NET - mit Redis und MongoDB Presentation Transcript

    • › SET note1:title "Mittag"› SET note1:message "nicht vergessen"› KEYS note1:*› GET note1:title› DEL note1:title note1:message
    • http://bit.ly/ISv9f6
    • ››
    • http://bsonspec.org
    • –› use WebNote› db.Notes.save( { Title: Mittag, Message: nicht vergessen‘ } );› db.Notes.save
    • –› db.Notes.find();› db.Notes.find({ Title: /Test/i });› db.Notes.find( { "Categories.Color": "red"}).limit(1);
    • –› db.Notes.update({Title: Test}, {$set: {Categories: []}});› db.Notes.update({Title: Test}, {$push: { Categories: {Color: Red} } });
    • –› db.dropDatabase();› db.Notes.drop();› db.Notes.remove();
    • NULL NULLNULL NULLNULL
    • > db.shapes.find()› { _id: "1", type: "c", area: 3.14, radius: 1}› { _id: "2", type: "s", area: 4, length: 2}› { _id: "3", type: "r", area: 10, length: 5, width: 2}// Shapes mit radius > 0 finden> db.shapes.find( { radius: { $gt: 0 } } )
    • blogs: { author : “Johannes", date : ISODate("2011-09-18T09:56:06.298Z"), comments : [ { author : “Klaus", date : ISODate("2011-09-19T09:56:06.298Z"), text : “toller Artikel" } ]}
    • blogs: { _id: 1000, author: “Johannes", date: ISODate("2011-09-18"), comments: [ {comment : 1)} ]}comments : { _id : 1, blog: 1000, author : “Klaus", date : ISODate("2011-09-19")}> blog = db.blogs.find({ text: "Destination Moon" });> db.comments.find( { blog: blog._id } );
    • // Jedes Produkt verlinkt die IDs der Kategorienproducts: { _id: 10, name: "Destination Moon", category_ids: [ 20, 30 ] }
    • // Jedes Produkt verlinkt die IDs der Kategorienproducts: { _id: 10, name: "Destination Moon", category_ids: [ 20, 30 ] }// Jede Kategorie verlinkt die IDs der Produktecategories: { _id: 20, name: "adventure", product_ids: [ 10, 11, 12 ] }categories: { _id: 21, name: "movie", product_ids: [ 10 ] }
    • // Jedes Produkt verlinkt die IDs der Kategorienproducts: { _id: 10, name: "Destination Moon", category_ids: [ 20, 30 ] }// Jede Kategorie verlinkt die IDs der Produktecategories: { _id: 20, name: "adventure", product_ids: [ 10, 11, 12 ] }categories: { _id: 21, name: "movie", product_ids: [ 10 ] }// Alle Kategorien für ein Produkt> db.categories.find( { product_ids: 10 } )
    • // Jedes Produkt verlinkt die IDs der Kategorienproducts: { _id: 10, name: "Destination Moon", category_ids: [ 20, 30 ] }// Kategorien beinhalten keine Assoziationencategories: { _id: 20, name: "adventure"}
    • // Jedes Produkt verlinkt die IDs der Kategorienproducts: { _id: 10, name: "Destination Moon", category_ids: [ 20, 30 ] }// Kategorien beinhalten keine Assoziationencategories: { _id: 20, name: "adventure"}// Alle Produkte für eine Kategorie> db.products.find( { category_ids: 20 } )
    • // Jedes Produkt verlinkt die IDs der Kategorienproducts: { _id: 10, name: "Destination Moon", category_ids: [ 20, 30 ] }// Kategorien beinhalten keine Assoziationencategories: { _id: 20, name: "adventure"}// Alle Produkte für eine Kategorie> db.products.find( { category_ids: 20 } )// Alle Kategorien für ein Produkt product> product = db.products.find( { _id: some_id } )> db.categories.find({_id: {$in : product.category_ids}})
    • › › ›››
    • ›››
    • ›››
    • ››
    • CODASYL model SQL Agile becoming more Google MongoDB initial published invented popular BigTable releaseIBM’s Oracle Brewer’s Amazon IMS INGRES founded CAP born Dynamo1966 1969 1970 1973 1974 1977 1985 1990’s 2000 2004 2007 2008 2009 10gen NoSQL Codd publishes Term “object-oriented founded Movement relational model paper database” appears in 1970 Apache Cassandra initial release