This is a quick research article on what are NoSQL databases and largely when to (and less when not to) use them. These are becoming the staple databases cloud based multi-tenanted systems. This will identify what these databases are and who is using them and what are their core concepts.

satya - 4/5/2013 1:53:35 PM

Where are they being used: No-SQL databases

Search for: Where are they being used: No-SQL databases

satya - 4/5/2013 2:00:45 PM

Often cited reasons


A flexible/dynamic data model
  in other words no schema
Scalability
  by replicating and fault tolerance
Cloud

satya - 4/5/2013 2:01:43 PM

Underlying ideas


auto sharding
distributed queries
intrgrated caching

satya - 4/5/2013 2:03:55 PM

Examples of nosql databases


couchbase
mongodb
cassandra

satya - 4/5/2013 2:04:19 PM

Here is a reasonable article on the subject of nosql

Here is a reasonable article on the subject of nosql

satya - 4/5/2013 2:06:37 PM

A multi-tenant trend

Salesforce, Concur, and Cisco are three examples but there are dozens more at various stages of incorporating NoSQL into their ECM, ERP, HRMS, SCM, CRM, EPM, etc. offerings for enterprise customers.

satya - 4/5/2013 2:07:54 PM

Apparently here is a take on who is using them

The first companies to leverage NoSQL were internet companies that included social gaming, advertising networks, online retail, online business services, social networking, video services, online media, etc. Enterprises that are moving quickly to adopt NoSQL include online business services, advertising, media, communications, retail, and financial services, just to name a few.

satya - 4/5/2013 2:09:51 PM

No-SQL take on problems with relational databases

...performance-sapping operations like complex queries, joins, and record locks that are typical in relational databases.

satya - 4/5/2013 2:13:27 PM

Cited problem areas for No-SQL


transactions
joins
...even some level of ease of use
SQL
stored procedures
backup/restore
reporting
cubes

satya - 4/5/2013 2:15:11 PM

Here is Oracles take on No-SQL DB

Here is Oracles take on No-SQL DB

satya - 4/5/2013 2:16:47 PM

A warning from that article from oracle

This article explores application development using Oracle NoSQL Database. As application developers of our time cut our teeth on SQL-based RDBMS, building a well-designed enterprise application using NoSQL databases represents a new challenge.

satya - 4/5/2013 2:24:19 PM

Two pioneering efforts


Big Table
Amazon Dynamo

satya - 4/5/2013 2:25:31 PM

Here is a very good thorough article on these databases

Here is a very good thorough article on these databases

satya - 4/5/2013 2:26:20 PM

Some additional databases


HBase, 
Cassandra, 
Voldemort, 
Riak, 
Redis, 
Hypertable, 
MongoDB, 
CouchDB, 
Neo4j

satya - 4/5/2013 2:30:05 PM

Read the previous article from IBM to get a pretty good picture of NoSQL space

Read the previous article from IBM to get a pretty good picture of NoSQL space

satya - 4/5/2013 2:36:31 PM

So far....

Having played around with Parse for a couple of weeks now, (considered one of the simplest apis) the development approach is a bit different. Lack of joins will throw you off.

Object to data impedence mismatch in java or c# needs to be carefully handled.

I haven't figured out how to provide unique constraints. I was warned foreign key constraints may not be there.

However if developed this way the holy grail is that it is totally scalable.

Also to develop on the fly properties for document centric models might be really handy.

For example automating web forms becomes easier. Writing multi-tenancy apps become lot more feasible. Cloud based systems like Salesforce become easy to develop.

Things like Drupal or wordpress or other CMS systems can be developed lot more effectively!

Enterprises don't have to stay behind as they can become more flexible to changing business needs of their customers be they consumers or institutions or businesses.