FAQ about Managed Service for MongoDB
General questions
-
What part of database management and maintenance is Managed Service for MongoDB responsible for?
-
How can I change the computing resources and storage size for a database cluster?
-
When are backups performed? Is a database cluster available during backup?
Questions about MongoDB
-
Why should I use MongoDB in Managed Service for MongoDB rather than my own VM-based installation?
-
Can I deploy a MongoDB cluster in multiple availability zones?
-
Why is the cluster slow even though the computing resources are not used fully?
-
How do I get access to the local.oplog.rs service collection?
General questions
What is Managed Service for MongoDB?
Managed Service for MongoDB is a service that helps you create, operate, and scale MongoDB databases in a cloud infrastructure.
With Managed Service for MongoDB, you can:
- Create a database with the required performance characteristics.
- Scale processing power and storage dedicated for your databases as needed.
- Get database logs.
Managed Service for MongoDB takes on time-consuming MongoDB infrastructure administration tasks:
- Monitors resource usage.
- Automatically creates DB backups.
- Provides fault tolerance through automatic failover to backup replicas.
- Keeps database software updated.
You interact with database clusters in Managed Service for MongoDB the same way you interact with regular databases in your local infrastructure. This allows you to manage internal database settings to meet your app requirements.
What part of database management and maintenance is Managed Service for MongoDB responsible for?
When creating clusters, Managed Service for MongoDB allocates resources, installs the DBMS, and creates databases.
For the created and running databases, Managed Service for MongoDB automatically creates backups and applies fixes and updates to the DBMS.
Managed Service for MongoDB also provides data replication between database hosts (both inside and between availability zones) and automatically switches the load over to a backup replica in the event of a failure.
Which tasks are best addressed using Managed Service for MongoDB, and which using VMs with databases?
Yandex Cloud offers two ways to work with databases:
- Managed Service for MongoDB allows you to operate template databases with no need to worry about administration.
- Yandex Compute Cloud virtual machines allow you to create and configure your own databases. This approach allows you to use any database management systems, access databases via SSH, and so on.
What is a database host and database cluster?
A database host is an isolated database environment in the cloud infrastructure with dedicated computing resources and reserved data storage.
A database cluster is one or more database hosts between which replication can be configured.
How do I get started with Managed Service for MongoDB?
Managed Service for MongoDB is available to any registered Yandex Cloud user.
To create a database cluster in Managed Service for MongoDB, you must define its characteristics:
- Host class (performance characteristics, such as CPUs, RAM, etc.).
- Disk type and size (reserved in full when creating a cluster).
- Network your cluster will be connected to.
- Number of hosts for the cluster and the availability zone for each host.
For a detailed guide, see Getting started with Managed Service for MongoDB.
How many DB hosts can a cluster contain?
The minimum number of hosts per cluster depends on the following:
- Selected platform and host class.
- Selected disk type.
The maximum number of hosts in a cluster is only limited by the requested computing resources and the size of the storage for the cluster.
For more information, see Quotas and limits.
How can I access a running DB host?
You can connect to Managed Service for MongoDB databases using standard DBMS methods.
Learn more about connecting to clusters.
How many clusters can I create within a single cloud?
For more information on MDB technical and organizational limitations, see Quotas and limits.
How are DB clusters maintained?
Maintenance in Managed Service for MongoDB implies:
- Automatic installation of DBMS updates and revisions for DB hosts (including disabled clusters).
- Changes to the host class and storage size.
- Other Managed Service for MongoDB maintenance activities.
For more information, see Maintenance.
Which MongoDB version does Managed Service for MongoDB use?
Managed Service for MongoDB supports MongoDB versions 4.2, 4.4, 5.0, and 6.0. Enterprise Edition is supported for versions 4.4, 5.0, and 6.0.
What happens when a new DBMS version is released?
When new minor versions are released, the cluster software is updated after a short testing period. Owners of the affected DB clusters are notified of expected work times and DB availability in advance.
What happens when a DBMS version becomes deprecated?
One month after the database version becomes deprecated, Managed Service for MongoDB automatically sends email notifications to the owners of DB clusters created with this version.
New hosts can no longer be created using deprecated DBMS versions. Database clusters are automatically upgraded to the next supported version seven days after notification for minor versions and one month after notification for major versions. Deprecated major versions are going to be upgraded even if you have disabled automatic updates.
How do you calculate usage cost for a database host?
In Managed Service for MongoDB, the usage cost is calculated based on the following parameters:
- Selected host class.
- Size of the storage reserved for the database host.
- Size of the database cluster backups. Backup space in the amount of the reserved storage is free of charge. Backup storage that exceeds this size is charged at special rates.
- Number of hours of database host operation. Partial hours are rounded to an integer value. You can find the cost per hour of operation for each host class in Pricing policy.
How can I change the computing resources and storage size for a database cluster?
You can change computing resources and storage size in the management console. All you need to do is choose a different host class for the required cluster.
The cluster characteristics change within 30 minutes. During this period, other maintenance activities may also be enabled for the cluster, such as installing updates.
Is DB host backup enabled by default?
Yes, backup is enabled by default. For MongoDB, a full backup is performed once a day with the possibility to restore it to any saved backup.
By default, backups are stored for seven days.
When are backups performed? Is a DB cluster available during backup?
The backup window is an interval during which a full daily backup of the DB cluster is performed. The backup window is from 01:00 to 05:00 (UTC+3).
Clusters remain fully accessible during the backup window.
What metrics and processes can be tracked using monitoring?
For all DBMS types, you can track:
- CPU, memory, network, or disk usage, in absolute terms.
- Memory, network, or disk usage as a percentage of the set limits for the corresponding cluster host class.
- Amount of data in the DB cluster and the remaining free space in the data storage.
For DB hosts, you can track metrics specific to the corresponding type of DBMS. For example, for MongoDB, you can track:
- Number of requests per second.
- Amount of disk space used.
- Number of connections, and so on.
Monitoring can be performed with a minimum granularity of 5 seconds.
How do I set up an alert that triggers as soon as a certain percentage of disk space has been used up?
Create an alert with the disk.used_bytes
metric in Yandex Monitoring. This metric shows the disk space usage in the Managed Service for MongoDB cluster.
For disk.used_bytes
, use notification thresholds. The recommended values are as follows:
Alarm
: 90% of the disk spaceWarning
: 70% of the disk space
Thresholds are set in bytes only. For example, the recommended values for a 100 GB disk are as follows:
Alarm
:96,636,764,160
bytes (90%)Warning
:75,161,927,680
bytes (70%)
Questions about MongoDB
Why should I use MongoDB in Managed Service for MongoDB rather than my own VM-based installation?
Managed Service for MongoDB automates routine database maintenance:
- Quick DB deployment with the necessary available resources.
- Data backup.
- Regular software updates.
- Providing DB cluster failover.
- Database usage monitoring and statistics.
What happens to a cluster if one of its hosts fails?
If there are more than one replica in the database cluster, it will continue working if a host fails.
The only way data may be lost is if the cluster's only host fails.
Can I deploy a MongoDB cluster in multiple availability zones?
Yes, you can. A database cluster may consist of hosts that reside in different availability zones and even different availability regions.
What is the backup procedure for MongoDB clusters?
Backups are created every 24 hours and stored for seven days after being created. You can restore data only as of the backup creation time.
How does replication work for MongoDB?
Managed Service for MongoDB uses MongoDB standard replication: if a cluster has multiple active hosts, one of them is automatically elected as the primary server for handling write queries.
For more information about how replication works in MongoDB, read the relevant documentation
What limitations are imposed on MongoDB database clusters?
MongoDB clusters are subject to the following limitations:
- Each cluster may have a maximum of five hosts.
- The maximum storage capacity for each MongoDB cluster is 605 GB.
For more information on Managed Service for MongoDB limits, see Quotas and limits.
Why is the cluster slow even though the computing resources are not used fully?
Perhaps, the maximum storage IOPS and bandwidth values are insufficient for processing the current number of requests. In this case, throttling is triggered and the performance of the entire cluster degrades.
The maximum IOPS and bandwidth values increase by a fixed value when the storage size increases by a certain step. The step and increment values depend on the disk type:
Disk type | Step, GB | Max IOPS increase (read/write) | Max bandwidth increase (read/write), MB/s |
---|---|---|---|
network-hdd |
256 | 300/300 | 30/30 |
network-ssd |
32 | 1,000/1,000 | 15/15 |
network-ssd-nonreplicated |
93 | 28,000/5,600 | 110/82 |
To increase the maximum IOPS and bandwidth values and make throttling less likely, increase the storage size when you update your cluster.
If you are using the network-hdd
storage type, consider switching to network-ssd
or network-ssd-nonreplicated
by restoring the cluster from a backup.
How do I get access to the local.oplog.rs service collection?
To grant a user read access to oplog
, assign them the mdbReplication
role in the admin
database. To do this, run the following command in the Yandex Cloud CLI:
yc managed-mongodb user update <username> \
--cluster-name <cluster_name> \
--permission database=admin,role=mdbReplication,role=<other_role>,... \
--permission database=<other_DB_name>,role=<role>,...
To avoid deleting user roles that are already assigned, list both the existing and new roles in the command.