Disruptive times lead to disruptive technologies. But moreover, they lead to new buzzwords and thus new “value propositions” for an unsettled clientele who will buy into any promise that vendors make. If you believe those expensive reports that you can buy from companies like Gartner, you will think:
You need to run your business in the cloud
“You need to run your business in the cloud.” The advent of what marketers have come to call “The Cloud” (formerly known as “Web 2.0″, or “The Internet”) has started to transform the ways some people think about data. Many vendors trust in “Big Data” becoming the next “Big Paradigm” for software engineering. ”Big Data” seems to cry out for new data storage technologies, as advertised in this article here. Consider section 4:
An End to DBAs
Despite the many manageability enhancements claimed by RDBMS vendors over the years, high-end RDBMS systems can be upheld only with the help of lavish, highly trained DBAs. DBAs are intimately involved in the design, installation and on-going tweaking of high-end RDBMS systems.
“Lavish, highly trained DBAs.” This article assumes that moving away from SQL will make maintaining and managing large amounts of data a piece of cake that your average junior PHP script kiddie can handle.
“Blimey, dear Rupert! Our customer fancies going to 'The Cloud' with his 20 million transactions per day.”
“Good Lord, Rodney, I believe you are right. We ought to get Clive, our lovely intern youngster on the job. He only costs us a penny a minute.”
People often forget that an average iPhone with 64 GB of memory would have been considered very “Big Data” 13 years ago, when the average Nokia 3310 could only store 100 phone numbers! 13 years changed a lot in terms of volume, but not that much in terms of software technology. Since then, software engineering has slowly transformed to manage ever larger sets of data, but few companies really need to scale to dimensions where RDBMS cannot work effectively. In fact, some database vendors actually went to “The Cloud” with their RDBMS themselves, like Google App Engine’s Cloud SQL.
And what about Twitter? Well, they’re actually using a MySQL sharded database, which serves their needs perfectly fine. Just as Instagram uses a sharded PostgreSQL database. Pinterest, another large “Cloud” application provider uses sharded MySQL (along with Solr, Memcache and Redis).
RDBMS might not be the optimal choice for some data models (hierarchical, unstructured, document-oriented models). But they are extremely powerful when it comes to manipulating relational data. SQL itself has evolved quite a bit since Nokia 3310 times, when 64 GB of memory was “Big Data.” The differences between Oracle 8i and Oracle 12c are amazing. The same applies to the differences between SQL Server 2000 and SQL Server 2012. Moreover, you can employ the very same DBA for the Oracle 12c job that you could for the 8i job back in the day.
While we are certainly living in exciting times where new technologies lead to new ways of thinking (and vice-versa), we should be sceptical of vendors who promise that we will migrate to the next paradigm within a blink of an eye. Your data might endure longer than the new technology you use to store it.
We should be sceptical of vendors who claim that highly trained maintenance people are the main problem we need to solve. They promise that you can cut down on DBA and licensing costs without knowing the costs you might incur in a “NoDBA” and “NoLicensing" scenario.
Do you put trust in those vendors’ NoSQL promises? I’m curious to hear your thoughts and experiences.