Database Bracketology: NoSQL vs. SQL

Last week we kicked off our database bracketology blog series in honor of March Madness. Check out our series overview post here, and check out our last bracket buster: cloud vs. on-premises.


If you’ve tuned into March Madness this year, you’ve witnessed quite a few bracketbusters with some crazy upsets like Minnesota, Duke and Villanova. Today brings us to the Sweet Sixteen, where I’m sure we’ll see some more incredible games over the next few days.

To continue our database bracketology series, today I’ll be covering a specific use case, and talking through whether a NoSQL or SQL database would be a better fit.


The Issue

A few weeks ago, I was working with one of our customers who manages a large global supply chain operation. Supply chain management, especially at the global level, requires a large amount of data to coordinate every step of the process. Because of its high complexity, reliability serves as one of the most important elements when managing the data.

Supply chains are similar to plants — they need data and support from various channels in order to be successful. Like plants, if you can’t access a crucial element to their success — like data — it can cripple the entire process.   


The Requirements

For supply chain operations management to be successful, the data management solution needs to meet some specific requirements:

Handle large amounts of data. Given the amount of data that needs to be tracked throughout the supply chain process, the customer required a database solution that would be able to handle a large amount of data that can be distributed on a massive scale.

Reliable with the ability to access data quickly. Fast access isn’t as important as reliability, which serves as a key requirement in order to ensure that the supply chain — or plant — doesn’t start to wilt. As part of the reliability requirement, making sure there isn’t one single point of failure through automatic load balancing tops the list.

Write availability. With the need to consistently write a large amount of data, high availability for read/write operations becomes imperative for supply chain management organizations. While these types of organizations don’t write as much data as websites like Facebook and Twitter, a significant amount of data still needs to be stored.


The Solution

For this customer, I recommended that they go with a NoSQL database like MongoDB. Because their primary focus was handling large amounts of data, it’s a great fit — especially since MongoDB has strong indexing capabilities. In addition, the Grid Filing System with MongoDB gives them the ability to replicate their data, maximizing their data storage and improving reliability.

To truly maximize their database performance, layering a database performance monitoring solution on top of their MongoDB instance also ensures they receive alerts and recommendations for their databases.

Figure 1: Dashboard showcasing total index size for MongoDB


Setting specific thresholds to address problems before they become critical to their data can ensure that they have seamless operation of their supply chain operations.
Stay tuned later this week as we cover our next match up in our database bracketology series: distributed versus RDBMS.


Try SelectStar for 14 days. No credit card required.