Reading Computerworld's article on the anti-database movement reminded me of James Governor's "SOA flatlines: BRAIN!" post. I always love going back to James' post when someone proclaims that Y is so much better than X, that while X is used widely, X will surely die. Here's a choice set of quotes:
"Windows- Windows is obviously dead. MacOS and Linux have killed it stone dead. Yeah 80%+ market share is a terrible place to be. And don't even get me started on IE. Because it. is. dead.
Unix is dead. Damn straight. Oh yeah don't forget the relational database. Dead. Cobol – totally dead. Hundreds of millions of lines of new code each year. That's dead right? Dead, dead, dead.
Everything is dead."
[ Keep up with the latest open source news with InfoWorld's open source newsletter and topic center. ]
Back to the Computerworld article: It's based on a NoSQL confab held in early June that attracted 150 attendees. The article could be viewed as NoSQL propaganda, as some comments on the post and at HackerNews have suggested.
For example:
FaceBook, for instance, created its Cassandra data store in-house to replace its use of MySQL...
In reality, a reader comments:
Facebook is still MySQL backed and uses Cassandra for only specific things and that they use many different technologies where they're good (like heavy use of memcached as a key-value store to reduce load on MySQL where queries aren't needed).
To be fair, the original quote did not suggest that Facebook has completely ditched MySQL -- just that Cassandra, a NoSQL option, is being used for work that was previously done with MySQL.
Or the following quote from NoSQL confab organizer Johan Oskarsson:
Many, said Oskarsson, had even dumped the open-source MySQL database, a long-time Web 2.0 favorite, for a NoSQL alternative, because the advantages were too compelling to ignore.
Again, context is key here. What's the value of the data in question? What if the data isn't always consistent? User profile or deposit/withdrawal data is of higher value, with a higher requirement for consistency than voting data from a Web site poll.
As the MonoDB guys say:
Databases are specializing - the "one size fits all" approach of the RDBMS no longer applies.
But this doesn't mean approach Y will completely displace approach X. I'm reminded of the open source (Y) versus traditional software (X) argument. Far from Y killing X, we're settling in on a software industry where both models are appropriate, depending on the use case.
Vendors that can bridge the gap between RDBMS and the NoSQL movement are going to be the winners.
The proponents of NoSQL are too early in the game and may indeed be too heavily invested in differentiating from RDBMS that they will pay little attention to this bridge. Traditional RDBMS vendors would prefer that customers use RDBMS products to address these extremely high-volume, low-value data scenarios that the NoSQL movement is better suited. SpringSource's Javier Soltero nails this sentiment:
Oracle would tell you that with the right degree of hardware and the right configuration of Oracle RAC (Real Application Clusters) and other associated magic software, you can achieve the same scalability. But at what cost?
Enterprises need to be shown that both the RDBMS and NoSQL approaches have their place and can both be applied to drive business benefit. IBM, Oracle, Microsoft, you listening?
Follow me on Twitter at: SavioRodrigues.
p.s.: I should state: "The postings on this site are my own and don't necessarily represent IBM's positions, strategies, or opinions."