Cloud
Microsoft
Azure Tables
Hadoop on Azure/HBase
Amazon
SimpleDB
DynamoDB
Elastic MapReduce
DB-specific Nosql Hoster
E.g,MongoHQ for MongoDB
CouchDB Cloudant
DIY on infrastructure as a Service(IaaS)
Nosql Product Categories
Key-Value Stores
e.g,Name:"Andrew"
schema-free (every record can have different keys)
Most common,basis for other three
riak
redis
windows Azure table storage
amazon web Service simpledb/DynamoDB
dynomite
Document Stores
Everything's in a document,including other documents
Schema-free
CouchDB
MongoDB
Wide Column Stores
Know the groups of columns,but not columns themselves
Semi-schematic
apache HBase
apache cassandra
Graph Databases
Relationship-focused
Neo4j
Nosql Do's and Don'ts
Performance
For certain types of queries,performance on Nosql databases ca be unacceptably slow
For Line of Business application loads,relational databases will be just as fast and far more robust/reliable
But if you ave just a few bits of information to fetch and enormous traffic and concurrency,Nosql may be best
Appropriateness(合适)
Using relational databases for the following may be imprudent:(不明知)
Configuration data
Environment data,setting,etc
Log file,event data
Using Nosql for these would be extreme:
Stock trades
Accounting debits and credits
Credit card transactions
Don't be a partisan(偏执):use the right tool for the job
Nosql +BI(busyness intelligence)
Nosql databases are not designed for query and data warehousing
BI applications involve models:models rely on schema
Extract,transform and load(ETL) may by your friend
Wide-column stores,however are good for 'Big Data'
Wide-column stores and column-oriented databases are similar technologically
Nosql + Big Data
Big Data and Nosql are interrelated
Typically,Wide-column stores used in Big Data scenarios
Prime example:
HBase and Hadoop
Why?
Lack of indexing not a problem
Consistency not an issue
Fast read very important
Distributed files systems important too
Commodity hardware and disk assumptions also important
Not Web scale but massive scale-out,so similar concerns
Summing Up
Line of Business -> Relational
Large,public(consumer) facing sites -> Nosql
Complex data structures -> Relational
Big Data -> Nosql
Transactional -> Relational
Content management -> NOsql
enterprise -> Relational
Consumer Web -> Nosql