MongoDB Server specifications
I needed to build a dedicated server to host MongoDB (NoSQL) database for a PoC. In this stage, I did not need to worry about replication. Usually, when I need to build a server for development, I just take one of the unused machines around and convert it to something I can work with (in many cases on top of VMWare). This case was different as I needed to build the server from scratch. What should be the HW specs for such a server?
I couldn’t find any official document describing such a BoM (minimum requirements / system load and the resources needed). One of the searches I made was for a ‘NoSQL database resource calculator’ (similar to the one you have for cloud computing resources like Azure). One that you put in the estimated load (like the number/size of documents/collections/reads/writes) and you get HW recommendations. No luck. I guess it would have been nice to have such a calculator on MongoDB’s site. Not sure how feasible it is though…
After several more searches I found a good YouTube video and the ‘right’ page on MongoDB’s site (see sources for both).
The following is a list of general recommendation with regards to hardware specs for a MongoDB server:
I couldn’t find any official document describing such a BoM (minimum requirements / system load and the resources needed). One of the searches I made was for a ‘NoSQL database resource calculator’ (similar to the one you have for cloud computing resources like Azure). One that you put in the estimated load (like the number/size of documents/collections/reads/writes) and you get HW recommendations. No luck. I guess it would have been nice to have such a calculator on MongoDB’s site. Not sure how feasible it is though…
After several more searches I found a good YouTube video and the ‘right’ page on MongoDB’s site (see sources for both).
The following is a list of general recommendation with regards to hardware specs for a MongoDB server:
- CPU:
- Few fast cores versus many slower cores. A few faster cores will be better in the case of MongoDB.
- RAM:
- Ensure Indexes Fit in RAM
- Architecture:
- 64 bit (a given) as Mongo is using memory map files
- Disable Non-Uniform Memory Access (NUMA)
- Memory affinity to cores
- Storage
- The OS should run on SSD drive
- Leave 20 % unpartitioned (wear endurance)
- The rest could be spinning disks
Sources:
One interesting discussion is whether to use many low cost servers versus running fewer more powerful servers.
Nice sharing. MongoDB is a widely used open source database system. Scop for mongodb is increasing day by day. Learn MongoDB Training from expert reach gangboard. Selenium Training
ReplyDelete