Emergent Database Technologies and the New Platform War
In the not-so-distant past, there was a war of railroad track gauges (Winner: standard gauge), a war of electric power currents (Winner: alternating current), and a war of videotape formats (Winner: VHS). Now, rumblings of another format war are pealing through a formerly stable platform, and this one could directly impact those who build and test software.
For decades computing has been characterized by change. Languages, platforms, hardware, and processes have jockeyed for position in a race with many contenders. But one constant in computing has rarely been challenged: relational databases. Not anymore. The cloud has demanded scale at a level that traditional relational database management systems struggle to provide.
In response to the challenge, NoSQL entered the ring, packing a one-two punch of scalability and flexibility with its fast key-value storage. Without being tied to fixed schemas, NoSQL allows for a distributed, fault-tolerant architecture that’s perfect for managing big real-time data. Google, Amazon, Facebook, and Twitter rushed to the frontlines of the NoSQL movement when it emerged in the mid-2000s.
Yet schema-less data stores have their own set of shortcomings, including comprised atomicity, consistency, isolation, and durability (ACID). Does that mean developers who shredded their SQL manuals should start piecing them back together?
Perhaps not just yet. Enter NewSQL, the newest player in the big data space. Hawkers say their systems provide both the scalable performance of NoSQL systems for online transaction processing and the ACID guarantee of traditional database systems. They make such a compelling case that even Google is jumping ship.
But will one DBMS really emerge to rule them all? This leads to yet another contender in the battle of the backends, which is polyglot persistence. This is the idea that no one database technology will be the victor in this format war, but rather enterprises will have a variety of different data storage technologies for different kinds of data.
Which database methodology will emerge from the smoke of battle when it’s all said and done? The answer may not be based solely on which DBMS supports the most common usage patterns efficiently. Even if one technology proved superior, ongoing controversies related to obsolete format wars suggest the “best” technology doesn’t always win.
One thing’s guaranteed: The energy in the big data space is building and will likely impact most professional testing within the next decade. Testers will need to understand the different database methodologies and each one’s unique vulnerabilities for consistency and performance.