As posted on Moving to SaaS: Start with SQL Functionality
This post is sponsored by NuoDB. All thoughts and opinions are my own.
To leverage existing SQL tools and skills when moving to the cloud without significant rework, a solution should support ANSI-standard SQL, not a partial or incompatible variant.
If you’re a software vendor moving to a SaaS business model either by creating new product lines (from scratch or by adding cloud characteristics to existing products) or converting an existing product portfolio, the transition to a SaaS model will impact every aspect of the company right down to the company’s DNA. New software companies typically start with a SaaS model — not on-premises software – so this is more often a common consideration for many legacy software companies today. Customers see the value and software companies see the agility and the valuation result.
Ultimately there are major architectural changes that will be required to succeed. It is a good time to do a reevaluation of all major architectural components of the solution, including the underlying database, along with hosting plans, customer onboarding procedures, billing & pricing, security & regulatory, monitoring and the assorted challenges associated with the move to SaaS.
In these posts, I will address the top four considerations for choosing the database in the move. The database selection is critical and acts as a catalyst for all other technology decisions. The database needs to support both the immediate requirements as well as future, unspecified and unknown requirements. Ideally the DBMS selection should be one of the first technology decisions made for the move.
There are severe consequences of making an inappropriate DBMS selection including long development cycles related to needing new skillsets or converting existing application code, as well as cost and support expansion.
SQL is the long-standing common language of the database, supported by thousands of tools and known by millions of users. Backward compatibility to core SQL is essential, particularly for operational applications that rely on the ACID compliance that usually comes hand-in-hand with SQL databases. SQL is essential as you move to the cloud, and it needs to be standard SQL that works everywhere and scales all of the time and for all queries.
To do this, modern databases (such as NuoDB) should support ANSI-standard SQL for both reads and writes, not limited or partial SQL or an incompatible variant as many NoSQL and NewSQL databases do. The SQL 2011 standard is the latest revision and added improved support for temporal databases, time period definitions, temporal primary keys with referential integrity, and system versioned tables, among other enhancements.
SQL remains the most viable and useful method for managing and querying data, and will be a primary language to use in the foreseeable future and should be the foundation for a software move to SaaS today.