

NOSQL Business Use Cases - milestinsley
http://infogrid.org/blog/2009/11/the-nosql-business-and-use-cases/

======
ams6110
EDIT: this was meant to be in reply to ct4ul4u.

Agree. There are still cases where assembly language is the appropriate
choice. That doesn't mean those generalize to "business" use cases.

Sure there are cases where a "nosql" approach makes sense. But the examples
cited (Google, Digg) bear little similarity to a typical "business" use case,
and I'd claim that for "business" applications RDBMS is generally the best
solution.

~~~
milestinsley
Although, you could argue that the business use _defines_ the technology use
case which, in turn, informs the decision to use "nosql".

For example, key/value DB's have enabled me to better implement features of a
enterprise web app I am working on. The lack of a defined schema, in
particular, was a strong business case for deciding to use key/value DB's.
This document-based app can now store arbitrary fields on a per user basis
(which was a headache with SQL!), which is a key USP for the app.

Although, I agree, these points are tech-related. It would be nice to see the
article mention true _business_ use cases, such as transactions (i.e for
financial, sensitive data applications).

------
newhouseb
While the first and third are legitimate the second point regarding Digg isn't
so clear.

The Digg example could have used MySQL without modification had they added the
correct indexes. And if they didn't want to do that, they could have heavily
cached queries in Memcache (or something) and performed the join on the fly.
And before get flamed for speculating, I know this because I was responsible
for the same feature on another Top 100 site of similar scale.

Getting performance out of MySQL might not be as simple as it is in a
key/value store, but scalability isn't a new issue, and MySQL is decent at
doing it efficiently (although in a way only DBAs would know/understand). It
could have saved Digg 3TB of disks to maintain.

~~~
mhmt
Your comment may be valid but in your conclusion you're confusing performance
and scalability.

~~~
newhouseb
Not sure I follow - in our case, MySQL performs well, but also scales to the
volumes both us and Digg need?

------
snprbob86
After some significant work with Google App Engine's data store, I can't help
but think that the question "What are use cases for No SQL technologies?"
should be turned on its head. Instead, ask yourself "Do I need full SQL
database"?

For the typical web app, you can't really go wrong selecting MySQL or
Postgres. However, you also can't really go wrong to pick something like GAE's
data store either. Unless you need sophisticated dynamic reporting
capabilities, a key/value store is actually easier to work with than a
relational database. A static schema slows you down, but it is a price worth
paying if you need to a powerful query language and aren't concerned about
scaling.

------
ct4ul4u
These sound like technology use cases to me.

