Upload
jesusmrv
View
5.082
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
The Database World is changing
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
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
•
•
••
•
•
•
•
•
•
•
•
•
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/
•
•
•
•
•