NOSQL Databases for the
.NET Developer
Jesus Rodriguez
CEO, Co-Founder Tellago, Inc
CEO, Co-Founder Tellago Studios, Inc
About me….
• Hackerpreneur
• Co-Founder Tellago, Tellago Studios, Inc
• Microsoft Architect Advisor
• Microsoft MVP
• Orac...
Agenda
• Why NOSQL DBs
• NOSQL DBs for the .NET Developer
• Types of NOSQL DBs: Document, Key-Value,
Graph, Objects
• NOSQ...
If You Are Here It Is Because You Are Different
NOSQL DBs?
NOSQL != NoSQL or
NOSQL != (!SQL)
The Data World is
Changing
Big Data
Concurrency
Unstructured Data
Fast Reads, Scalable Writes
CAP Theorem
NOSQL & .NET
NOSQL & .NET
• .NET is a primary platform supported by NOSQL
databases
• Native .NET clients
• Interoperable HTTP/REST API...
Types of NOSQL DBs?
Key Value Stores
• Focus on scaling to huge amounts of data
• Designed to handle massive load
• Based on Amazon’s Dynamo p...
Key Value Stores & .NET
• Native .NET Interfaces: Redis, MemcacheDB
• HTTP Interface: Riak
• Hard to interoperate with .NE...
Demo: Using Redis from
.NET
Document Stores
• Similar to Key-Value stores, but the DB knows what the
Value is
• Inspired by Lotus Notes
• Data model: ...
Document Stores & .NET
• Native .NET Interfaces: MongoDB, RavenDB
• HTTP Interface: CouchDB, OrientDB
• Hard to interopera...
Demo: Using MongoDB
from .NET
Graph Databases
• Focus on modeling the structure of data - interconnectivity
• Scales to the complexity of the data
• Ins...
Graph Databases & .NET
• Native .NET Interfaces: Trinity
• HTTP Interface: Neo4J, AllegroDB
• Hard to interoperate with .N...
Demo: Using Neo4J
from .NET
Object Databases
• Neither gaining nor loosing traction
• •Not part of the NOSQL community
• •Still a good solution to a l...
Object Databases & .NET
• Native .NET Interfaces: DB4O
• HTTP Interface: --
• Hard to interoperate with .NET: Versant
Demo: Using DB4O
from .NET
Big Data Clones
• Like column oriented Relational Databases, but with a twist
• Tables similarly to RDBMS, but handles sem...
Object Databases & .NET
• Native .NET Interfaces: LINQ To HPC
• HTTP Interface: HBase
• Hard to interoperate with .NET: Ca...
NOSQL & The Cloud
NOSQL Cloud Databases
• NOSQL is the predominant model for cloud databases
• Native NOSQL cloud databases
– Azure Table Se...
Demo: Using AWS
SimpleDB from .NET
Summary
• NOSQL Databases are becoming one of the predominant
data storage models in the enterprise
• There are different ...
Thanks
jesus.rodriguez@tellago.com
http://www.tellago.com
http://weblogs.asp.net/gsusx
http://jrodthoughts.com
NOSQL Databases for the .NET Developer
Upcoming SlideShare
Loading in...5
×

NOSQL Databases for the .NET Developer

3,428

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,428
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

NOSQL Databases for the .NET Developer

  1. 1. NOSQL Databases for the .NET Developer Jesus Rodriguez CEO, Co-Founder Tellago, Inc CEO, Co-Founder Tellago Studios, Inc
  2. 2. About me…. • Hackerpreneur • Co-Founder Tellago, Tellago Studios, Inc • Microsoft Architect Advisor • Microsoft MVP • Oracle ACE • Speaker, Author • http://moesion.com • http://weblogs.asp.net/gsusx • http://jrodthoughts.com
  3. 3. Agenda • Why NOSQL DBs • NOSQL DBs for the .NET Developer • Types of NOSQL DBs: Document, Key-Value, Graph, Objects • NOSQL DBs in the Cloud • Demo Demo Demo Demo
  4. 4. If You Are Here It Is Because You Are Different
  5. 5. NOSQL DBs?
  6. 6. NOSQL != NoSQL or NOSQL != (!SQL)
  7. 7. The Data World is Changing
  8. 8. Big Data
  9. 9. Concurrency
  10. 10. Unstructured Data
  11. 11. Fast Reads, Scalable Writes
  12. 12. CAP Theorem
  13. 13. NOSQL & .NET
  14. 14. NOSQL & .NET • .NET is a primary platform supported by NOSQL databases • Native .NET clients • Interoperable HTTP/REST APIs • Native .NET NOSQL DBs: Trinity, RavenDB, AppFabric Cache
  15. 15. Types of NOSQL DBs?
  16. 16. 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: – Dynomite – Voldemort – Tokyo{Tyrant, Cabinet, etc...} – Redis
  17. 17. Key Value Stores & .NET • Native .NET Interfaces: Redis, MemcacheDB • HTTP Interface: Riak • Hard to interoperate with .NET: Voldemort, Tokyo Cabinet
  18. 18. Demo: Using Redis from .NET
  19. 19. Document Stores • 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: – CouchDB – MongoDB – RavenDB – OrientDB – JackRabitt
  20. 20. Document Stores & .NET • Native .NET Interfaces: MongoDB, RavenDB • HTTP Interface: CouchDB, OrientDB • Hard to interoperate with .NET: JackRabbit
  21. 21. Demo: Using MongoDB from .NET
  22. 22. Graph 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: – Trinity – Neo4j – AllegroGraph – FlockDB
  23. 23. Graph Databases & .NET • Native .NET Interfaces: Trinity • HTTP Interface: Neo4J, AllegroDB • Hard to interoperate with .NET: FlockDB
  24. 24. Demo: Using Neo4J from .NET
  25. 25. Object Databases • Neither gaining nor loosing traction • •Not part of the NOSQL community • •Still a good solution to a lot of problems • •Focuses on matching object oriented programming paradigm – Simplicity to integrate – Ease of use • Examples: – Db4O – Versant
  26. 26. Object Databases & .NET • Native .NET Interfaces: DB4O • HTTP Interface: -- • Hard to interoperate with .NET: Versant
  27. 27. Demo: Using DB4O from .NET
  28. 28. Big Data Clones • Like column oriented Relational Databases, but with a twist • Tables similarly to RDBMS, but handles semi-structured • Based on Google’s BigTable paper • Data model: ‣Columns → column families → ACL – ‣Datums keyed by: row, column, time, index – ‣Row-range → tablet → distribution • Examples: – HBase – Hypertable – Cassandra – LINQ To HPC???
  29. 29. Object Databases & .NET • Native .NET Interfaces: LINQ To HPC • HTTP Interface: HBase • Hard to interoperate with .NET: Cassandra
  30. 30. NOSQL & The Cloud
  31. 31. NOSQL Cloud Databases • NOSQL is the predominant model for cloud databases • Native NOSQL cloud databases – Azure Table Service – Amazon Simple DB • NOSQL Databases in PaaS platforms – DotCloud – CloudFoundry – Heroku
  32. 32. Demo: Using AWS SimpleDB from .NET
  33. 33. Summary • NOSQL Databases are becoming one of the predominant data storage models in the enterprise • There are different models of NOSQL Databases: Document, Key-Value, Graph, BigTable • NOSQL databases are the predominant data storage model for cloud infrastructures • There is a large variety of NOSQL interfaces available to a .NET developer. • Start small, iterate
  34. 34. Thanks jesus.rodriguez@tellago.com http://www.tellago.com http://weblogs.asp.net/gsusx http://jrodthoughts.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×