You are here

Digging into Distributed SQL

When it comes to database management systems (DBMSs), the opportunities can seem endless. From Analytical to Operational, SQL to NoSQL, or even the most recent NewSQL, many organizations are still struggling to find the right database for their application.

WHY?

Traditional relational SQL

Traditional relational SQL databases

 like Oracle and Microsoft SQL Server are great for on-premises, single data center environments, but fail to adapt to the more distributed, less predictable, and higher in volume workloads found in today’s enterprise.

NoSQL

 NoSQL
solutions

like MongoDB, Couchbase, and DataStax solve for on-demand scale and continuous availability needs, but force organizations to rewrite SQL-based applications, resulting in the loss of the data consistency that transactional systems require

NewSQL

 NewSQL
products

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

Is a Distributed 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 a distributed SQL database meets your needs. In short, if you are looking to retain your traditional SQL database benefits and gain new cloud efficiencies, then a distributed SQL database is the right option to consider.

 
 

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.