nosql databases for the .net developer

33

Upload: jesusmrv

Post on 29-Nov-2014

5.073 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Nosql databases for the .net developer
Page 2: Nosql databases for the .net developer

• http://weblogs.asp.net/gsusx

Page 3: Nosql databases for the .net developer

The Database World is changing

Page 4: Nosql databases for the .net developer
Page 5: Nosql databases for the .net developer

Software applications are

changing

Page 6: Nosql databases for the .net developer

Data is growing exponentially

Page 7: Nosql databases for the .net developer

Unstructured data is becoming

mainstream in the enterprise

Page 8: Nosql databases for the .net developer

Fast reads and scalable writes

are the norm

Page 9: Nosql databases for the .net developer

Data mashups are common

Page 10: Nosql databases for the .net developer

Agility is not an option anymore

Page 11: Nosql databases for the .net developer
Page 12: Nosql databases for the .net developer

Emerging NOSQL Categories

Page 13: Nosql databases for the .net developer

Key value stores

Page 14: Nosql databases for the .net developer

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….)

Page 15: Nosql databases for the .net developer

Big Table Clones

Page 16: Nosql databases for the .net developer

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

Page 17: Nosql databases for the .net developer

Document Databases

Page 18: Nosql databases for the .net developer

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

Page 19: Nosql databases for the .net developer

Graph Databases

Page 20: Nosql databases for the .net developer

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

Page 21: Nosql databases for the .net developer

NOSQL & Cloud Computing

Page 22: Nosql databases for the .net developer

NOSQL Cloud Databases

• Azure Table Service

• Amazon SimpleDB (Dynamo)

• Amazon Map Reduce (Hadoop)

• Hosted options for NOSQL databases

− MongoHQ (MongoDB)

− Cloudant (CouchDB)

Page 23: Nosql databases for the .net developer

NOSQL is not only for internet

vendors

Page 24: Nosql databases for the .net developer

NOSQL Databases for the .NET

Developer

Page 25: 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

Page 26: Nosql databases for the .net developer
Page 27: Nosql databases for the .net developer

••

Page 28: Nosql databases for the .net developer

Tellago & NOSQL

Page 29: Nosql databases for the .net developer

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

Page 30: Nosql databases for the .net developer

• http://nosql.mypopescu.com/

• http://en.wikipedia.org/wiki/NoSQL

• http://highscalability.com/

Page 31: Nosql databases for the .net developer

Page 32: Nosql databases for the .net developer

Q&A

[email protected]

[email protected] http://weblogs.asp.net/gsusx

Page 33: Nosql databases for the .net developer