With the release of MonetDB/e, we have a new member in the family of embedded DBMSs on Windows optimised for data analytics. How does it compare to some long term members in this family, e.g. SQLite3 and Microsoft SQLserver Express? Let’s take MonetDB/e on another quick trip with the NYC taxi benchmark as demonstrated in a Linux setting before. On Windows, it works in the same way. With the two standard commands
pip install monetdbe
import monetdbe
in your Python program, you are good to go.
The NYC taxi benchmark is based on a single month of data from the New York City Taxi & Limousine Commission Trip Record with ~1.5GB of raw data and three popular statistical queries:
For this benchmarking exercise, we ran a Python programme with MonetDB/e (v 0.9.0), SQLite3 (v 3.30.0) and Microsoft SQLserver Express 2019 on a Windows 10 box with an Intel I5 6600k CPU, 8GB RAM and an SSD. The data loading and query execution times of all three embedded DBMSs are shown in the table above.
The numbers illustrate again the strength of MonetDB/e for analytical queries, whose total execution time is ~10x faster than SQLite3 and ~20x faster than SQLserver Express. Even with the data loading time added, MonetDB/e comfortably outperforms the reference systems by a considerable margin.
However, such a simple taxi ride provides only a glimpse of the functionality and performance one might experience when joining the ride. No one-size-fits-all database management system exists, and MonetDB/e is not a silver bullet either. When looking for an embedded DBMS solution for one’s data analytics applications, the following aspects should be considered:
If you answered any of these questions with “Yes”, then MonetDB/e is worth consideration. Try it out on a sample application or get inspired by more showcases in the monetdbe-examples repository.
Please drop us a note about your experiences and pass on this message to those who can benefit from the performance of the new taxi driver on the block.