Benchmarking SQL and NoSQL Database Systems: Baking a New Enchilada

The goal of our project was to benchmark various database management systems in order to determine which was the fastest and easiest to use with Enchilada specifically. To do this we had to update Enchilada to modern standards by ensuring it works with recent build tools and Java.We benchmarked the relational database Microsoft SQL Server, Enchilada's original database system, as a baseline, as well as another relational system PostgreSQL. We also benchmarked the NoSQL systems Cassandra, InfluxDB, and MongoDB.

Results

We ran two tests for our benchmark. These were what we determined as the most databse heavy portions of the Enchilada code, which were the dataload and the clustering.

Cassandra and MongoDB were the fastest for the dataload

PostgreSQL was a close 3rd

Cassandra and InfluxDB were so slow for clustering you cannot see the others

PostgreSQL was the fastest for clustering

MongoDB was the fasted NoSQL system for clustering

We recommend PostgreSQL or MongoDB for Enchilada.

Base on our results PostgreSQL is overall the fastest in our tests, and it would be an easy transition from SQL Server. MongoDB is the fastest NoSQL system, and with more testing it may prove to be the fastest option, but would require much more work to implement.