Datastax, a Cassandra (NoSQL) provider, wrote an analysis of why Oracle is struggling, having missed their Q4 2015 numbers and with revenue flat in comparison to 2014.
Datastax indicated this is due to more and more enterprise workloads being deployed on NoSQL, leveraging both unstructured data as well as scale-out, flexibility, and low-cost. And Oracle (despite their investments in NoSQL and MySQL) is not responding well to this new demand.
Worse for Oracle, in parallel to the rise of enterprise NoSQL, is the rise of enterprise demands that the "database respond to the workload" rather than the other way around. Creating a pun around "Master/Slave"(usually a reference to replication), Datastax points out that where previously, enterprises had to fit their workloads to whatever ‘Big Database’ vendors provided (e.g. Oracle, Microsoft, IBM, SAP, etc.), now enterprises have the clout to demand that a "Big Database" provide a SQL RDBMS with some key features of NoSQL:
- Constant Uptime
- Geographical Distribution
- Scale, especially Write Scale
- Burst/Flex: ability to scale-out ‘at a moment’s notice’
- Constant DB performance no matter the user or data-load
- Handle different data-types without storage overload
- Do all of the above without ‘breaking my budget’
Of course, the assumption here is that NoSQL can handle all of the above -- an assumption which can be a bit tenuous. Not all NoSQL DBMS’s can handle the above requirements, especially without "throwing hardware at the problem," and then you "break" the budget.
The other, much larger assumption: "Unstructured Data" suggests that no confirmed, consistent transactions are needed. The reason that enterprises have deployed the vast majority of their workloads on RDBMS databases is because those databases are built to guarantee consistent transactions in real-time.
When you want to collect money, use a SQL database. Why?
There are forty years of RDBMS history that has taught everyone that databases create consistent transactions. Actually, that’s called "ACID Compliance," and is something which is NOT provided by NoSQL databases. In other words, while NoSQL databases can handle unstructured data and scale-out very well, they’re very bad at maintaining ACID compliance, transactionality, data-consistency, and referential integrity in real-time across all nodes of the database.
So, you can make lots of money with your NoSQL database deployment, but when you want to actually collect that money, you’ll use a SQL database.
But! Is there a middle ground? Can you get the ACID transactionality of an RDBMS, with the scale and flexibility like a NoSQL database? As a matter of fact, you can. There’s a category of RDBMS that Datastax missed, ‘Scale-out RDBMS’ or ‘NewSQL’. ClustrixDB is a scale-out RDBMS.
A scale-out RDBMS like ClustrixDB handles many of the challenges described:
- Instead of a master-slave architecture, ClustrixDB is peer-to-peer. All nodes are always completely consistent, and data is stored at least two times across the cluster for HA
- Instead of shared-storage, CPU or memory, ClustrixDB is shared-nothing. Each node houses its own compiler, query execution engine, data, and data-map of where all data in the cluster is. Incoming queries are routed to the node(s) with the lowest workload, with compiled query fragments routed to the node(s) where the data resides, minimizing data-movement and maximizing parallelism
- Scaling is as simple as adding nodes which linearly scale reads -and- writes. This is called ‘Flex-Up’, and multiple nodes can be added or removed via a single (very) short database ‘pause’
- High-speed ingest is handled by automatic background data distribution and balancing. Think of it as ‘transparent auto-sharding’ without any DBA overhead or application changes.
- Designed for non-stop operation, ClustrixDB handles online schema changes and loss of node(s) without database pause or application interruption.
ClustrixDB runs in hundreds of installations worldwide, with trillions of transactions per month. We power the SKU database for FlipKart, the e-commerce database for Top-100 Internet Retailer Choxi, and the back-end for Twoo/Massive Media.
1. The rise of unstructured data in the enterprise is driving the uptake of NoSQL databases, and enterprises are beginning to demand NoSQL-like features from their SQL RDBMS’s as well. Features like:
- Scale, deployment, availability
- Incremental pricing of bursting/flexing
- Massively-parallel distribution/shared-nothing,
2. Scale-out SQL RDBMS’s fitting those requirements aren’t available from ‘Big Database’ vendors such as Oracle, SQL Server, SQL, IBM, etc.
Editor's note: Originally written by Dave Anselmi on the ClustrixDB blog.