Prasad Venkatachar – Sr Director – Solutions|Products
MongoDB database applications realize capacity expansion, performance, and TCO savings benefits by deploying Pliops Xtreme Data Processor (XDP) in place of traditional RAID 10 with MongoDB snappy compression. Pliops XDP-Accel is a breakthrough Key-Value data accelerator designed to deliver data protection, data compression, acceleration, and efficient management of SSD operations.
Today’s modern enterprises are data-driven. How quickly an organization can access and act upon data is a key competitive advantage. MongoDB is a robust NoSQL database platform and serves as a crucial component for building data-driven enterprise applications. MongoDB uses a document-based data model to store both structured and unstructured data. With modern enterprise applications and architecture drive the need for modern data storage to accelerate, optimize and scale MongoDB applications to serve current and future business needs.
A testing environment configured to evaluate the modern data storage benefits over the traditional storage setup for MongoDB. One server is configured with traditional RAID 10 with 4 NVMe SSDs for data protection and default snappy compression as per MongoDB’s best practice. The second server is configured with Pliops Xtreme Data Processor (XDP) with built-in RAID5+ technology to manage 4 NVMe SSDs and enabled built-in XDP compression by disabling Snappy compression. The idea behind benchmarking is to get a general idea of how new Pliops storage configuration options improve performance, capacity, and CPU savings and how these benefits translate into cost savings.
Figure 1: Traditional Setup vs Pliops XDP setup with Built-in RAID and Data Compression
When we loaded the 3 billion records using YCSB, MongoDB setup with Snappy compression provided a 2.6X compression ratio, and Pliops compression engine provided a 2.85X compression ratio. As shown in Figure 1, a traditional storage setup with RAID10 and Snappy compression provides a storage capacity of 8TB of the MongoDB dataset. However, Pliops RAID-pLus and built-in compression supported a storage capacity of up to 12TB. That’s roughly 40% physical capacity savings per server for the same identical database capacity stored with an identical number of SSDs. Data-driven applications grow with time in terms of data and users that are to be served, hence storage capacity optimization is pivotal to economically grow the data footprint.
Efficient storage optimization is one aspect, but does it also enable efficient data retrieval? An obvious question in our mind is, does Pliops RAID+ perform better than RAID10 for write-intensive and read-intensive workloads? So, we carried out a full suite of YCSB tests that includes data loading, update heavy (YCSB-A), read heavy (YCSB-B) and read-only (YCSB-C) benchmarks to test this hypothesis.
For data Loading tests with traditional RAID10 with Snappy compression delivering the performance of 25K operations per second with an average latency of 0.3 milliseconds. The Pliops setup with RAID 5+ and built-in compression was driving 48K operations per second at a latency of 0.163 milliseconds. That’s roughly 1.9X faster data loading, reducing the latency by 51%. Pliops built-in compression and data sequentialization are major factors that are influential in the performance benefit over traditional setup.
Encouraged by such phenomenal performance gains we embarked on Write heavy workload with 50Reads:50Writes operations. These tests have shown even higher performance gains increasing the traditional RAID10 setup performance from 31K ops/sec to 73K ops/sec that’s a 2.3X performance gain. The Pliops RAID 5+ setup reduced latency to 1.6 milliseconds from HW RAID10 latency of 4.02 milliseconds, that’s roughly a 60% latency reduction. In addition to the 40% capacity savings, another benefit of utilizing Pliops XDP compression in place of snappy compression is CPU utilization savings. CPU usage with Pliops reduced to 32% compared to 38% with the traditional setup that’s around 6% CPU savings.
Likewise, Read-heavy and Read-only operations showed 22% and 8% performance improvements and CPU savings of upto 8% observed out of the box. We explored the optimization of MongoDB checkpoints, journaling, and oplog to provide even further performance improvements. I will share those optimization details in the next blog. you can find the MongoDB solution brief here for additional details on the overall benefits.
A full rack with 22 servers in a traditional storage setup can be reduced to 15 servers with a Pliops XDP setup even with a conservative estimate of 40% capacity gain and 50% improved performance benefits. Using the Pliops Data center calculator this MongoDB consolidation results in $296K TCO savings by bringing down the TCO from $ 1.07 million with a Traditional set up to $776K with Pliops XDP built-in RAID and Data acceleration solution. Dollar per Terabyte is another important metric for scale-out of NoSQL distributed systems, Pliops solution reduces the $/TB from $6,180 to $4,425 that’s $1,675 TCO/TB savings. Pliops XDP massively reduces the write amplification of SSDs for write-intensive workloads and thereby extending the useful life of SSDs. This benefit results in $45K SSD cost savings to eliminate replacing the SSDs before the hardware refresh cycle of 5 years. The price/performance and $/TB are critical KPI metrics for efficient enterprise applications and it’s even more important when businesses across all verticals are strategizing for cost-efficient operations in 2023.
Modern enterprise applications and architecture need modern data storage options like Pliops XDP to accelerate, optimize and scale MongoDB applications to serve current and future business needs. XDP achieves new levels of operational efficiency and agility. It uses a Key Value based data storage architecture, and integrated data compression and processing to unlock the power of enterprise data.
Pliops XDP addresses the following critical requirements and challenges for Mongo DBAs and IT administrators
- How can I accomplish capacity optimization at the node level and cluster level.
- How can I design MongoDB infrastructure that meets application performance & latency requirements?
- How to efficiently meet availability & recoverability SLAs
- How to optimize overall database operations that include Backup & recovery & data loading
- How do I economically scale MongoDB data footprint
- How do I ensure all these benefits are within the IT budget.