Skip to content

1.1 Infrastructure

Olga Arsenieva edited this page Oct 11, 2018 · 16 revisions

1.1 Infrastructure

MongoDB can be run in the cloud through MongoDB Atlas, or on local server. If MongoDB is in the cloud it has no hardware requirements.

Hardware

formula for calculating size N = i * (t + 10) + p

p: Number of assets that are permanently in the system

t: Max number of days an asset is kept in the system after ingestion

i: Number of assets ingested per day (24h)

N: Total number of assets in the system at any given time.

Disk space (Megabytes) = N * 0,01

this example is from https://learn.fotoware.com/02_FotoWeb_8.0/05_Configuring_sites/Setting_the_MongoDB_instance_that_FotoWeb_uses/MongoDB_disk_and_memory_requirements

MongoDB does not support 32-bit x86 platforms.

MongoDB 3.4 supports x86_64/amd64, ARMv8-A. The Enterprise version also supports s390x, and POWER8(little endian).

Hardware use depends on storage engine used by MongoDB. Storage Engines manage how data is stored and memory and on disk.

WiredTiger

Default for all versions is currently WiredTiger. It is multithreaded and benefits from use of XFS file system. Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:

50% of (RAM - 1 GB), or 256 MB. For example, on a system with a total of 4GB of RAM the WiredTiger cache will use 1.5GB of RAM (0.5 * (4 GB - 1 GB) = 1.5 GB). Conversely, a system with a total of 1.25 GB of RAM will allocate 256 MB to the WiredTiger cache because that is more than half of the total RAM minus one gigabyte (0.5 * (1.25 GB - 1 GB) = 128 MB < 256 MB). from: https://docs.mongodb.com/manual/core/wiredtiger/#storage-wiredtiger-checkpoints

MMAPv1

Supported until MongoDB 4.0 is MMAPv1 which was default for versions 3.0 and older. It is concurrent and minimum requirements if using MMAPv1 is access two real cores or one physical CPU for mongod or mongos. XFS or EXT4 file system is preferable.

In-Memory

MongoDB Enterprise has In-Memory Storage Engine. It is concurrent, not persistent, and maintains little disk data. It uses 50% of physical RAM - 1 GB but this can be reconfigured. Can be used in instances that are part replica sets or sharded clusters.

For more info https://docs.mongodb.com/manual/administration/production-notes/, https://docs.mongodb.com/manual/core/inmemory/

Some case studies of other companies planning hardware requirements are found here https://www.mongodb.com/blog/post/capacity-planning-and-hardware-provisioning-mongodb-ten-minutes

3-2. Operating Systems

Supports Windows 7 Recommended operating systems for production use with MongoDB:

  • Amazon Linux
  • Debian 8
  • RHEL / CentOS 6.2+
  • SLES 12
  • Ubuntu LTS 16.04
  • Windows Server 2012 R2

Linux kernel version 2.6.36 or later and XFS or EXT4 filesystem.

MongoDB 3.4 Enterprise Advanced is compatible with IBM POWER SYSTEM. For more information https://developer.ibm.com/linuxonpower/2017/01/17/mongodb-3-4-now-available-for-new-platforms-including-power/

MongoDB may run more efficiently on Linux: https://stackoverflow.com/questions/24178128/why-mongodb-performance-better-on-linux-than-on-windows

Clone this wiki locally