Welcoming New Elastic SQL Solutions
In a short period between 1979 and 1981, as the database market adjusted to a new client-server reality, we saw a rapid expansion in the number of relational database platforms brought to market (IBM, Oracle, Ingres, Informix). New data center architectures led to new database designs, and these databases quickly became the mainstream approach to data management.
We’re seeing an analogous transition today. As traditional data centers give way to cloud-style elastic infrastructure, there are associated major changes in application architecture, user interfaces, mobile access, distributed storage, development environments, security and administration. But the database market has not as yet made that transition. The world runs on relational databases, which are great solutions in a traditional on-prem data center, but the venerable RDBMS is not cloud-native and the many attempts at workarounds are a long way from satisfactory. Sharding, clustering, and replication are complex and fragile solutions that certainly provide value but fail to deliver cloud benefits such as on-demand scale, commodity hardware deployments, or administrative simplicity.
The promise of NoSQL solutions as an alternative to the RDBMS was to deliver cloud computing benefits but at the expense of data integrity, trust (in the form of strict consistency and durability guarantees), and the power of a set-based, declarative, and standardized server-side data management language. These products have worked work well for certain applications, but the implicit question has always been whether there was truly a need to sacrifice SQL and ACID transactional semantics. Arguably the combination of SQL and ACID semantics has been the most powerful and impactful set of abstractions in the history of IT, and letting them go has enormous cost and complexity implications. But databases that manage valuable data (databases of record for business-critical applications) have failed to move forward from the single-server designs of the 1980s. Ideally what the industry needs is for the database community to rethink database designs to adjust to the current reality, just as we did 35 years ago.
NuoDB was founded on the vision of what we now call “elastic SQL.” Elastic SQL database technologies promise to enable cloud economics for mission-critical applications. These databases would be built from the ground up as on-the-cloud/for-the-cloud systems: Distributed. Commodity-based. Continuously available. Elastically scalable. But would also natively incorporate the trust and experience that took us from the 1GB databases of the 1980s to the multi-terabyte databases of the early 21st century: Strong transactional consistency. Data durability. Standards-based languages. The challenge is how to combine the DNA of the RDBMS with the DNA of the cloud, and deliver a database management system that is more than the sum of its parts. That’s a hard problem, which is why it is taking a while for solutions to emerge.
For years, we’ve worked toward the NuoDB vision - rejecting the received wisdom that we were trying to build the impossible, that elastic SQL was an oxymoron. And that’s why the past 1-2 weeks has been so exciting. As new products like Google Cloud Spanner and CockroachDB move out of beta and into general availability, it feels like we are now entering a similar paradigm-shifting era with respect to Elastic SQL platforms.
The public availability of the newly announced products reflects substantial industry investment in this last remaining cloud computing challenge: SQL database systems that are elastically scalable and offer full transactional data guarantees.
Let’s take a look at the key events of the last week:
Google announced the GA release of Google Cloud Spanner last week.
“Cloud Spanner is the world’s first fully managed, horizontally scalable relational database service for mission-critical online transaction processing (OLTP) applications. Cloud Spanner is specifically designed to meet customer requirements in this area for strong consistency, high availability and global scale — qualities that make it unique as a service.”
Cockroach Labs announced the GA release of CockroachDB this week
“CockroachDB is a cloud-native SQL database for building global, scalable cloud services that survive disasters. But what does ‘cloud-native’ actually mean? We believe the term implies horizontal scalability, no single points of failure, survivability, automatable operations, and no platform-specific encumbrances.”
Microsoft announced Azure Cosmos DB this week
“Azure Cosmos DB is the first globally-distributed data service that lets you to elastically scale throughput and storage across any number of geographical regions while guaranteeing low latency, high availability and consistency – backed by the most comprehensive SLAs in the industry. Azure Cosmos DB is built to power today’s IoT and mobile apps, and tomorrow’s AI-hungry future.”
Historically, customers building and migrating SQL applications for elastic infrastructure had to choose between monolithic single-server SQL database systems and more cloud-friendly solutions without SQL or ACID transactions. Going forward, customers can adopt Elastic SQL strategies, and will have choices between vendors, service models (DBaaS vs on-prem), product maturity levels, software architectures, and product features. Most Elastic SQL systems offer both SQL and NoSQL characteristics. Some systems, like MS Azure CosmosDB, favor NoSQL, with some SQL capabilities. Others, like NuoDB, favor SQL, with some NoSQL capabilities.
At NuoDB, we have been focused on these challenges for a long time. NuoDB 1.0 shipped in 2013, and the current version (v 2.6) has benefitted from a great deal of customer feedback, feature requirements, performance tests, and rigorous comparison with the traditional RDBMS platforms. Aside from general product maturity, the product has been integrated with the tools, services and business processes of our very large customers. We have made mistakes, learned our lessons, and enhanced the product. And at every step, we have become more aware that Elastic SQL technology is transformative - it truly changes the game for customers that are serious about deploying valuable applications on clouds and on elastic infrastructure.
So this week, we welcome these new offerings to the elastic SQL ranks. We believe that this added competition and innovation will help to serve the market better as we all innovate, learn from each other, and drive faster to a database truly built to maximize cloud computing.
Whether you are committed to the Google or Microsoft Clouds or have a need for your applications to be infrastructure-agnostic and/or run across hybrid cloud environments, there are now choices of Elastic SQL solutions available to you. It is becoming much easier to leverage the power of the cloud at the database layer and that has to be good for everyone.
In the coming weeks, you can expect to see more from us as we explore what “Elastic SQL” really means. In the meantime, let us know in your comments what you think. Are you excited about this new generation of databases, or are you happy with your current approach to cloud data management?