SlideShare a Scribd company logo
Nosql databases for the .net developer
•

•
•
•
•
• http://weblogs.asp.net/gsusx
The Database World is changing
Nosql databases for the .net developer
Software applications are
changing
Data is growing exponentially
Unstructured data is becoming
mainstream in the enterprise
Fast reads and scalable writes
are the norm
Data mashups are common
Agility is not an option anymore
Nosql databases for the .net developer
Emerging NOSQL Categories
Key value stores
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….)
Big Table Clones
Big Table
• Like column oriented Relational Databases
• Tables similarly to RDBMS, but handles semi-
  structured
• Data model: ‣Columns → column families →
  ACL
     − Datums keyed by: row, column, time, index
     − Row-range → tablet → distribution
• Examples:
   − HBase
   − Cassandra
Document Databases
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
Graph Databases
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
NOSQL & Cloud Computing
NOSQL Cloud Databases
•   Azure Table Service
•   Amazon SimpleDB (Dynamo)
•   Amazon Map Reduce (Hadoop)
•   Hosted options for NOSQL databases
    − MongoHQ (MongoDB)
    − Cloudant (CouchDB)
NOSQL is not only for internet
          vendors
NOSQL Databases for the .NET
Developer
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
Nosql databases for the .net developer
•
•
•
•
•
•

•
•
•
•
•
•


•
Tellago & NOSQL
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
• http://nosql.mypopescu.com/
• http://en.wikipedia.org/wiki/NoSQL
• http://highscalability.com/
•
•

•

•

•
Q&A
jesus.rodriguez@tellago.com
     info@tellago.com
http://weblogs.asp.net/gsusx
Nosql databases for the .net developer

More Related Content

Nosql databases for the .net developer