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:
  • 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:
For Production, the following information might be important: Production Notes - MongoDB .
One interesting discussion is whether to use many low cost servers versus running fewer more powerful servers.

Comments

  1. 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

Post a Comment