MongoDB Server specifications
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:
- Few fast cores versus many slower cores. A few faster cores will be better in the case of MongoDB.
- Ensure Indexes Fit in RAM
- 64 bit (a given) as Mongo is using memory map files
- Disable Non-Uniform Memory Access (NUMA)
- Memory affinity to cores
- The OS should run on SSD drive
- Leave 20 % unpartitioned (wear endurance)
- The rest could be spinning disks
One interesting discussion is whether to use many low cost servers versus running fewer more powerful servers.