The document discusses how the database world is changing with the rise of NoSQL databases. It provides an overview of different categories of NoSQL databases like key-value stores, column-oriented databases, document databases, and graph databases. It also discusses how these NoSQL databases are being used with cloud computing platforms and how they are relevant for .NET developers.
14. Key Value Stores
• Focus on scaling to huge amounts of data
• Designed to handle massive load
• Based on Amazon’s Dynamo paper
• Data model: (global) collection of Key-Value
pairs
• Dynamo ring partitioning and replication
• Examples:
− Voldemort
− Tokyo (Cabinet, Tyrant….)
18. Document Databases
• Similar to Key-Value stores, but the DB
knows what the Value is
• Inspired by Lotus Notes
• Data model: Collections of Key-Value
collections
• Documents are often versioned
• Examples:
− MongoDB
− CouchDB
− Redis
20. Document Databases
• Focus on modeling the structure of data –
interconnectivity
• Scales to the complexity of the data
• Inspired by mathematical Graph Theory ( G=(E,V) )
• Data model: “Property Graph” ‣Nodes
− Relationships/Edges between Nodes (first class)
− Key-Value pairs on both
− Possibly Edge Labels and/or Node/Edge Types
• Examples:
− MongoDB
− CouchDB
− Redis
25. NOSQL in .NET
• Key Value stores have been popular in the .NET
world for a while
− Memcache
• Most popular document databases enable .NET
interfaces
− MongoDB
− Redis
− RavenDB
• Other databases enable interoperable REST-based
interfaces
− CouchDB
− Cassandra
• Map Reduce engines have seen slow adoption in the
.NET world
− Dryad
29. Tellago & NOSQL
• Cloud implementations using Azure Table
Services, Amazon SimpleDB, etc
• Logging platform on CouchDB
• Notification system over MongoDB
• Real time analytics solution using MongoDB
and Memcache