You are here

Defining an Elastic SQL Database

elastic SQL: From Oxymoron to NEW reality

“We were ‘just’ looking for a SQL database that could scale horizontally. But that’s not an easy combination to find.”
- Walid Darwish, CTO,

When it comes to database management systems (DBMSs), it can seem like we don’t lack for choices. Analytical. Operational. Specialized. SQL. NewSQL. NoSQL (including key-value, document, graph, and column-based). Cloud / Database as a service. Open source.

And yet despite all these options, many organizations are still struggling to find the right database for their application.


Traditional relational SQL

Traditional relational SQL databases

 like Oracle and Microsoft SQL Server are great for on-premises, single data center environments, but quickly lose value as needs become more distributed, less predictable, and higher in volume



like MongoDB, Couchbase, and DataStax satisfy scale-out and continuous availability needs but compromise strict transactional consistency, guaranteed durability, and the familiarity of a SQL interface



such as VoltDB, Clustrix, and MemSQL maintain SQL as they scale but are often limited to highly specialized use cases such as streaming or batch analytic applications


As organizations seek to gain the benefits of the cloud - on-demand scaling, pay-as-you-go pricing, continuous availability, etc. - they often have to make a choice:

cost of moving to cloud

Migrate their existing SQL database to the cloud, while recognizing that they’ll still need to pre-provision (and pre-pay), as well as add costly and complex add-ons to accommodate performance, scaling, or active-active requirements

- OR-

Abandon SQL DatabaseAbandon their SQL database - along with its ACID guarantees, familiar development interface, and (if migrating an existing application) much of the application code while complicating the application logic with data management logic typically handled by the database

NuoDB was the best database to support our need to scale up to meet demand while maintaining transactional consistency and integrity.

— Bruce Lawler, Co-founder, Kodiak

Is an elastic SQL database right for you?

When selecting the right database, there are three vectors to consider.

Database Decision Tree

  1. Do you need a general purpose operational database, an analytical database, or a highly specialized database like a time-series or scientific database?
  2. Do you need something that industry standards like SQL or ACID guarantees can't provide? If you’re running an application with valuable information in it - customer and business data for instance - you probably need strict consistency and could benefit from the established SQL ecosystem. But if you’re running an Internet of Things application, you may need a non-relational database and can get away with something less than strict transactional guarantees.
  3. Do your growth and availability expectations demand a multi-server architecture? Do you want the ability to scale-up and down on demand, or are you comfortable with a more traditional pre-provisioning model? When scaling, do you want a naturally distributed architecture that aligns with cloud environments, or do you prefer to take a sharded or clustered approach?

As you move your way down any given path, you can quickly determine based on your application requirements whether an elastic SQL database meets your needs. In short, if you are looking to retain your traditional SQL database benefits and gain new cloud efficiencies, then an elastic SQL database is the right option to consider.

elastic sql craneCan a SQL database really be elastic?

So now that we’ve established the need for an elastic SQL database, the question becomes whether such a thing is even possible.

For those familiar with traditional SQL databases, adjusting for increasing volume has typically been a balance between pre-provisioning and scaling up with new monolithic hardware. As more applications began to require scale-out capabilities, add-on solutions that fit the “distributed but not elastic” database category - such as Oracle Real Application Clusters (RAC) - became available. Yet such solutions added both cost and complexity to the SQL database architecture without providing true elasticity.

While workarounds such as these exist, it has become clear that retrofitting single-server technology for a distributed, cloud-based world often fails to solve the actual problem while adding significant expense and complexity to the architecture.

More recently a new class of SQL databases have emerged that are purpose-built to deliver elasticity, strict transactional consistency, rich ANSI-SQL support, and continuous availability.

These innovative elastic SQL databases enable enterprise application on cloud-style infrastructures and can combine the power, ecosystems, skillsets, and best practices of the traditional SQL database with the benefits of next-generation commodity-based infrastructures.

It’s time for an elastic SQL database. It’s time for NuoDB.


Ask an Expert

Schedule a session with a NuoDB Architect.

Have questions about what NuoDB can do?
Consult with one of our architects to get the answers.