Herewith I present to you a <sarcasm>
spectacular</sarcasm> article in
The Database Journal on
The Hidden Cost of Scaling with NoSQL which includes brilliant
bon-mots like the following (
bolding is mine)
Data integrity—In
order to achieve high performance despite massive size, non-relational
database systems compromise data correctness guarantees. The traditional
rules about writing data are loosened, making it far more likely that
data can be lost or overwritten. Thus the best applications for a
non-relational approach are those that have low-to-medium requirements
for data integrity, for example, social media applications. Any
application whose data integrity requirements are absolute requires a
relational database; NoSQL is a non-starter.
Flexible indexing—Relational
databases are very good at letting users query data from multiple
perspectives. Joins and indexes are not weaknesses of relational
databases, they are strengths. To achieve speed and scale, NoSQL
technology relies on assumptions about how data will need to be viewed;
it can be extremely difficult or even impossible to achieve an alternate
view of data.
Interactive updating of data—Many
NoSQL solutions are designed for bulk updates and quick reads. They
are not optimized for applications requiring fine-grain updates and
rapid saves.
Concurrency guarantees—When
many people are accessing a database it can be important to define and
guarantee when and how updates are revealed to concurrent users. NoSQL
generally provides no guarantees for the propagation of updates.
Mind you, they did miss the following
very important points too
- Baby Seals: NoSQL developers club baby seals with joy and abandon, and make gloves with their flippers
- Puppies : Using NoSQL makes you want to kick puppies (and kittens!)
- Nazis : Hitler used a NoSQL database
Seriously, if this isn't sufficient reason for
The Database Journal to be shut down, well, I can't think of a better one...
Comments