SQL or NoSQL: Choosing the Best Solution for Your Needs

1 | 2 | 3 | 4 | 5 | 6 | 7

SQL or NoSQL: Choosing the Best Solution for Your Needs

  • 1 | 2 | 3 | 4 | 5 | 6 | 7

NoSQL databases grew in popularity for use in highly distributed web applications that needed scale-out architectures but didn't require the tabular relations used by traditional SQL relational databases. Propelled initially by the development and adoption of NoSQL by technically savvy brands like Google, many developers eagerly adopted NoSQL and the use of low-level languages and traded off the benefits of SQL – standardization and programming efficiency -- and data consistency. Most NoSQL databases are eventually consistent and don't support ACID transactions, which for some web applications is a reasonable trade off. But nothing stands still. New SQL database offerings have caught up employing modern scale-out architectures, JSON support and in-memory performance, without sacrificing ACID guarantees. At the same time, NoSQL offerings are adopting SQL interfaces.

The two camps have evolved significantly, and the question still remains: When should you use a SQL-based database to solve your problem, and when should you turn to NoSQL?

SQL remains a popular choice and a proven solution when it comes to modern databases that handle large-volume analytic workloads and real-time transactions. Google, despite its early adoption of NoSQL, has shifted back to SQL for data consistency (see its F1 research). Facebook, Cloudera and Apache use SQL because they understand that it can meet user demands while managing constant interactions within massive amounts of data. By using SQL to deliver meaningful query optimization, these sites provide millions of users around the world with instant responses to their actions.

Applications using NoSQL databases, on the other hand, are usually simpler in their design, provide horizontal scalability, and deliver a mechanism for the storage and retrieval of data. For example, NoSQL solutions are ideal for archiving sensor readings or ad impression displays.

In this slideshow, VoltDB offers tips to help you decide which solution is better suited for your data needs.