Your SlideShare is downloading. ×
0
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
2012-01-31 NoSQL in .NET
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2012-01-31 NoSQL in .NET

2,492

Published on

NoSQL presentation for the VSone conference

NoSQL presentation for the VSone conference

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,492
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. VISUAL STUDIO FÜR WINDOWS-ENTWICKLER30.-31. JAN. 2012, MÜNCHEN in .NET mit RavenDB und MongoDB31.01.2012Dipl.-Inf. (FH) Johannes HoppePartner: Veranstalter:
  • 2. Johannes Hoppe .NET Webentwickler www.johanneshoppe.de
  • 3. 01Not only SQL
  • 4. Daten 2002 2004 2006 2008 2010 2012
  • 5. Trend 1: wachsende DatenmengenTrend 2: mehr Vernetzung (“web 2.0”)Trend 3: mehr Individualisierung (weniger Struktur)
  • 6. Scale-upVertikale SkalierungServer auf mehr Leistungsfähigkeit trimmen
  • 7. Scale-outhorizontale SkalierungEinfügen von Nodes (Rechnerknoten)
  • 8. verteilte und horizontale Skalierbarkeitkein relationales Datenmodell (kein SQL)schemafrei / schwache Schemarestriktionenanderes Konsistenzmodell
  • 9. Schemafreikein ALTER TABLEkein Wartungsfenster *Datenversionierung im Code!* morgens ausschlafen
  • 10. Anforderungenan ein verteiltes System Consistency Konsistenz Partition Availability Tolerance Verfügbarkeit Ausfalltoleranz
  • 11. CAP Theorem› 2000: E. Brewer, N. Lynch› You can satisfy at most 2 out of the 3 requirements
  • 12. Consistency› The system is in a consistent state after an operation› All clients see the same data› Strong consistency (ACID) vs. eventual consistency (BASE) ACID: Atomicity, Consistency, Isolation and Durability BASE: Basically Available, Soft state, Eventually consistent
  • 13. Availability› System is “always on”, no downtime› Node failure tolerance – all clients can find some available replica› Software/hardware upgrade tolerance
  • 14. Partition tolerance› System continues to function even when split into disconnected subsets (network disruption)› Not only for reads, but writes as well
  • 15. “Drum prüfe,wer sich ewig bindet.”Friedrich Schiller
  • 16. Klassifizierung› Key-Value stores› Document stores  MongoDB & RavenDB› Wide Column stores› Graph-Datenbanken› und viele weitere
  • 17. 02Tabellen  Dokumente
  • 18. https://webnote.codeplex.com
  • 19. 03MongoDB
  • 20. NoSQL MongoDB Quick Reference Cards http://www.10gen.com/reference und zum Mitnehmen!
  • 21. “Deployment”› Standardverzeichnis erstellen: c:datadb› Server-Start: mongod.exe› Shell: mongo.exe
  • 22. BSON Master/SlaveJavaScript C# DriverSharding GNU AGPL
  • 23. JSON  BSONAll JSON documents are stored in a binaryformat called BSON. BSON supports aricher set of types than JSON.http://bsonspec.org
  • 24. CRUD – CreateIn der Shell› use WebNote› db.Notes.save( {Title: Mittag, Message: nicht vergessen });So funktioniert der Befehl› db.Notes.save
  • 25. CRUD – ReadQueries werden ebenso im Dokument-Stil spezifiziert› db.Notes.find();› db.Notes.find({ Title: /Test/i });› db.Notes.find({ "Categories.Color": "red"}).limit(1);
  • 26. CRUD – Update› db.Notes.update({Title: Test}, {$set: {Categories: []}});› db.Notes.update({Title: Test}, {$push: {Categories: { Color: Red }}});
  • 27. CRUD – Delete› db.dropDatabase();› db.Notes.drop();› db.Notes.remove();
  • 28. “Map Reduce is the Uzi of aggregationtools. Everything described with count,distinct and group can be done withMapReduce, and more.”Kristina Chadorow, Michael Dirolf in MongoDB – The Definitive Guide
  • 29. 04RavenDB
  • 30. NoSQL Raven Db Documentation http://ravendb.net/docs
  • 31. JSON * TransaktionalLINQ Lucene100% .NET AGPL / dual* Newtonsoft.Json.dll  JSON DOM (Raven.Json)
  • 32. “Deployment”› Via NuGet› Raven.Server.exe.config anpassen It’s safe by default!› Server-Start: Raven.Server.exe
  • 33. Designed to “just work”› Fluent API› Unit of Work Pattern› Extensible – Plugin Support
  • 34. Safe by default› praktische defaults › z.B. Limited page size – kein unabsichtliches SELECT *› ACID › Client / Server › Cross shard
  • 35. Indexe› Als Linq Queries definiert› Indiziert mit Lucene .NET
  • 36. APIs› Native .NET Client API› HTTP API (Pseudo REST)
  • 37. HTTP API› Caching› E-Tags› Lucene Queries möglichC:>curl -X GET http://localhost:8080/docs/Categories/1 -iHTTP/1.1 200 OKContent-Type: application/json; charset=utf-8ETag: 00000000-0000-0200-0000-000000000004{ "Name" : "Normal Importance", "Color" : "green"}
  • 38. Lucene Style QueriesClassic Linq Style Lucene Stylevar notes = session var notes = session.Advanced.Query<Note>() .LuceneQuery<Note>().Where(n => n.Category == “Important") .Where(“Category:Important").ToArray(); .ToArray();
  • 39. NoSQL: Einstieg in die Welt nicht- MongoDB:relationaler Web 2.0 Datenbanken The Definitive Guide RavenDB Mythology Documentation MongoDB in Action https://s3.amazonaws.com/ daily-builds/RavenDBMythology-11.pdf
  • 40. https://webnote.codeplex.com/
  • 41. VISUAL STUDIO FÜR WINDOWS-ENTWICKLER30.-31. JAN. 2012, MÜNCHEN FRAGEN?Partner: Veranstalter:
  • 42. Wir sehen uns wieder! Advanced Developers Conference C++ 3. – 4. Mai 2012, Zugspitzland Development for C++ Professionals! www.adcpp.de SharePoint Konferenz in Wien 19. – 20. Juni 2012, Wien ppedv-Konferenz in Kooperation mit Microsoft Österreich www.SharePointKonferenz.atPartner: Veranstalter:
  • 43. VISUAL STUDIO FÜR WINDOWS-ENTWICKLER30.-31. JAN. 2012, MÜNCHEN Hat Ihnen mein Vortrag gefallen? Ich freue mich auf Ihr Feedback!Partner: Veranstalter:
  • 44. VISUAL STUDIO FÜR WINDOWS-ENTWICKLER30.-31. JAN. 2012, MÜNCHEN Vielen Dank Johannes HoppePartner: Veranstalter:
  • 45. https://webnote.codeplex.com/
  • 46. BildnachweiseAusgewählter Ordner © Spectral-Design – Fotolia.comWarnhinweis-Schild © Sascha Tiebel – Fotolia.comListe abhaken © Dirk Schumann – Fotolia.comStressed businessman © Selecstock – Fotolia.com

×