Manage your MongoDB with Ease!
One-stop solution for database Monitoring, Backup, Restore,Alert and more.

Gudab : An Enterprise-Class Management System for MongoDB

MongoDB is the most common NoSQL database among enterprises but without proper management tools, business operation is exposed to risk. Gudab delivers database management including performance metrics monitoring, alerts, data backup, restoration and more.


Cluster structure
auto-detection

Automatically portrait system topology and list host types within the cluster for easier setting and monitoring.


MongoDB system log

Record activities of MongoDB servers and simplify auditing work.


Performance metrics

Monitor system through real-time status graphs of CPU, RAM, Disk, Connection, Index, Throughput and over 30 different type of metrics.


Customizable dashboard

Select your own combination of indicator watch. Add or remove metrics through my favorite list to facilitate daily monitoring work.


System Alerts

Flexible alert setting by individual server/indicators and notify via Email and SNMP.


Data backup and restoration

Featured differential backup, export/import restoration on selected servers.

Features

  • Cluster structure
    auto-detection
    Automatically portrait system topology and list host types within the cluster for easier setting and monitoring.
  • Customizable dashboard Select your own combination of indicator watch. Add or remove metrics through my favorite list to facilitate daily monitoring work.
  • MongoDB system log Record activities of MongoDB servers and simplify auditing work.
  • System Alerts Flexible alert setting by individual server/indicators and notify via Email and SNMP.
  • Performance metrics Monitor system through real-time status graphs of CPU, RAM, Disk, Connection, Index, Throughput and over 30 different type of metrics.
  • Data backup and restoration Featured differential backup, export/import restoration on selected servers.

Why Gudab?

  • Enterprise-specific Comprehensive solution for enterprise database management including performance monitoring, alert, backup/restore, custom dashboard and more.
  • Agent Free No need to install agent software, greatly reduce complications and workload for system maintenance.
  • Browser Based Operable through web browsers and enable remote monitoring on MongoDB server.
  • Diverse performance metrics Providing more than 30 metrics for database administrators to have full range of database operating statistics.
  • Always up-to-date gudab supports the latest version of MongoDB. Stay up-to-date to ensure on compatibility.
  • Complete MongoDB service Full MongoDB support from system design, build, remote backup, full backup, alert integration, to professional consulting and advisory.

Why Gudab?

  • Enterprise-specific

    Comprehensive solution for enterprise database management including status dashboard, performance monitoring, system alert, data backup, restoration, authorization management as well as professional services such as database system design, build and maintenance.

  • Agent Free

    No need to install agent software, greatly reduce complications and workload for system maintenance.

  • Browser Based

    Operable through web browsers and enable remote monitoring on MongoDB server.

  • Diverse performance metrics

    Providing more than 30 metrics for database administrators to have full range of database operating statistics.

  • Always up-to-date

    gudab supports the latest version of MongoDB, stay up-to-date to ensure on compatibility.

  • End-to-End MongoDB service

    Full MongoDB support from system design, build, remote backup, full backup, alert integration, to professional consulting and advisory.

Introduction

Introduction

Gudab is a software which offers enterprises’ MongoDB management in 6 main sectors of Monitor, Alert, Backup & Restore, Activity, Dashboard and User management. Gudab automatically collects and organizes data within MongoDB, users can operate all Gudab’s functions through web browser.

Installation

MongoDB requirement

  1. MongoDB version : V2.6~3.4
  2. OS version
    1. Rehat6、Redhat7
    2. CentOS6、CentOS7
    3. Ubuntu14、Ubuntu16
    4. Windows Server 2008 R2 64-bit and later
  3. For Linux OS, please register a Linux account e.g.account name: gudab) and configure SSH default from gudab/config/metrics_os_fetcher/linux_SSH_default_Info. properties to obtain host status statistics (CPU/Memory/Storage/Swap).. For Windows OS, host status statistics are currently not supported.For Linux OS, please register a Linux account e.g.account name: gudab) and configure SSH default from gudab/config/metrics_os_fetcher/linux_SSH_default_Info. properties to obtain host status statistics (CPU/Memory/Storage/Swap). For Windows OS, host status statistics are currently not supported.

System requirements

  1. Java 1.8
  2. OS version
    1. Rehat6、Redhat7
    2. CentOS6、CentOS7
    3. Ubuntu14、Ubuntu16
    4. Windows Server 2008 R2 64-bit and later
  3. Hardware requirements
    1. CPU:minimum: 4core, recommend: 8core and above.
    2. RAM:minimum: 16GB, recommend: 32GB and above.
    3. Memory storage:Installation, Performance metric, Backup.
      1. I.installation: 300MB
      2. II.Performance metrics:minimum; 10GB, recommend: 20GB for 10 host/month.
      3. III.Backup:minimum: 150% of the data size, recommend: 250% of the data size

Note: Set at least one consoleDB on MongoDB for monitoring only. (No backup).

Gudab Express installation

(step1) Download gudab express from offical website. http://www.gudab.io
(step2) Unzip file to designated directory
(step3) Execute start.sh (Linux) or start.bat (windows) as administrator.
Note : consoleDB default localhost is 27027. To modify please refer to Q&A on the official website.
(step4) Configure Alert and forget password mail server setting from gudab/config/config_noCache.properties.

Login

Login

User can link to gudab login page via「http:// <hostname> /view/」. Enter account, password and then click login to access to gudab. Once account and password verify successfully,The system will show monitoring list as the default front page.

Please be informed the default username is「root」 and preset password is also 「root」. It is strongly suggested that user changes password from profile tab to ensure system security.

Monitoring

Monitoring page

Monitoring page shows the list of MongoDB servers currently being monitored and their status.

Host list
Column Description
Status signal Signal shows the current status of MongoDB server. Green signal indicates server is operating normally. Red signal means servers malfunction or there are abnormalities.
Server type Types of MongoDB server include the following:
SA (StandAlone) RS (Replica Set) SC (Sharded Cluster)
Alias Users define server name.
RS roles RS Roles include the following:
P (PRIMARY) S (SECONDARY) A (ARBITER)
Server Name of the MongoDB server.
VERSION Version of the MongoDB server.
LAST PING The last connected time of the monitored MongoDB server.
Edit Set Exception time.
Delete Remove MongoDB from monitoring list.
Status Signal
Signal Description
Solid Green All affiliated MongoDB are being monitored normally.
Hollow Green Part of the affiliated MongoDB are under monitoring exception time while the rest of the databases are being monitored normally.
Solid Yellow Affiliated MongoDB are under monitoring exception time.
Solid Red Affiliated MongoDB fail to be monitored.
Hollow Red Part of the affiliated MongoDB fail to be monitored.

Add host

Add MongoDB server to the monitoring list by「Add Host」.

Please enter the following host information:

  1. Host name : Name of the MongoDB server (Required field)。
    Note: Host name can not be IP address nor incorperating comma symbol.
  2. Port :Port number set by the MongoDB server (Required field).
  3. DB username : Enter username if account authorization is required.
  4. DB password : Enter password if account authorization is required.
  5. * The example host information for demonstration are as follow
    Hostname : localhost
    Port : 27027
    DB username : root
    DB password : gudab

*Auto Discovery
When the added host is a clustered database (Replica Set, Sharded Cluster), gudab will automatically detect and show all affiliate databases within the cluster for monitoring.

Auto-restart

When the monitored MongoDB fails to connect or process, auto-restart can be activated optionally. For instant, when MongoDB process fails unexpectedly, gudab can automatically access to the server via SSH, implement the prepared linux script, and restart MongoDB.

Monitor Metrics

To view monitor metrics, click on host name of the chosen server. As shown in the picture below., monitor metric groups are at the left side menu including、[Favourite], [Host Status], [Utilization], [Events], [Saturation], [Throuhgput], and [Performance]. Click on the metric group, metric items will appear underneath. Click on the metric items, the monitoring chart will display on right side of the page.

Take Network metric as an example, MongoDB’s memory traffic is presented in line chart. X-axis specifies recording period and Y-axis shows the amount of traffic receiving/sending from database.

In addition, time scale can be set to adjust data recording frequency. As shown in pictures below, the time scale is 5 seconds, thurs at 2017/10/911 13:37:10, one network traffic data is recorded and the next sampling point is at 2017/10/11 13:37:15.

Each time scale associates with a default time interval array display for simpler view setting. Display time interval can also be modified to meet user’s monitoring requirements. If the interval is selected for 3 hours, then the chart will display data records in the last 3 hours.

Check the box beside the heart to display data sampling points.

Note: This function is only selectable between 50 to 300 Data sampling points. For 300 points and more, chart will only display by line chart. For 50 points and less, chart will only display by points. Click on Auto to stop chart refreshing.Click on SI to display system of units

Metric List
Host Status
CPU cpuUS CPU usage rate
cpuID CPU idle rate
cpuWA CPU wait for IO rate
cpuPidUS MongoDB CPU usage rate
Memory memTotal Total memory of server
memFree Available memory
memUsed Memory used
mongoVirt MongoDB virtual memory used (Swap+Res)
mongoRes MongoDB resident memory used
mongoShr MongoDB shared memory
mongoUsed Percentage of MongoDB virtual memory used
Swap swapTotal Total Swap Memory of server
swapFree Available Swap Memory
swapUsed Swap Memory used
Storage size Size of MongoDB dbPath
used MongoDB storage used
alive Available MongoDB dbPath size
percent Percentage of MongoDB storage used
Utilization
Connections connections Number of user connection
Cursors open Current number of cursors
timedOut Total number of inactive cursors since start up
DbMemory mapped Mapped memory
mappedWithJournal Mapped with Journal memory
resident Current used memory
virtual Virtual memory used
Journaled Size (V2.6) size Size of last journal group written during submission
WiredTiger Cache (V3.4) current Size of current used data occupied in WT cache
maximum Maximum size of WT cache
dirty Amended data occupied in WT cache
WiredTiger Transactions (V3.4) readAvailable Available WT read tickets
readOut Current WT read tickets used
writeAvailable Available WT write tickets
writeOut Current WT write tickets used
Events
Asserts msg Message asserts from DB internal error since start up. (e.g. parameter excluded in the specified range)
regular Regular asserts since start up. Violation of fixed operation,(e.g. Failure of BSON file read)
user User asserts since start up. These are error caused by user. (e.g. insufficient disk space, repeated key, and unauthorized access
warn Number of warnings since start up. Non-fatal errors relate to system allocation. (e.g. ulimit, readahead ,root to initiate DB)
Page Faults pageFaults Total number of page faults
Saturation
Current Queue readers Number of current queued caused by read lock
total Total number of current queued caused by lock
writers Number of current queued caused by write lock
Journaled Lock (V2.6) lock Number of times write lock lose when submitting
Throughput
Active Clients readers Number of reads caused by active clients
writers Number of writes caused by active clients
Network in Amount of network received data
out Amount of network sent data
Opcounters command Total number of command since start up
delete Total number of delete since start up
getmore Total number of getmore since start up
insert Total number of insert since start up
query Total number of query since start up
update Total number of update since start up
Performance
Replication Oplog timeDiff Remaining replication time
replicationLag Lag of replication from primary to secondary Secondar
replicationHeadroom Time difference between the first and last oplog record. (Oplog Window)
Background Flush (V2.6) lastFlush Time of last background flush
Journaled Time (V2.6) time Time of writing data files after journaling
Index (V2.6) accesses Number of index accesses (hits+misses)
hits Number of index accesses in memory
misses Number of index accesses exclude in memory

My Favourite

User can add monitor metrics from different metrics group to my favourite. As shown in the picture below, Click on the heart until it turns solid red to add to my favourite.

Alternatively, metrics can also be added from my favourite setting page. Simply check or uncheck boxes beside monitor metrics to add or remove from my favourite. Click on confirm to save the setting.

Click on my favourite after setting completes to display the saved my favourite metric combination.

Activity log

Activity log

Activity log displays activities of the monitored MongoDB in reverse chronological order.

Activity
Column Description
DATE Time of activity occurance
HOST Host of the activity
ACTIVITY Specification of the activity

User management

Profile

Click profile tab to view or update profile information including username, email, and password. To update profile, enter new data in the field and click submit. To cancel update, click X button on the top right corner and close dialog.

Create User

To create user, click on create user tab. Enter user information including username, Email,and password and click submit. To withdraw creatinig user, click X button on the top right corner and close dialog.

Alert (Enterprise Edition)

Alert page

Alert page shows the current alert list.

Alert
Column Description
Alert name Name of alert defined by user
Alert interval Frequency to send alert by minute
Alert times Number of times to send alert
Status Current alert status (Enable/disable) :
Edit : modify alert setting
Delete : delete alert

Create New Alert

(step1) Click on Create New Alert to access new alert settings.

(step2) Complete the following fields and click submit to create new alert.

Setting Alert Name : Enter name of the alert for identification.
Select hosts: Check the boxes beside host to include in the alert list.
Alert if : check and select the alert thresholds.
Send to : Enter alert scanning frequency,Email and mobile number.

(step3) Once alert setting completed and submitted, System will show if the alert is created successfully. Click exit to leave the page.

Exception Time

Alerts can be deactivated when MongoDB shutdown is expected. For example, scheduled Full Backup is expected and does not need to be alarmed.

(step1) Exception time can be configured to the whole shard cluster or specific server.

(step2) Set exception time to RS server trs02c:23001

(step3) Click on edit to enter exception time setting.

(step4) Exception time will display on the monitoring server list.Multiple schedules and alias can be configure.

(step5) Once exception time adds successfully,new alias will display on the monitoring list.

Backup and Restore (Enterprise Edition)

Backup and Restore page

Backup and Restore configuration list is shown in the page.

Backup/Restore
Column Description
ID User defined backup/restore title
CLUSTER MongoDB servers include in the backup/restore list
Server type MongoDB server types :MONGOS、Replica Set、Config Server
Status Backup/Restore enable/disable status. Green signal indicates enabling and red signal means disabling.
Lastest backup time Lastest database backup time
operating Set the executable function for this group of backup, including:
Backup : activate backup
Restore : activate restore
Edit : enter backup configuration
Delete : remove backup

Add a new backup

(step1) Click on add a new backup configuration

(step2) Complete the following field and click next.

Backup configuration name: enter name.
Host name : name of MongoDB server.
Port number : Port of MongoDB server.
MongoDB Cluster: type of cluster (Standalone, Replica Set, Shard Cluster).
DB username: Enter username if account authorization is required.
DB password: Enter password if account authorization is required.

(step3) Select database, collection and click next.

(step4) Backup configuration completes, Click close and return to backup/restore page.

Backup

(step1) Choose ID from the backup list and click backup button to activate backup process.

(step2) The system will ask confirmation before backup begins. Click submit to start backup. Click cancel to exit backup.

(step3) System will show the message once backup starts successfully. Click close to exit dialog.

(step4) When backup is being processed normally,status will show a green singal. Click stop backup button to suspend backup process. Click delete to remove backup configuration.

Restore

(step1) Before restoring, there shall be no backup in progress.If there is, stop backup process first and then execute restore.

(step2) System will show message once backup stopped successfully. Click close to exit dialog.

(step3) Status signal will then turned red, click restore to start restoration process.

(step4) Complete all fields in the restore configuration including restore date & time, restore destination, restore collection.

Restore date & time : Specify time point to restore.
Restore destination : Specify which database to restore.
Host :Name of the database.
Port :Port of the database.
You may specify a database to restore to:Name of restoring point database.
DB username: MongoDB username.
DB password: MongoDB password.
Select collection to restore: check all collections or select collection manually.

(step5) Once restore configuration completes, click restore to execute restoration.

(step6) System will show a message that restoration activates successfully. Click close to exit dialog.

Our Pricing

Gudab Express

FREE

  • Auto detect cluter structure
  • Server Monitoring
  • Mongodb activity log
  • Customizable Dashboard
  • Email installation support
  • System Alert
Free Download(windows) Free Download(Linux)

Gudab Enterprise

by data node

  • Auto detect cluter structure
  • Server Monitoring
  • Mongodb activity log
  • Customizable Dashboard
  • Email and telephone support
  • System Alert
  • Mongodb advisory
  • Backup/Restore
  • High Availability Architecture
  • User control
  • Gudab system log
  • Report download
Contact Us

Gudab Pricing FAQ

What if I switch server?

No problem. You can add and delete any server within the number of data node purchased at anytime.

How does Gudab Business charge?

Gudab Business licensing is billed annually by number of servers under alert. For detail pricing, please contact us.

How do I get discounts?

Discounts are offered when you renew licenses before the expiry date. Or order additional data node monitoring and server services within the effective licensing period. For more details, please contact us.

What is your refund policy?

We want you to be happy with our service and have the flexibility to test and choose. If at anytime during the first 45 days using our service that you are dissatisfied, please contact us. We will gladly offer you a full refund for your purchase, and downgrade your account to Gudab express.

What kind of support do you offer?

We offer Email and telephone support on Gudab installation.For on-premises service and mongoDB consultation, please contact us for details and pricing.

What happens if I cancel my licensing service

We will start sending notification one month prior to the licensing expiry date. In case, you are unable to renew your license in time. We offer grace period of 30 days. If you do not wish to extend the license, the service will downgrade to Gudab express.

How does Gudab Enterprise charge?

Gudab Enterprise licensing is billed annually by number of monitored data nodes including primary and secondary servers. (Router, configuration server and arbiter are excluded). For detail pricing, please contact us.

When can I upgrade my licensing service?

You can upgrade to Gudab Enterprise at any time. We will consolidate your billing, deduct remaining credits and provide you the updated payment balance.

Success Cases

  • Cathay Life Insurance

    Cathay Life Insurance

    Cathay Life Insurance handles enormous amount of insurance policy data every day. When it comes to insurance policy, all data need to be stored and process safely, consistently, and promptly. Not one customer’s data allows to be compromised with database problems. With gudab, managing data backup and monitoring for more than 20 MongoDB servers, Cathay life insurance is assured on database protection and secures its customers’ trust.

  • Chunghwa Telecom

    Chunghwa Telecom

    Chunghwa Telecom's CDR(Call Detail Record) management system process over 60,000,000 CDR data every day. To deal this tremendous amount of workload, Chunghwa Telecom leverages MongoDB’s NoSQL hyper efficient processing feature for data integration. And all its MongoDB systems are managed and monitored by Gudab to make database management easier and simpler.

  • Far Eastone

    Far Eastone

    Far Eastone adapts MongoDB to store data for its centralized log management system which consist of numerous servers. The log data generated for telecommunication system is considerably massive. When an error or abnormality occurs, Far EasTone’s engineers need to quickly resort to the analysis of the generated logs for troubleshooting. And Gudab effectively assists and eases the system administrators’ daily job through continuously monitoring and management functions.

Monitor your MongoDB now!
Download Gudab Enterprise Free

Enter your name and email address to have the download link sent to you

Download For

Download For

If you have any problems, please contact us.

Interesting in Gudab Enterprise? Please contact our sales representative

Let's connect

We’re a sociable team and invite you to contact us anytime with questions, comments, requests or suggestions. Your satisfaction is Gudab's focus, and we will make sure your requests are responded promptly.

Email : service@gudab.com

Singapore

TEL +65-6808-6029

Level 40, Ocean Financial Centre, 10 Collyer Quay, Singapore 049315

Taiwan

TEL +886-2-8751-1610 #134

3F., No.437, Ruiguang Rd. Neihu Dist., Taipei City 114, Taiwan

*Comment or Question

Gudab FAQ

What are the purposes of each file in Gudab's config directory?

  1. . /id/gudab.id: Gudab ID to the system.
  2. ./id/im_ .worker: Gudab ID for user.
  3. ./metrics_os_fetcher/linux_Fetcher_ .yml: Setting of Commad and Regular Express to obtain the Linux metrics.
  4. ./metrics_os_fetcher/linux_SSH_default_Info.properties: Setting of Gudab SSH connection to the monitored server Linux Service Account.
  5. ./gudab.properties: Gudab Built-in consoleDB and Mail Server settings.
  6. ./log4j2.xml:Gudab log settings.

What to do when Gudab fails to start unexpectedly?

  1. Please contact us directly for technical support.
  2. If you wish to solve the issue on your own, there are 2 possible causes and solutions
    1. ID issue: Clear files under gudab / config / id directory and restart.
    2. ConsoleDB issue: Clear files under gudab / consoleDB / data directory and restart. Note: Clear ConsoleDB files will format Gudab and lose all metrics, backup, settings etc.

Is the browser default login account and password (root / root) for Linux Service Account or Gudab Account?

Gudab Account.

Why establish Linux Service Account on the monitored server?

Gudab connects to the monitored servers via SSH, considering Linux host’s authority, security, auditing etc. It is suggested to create Linux service accounts(e.g. gudab) exclusively for the monitored servers.

What to do if I do not receive the Email with new password after I click the forget password button

  1. Please contact us directly for technical support.
  2. If you wish to solve the issue on your own, there are 2 possible causes and solutions
  3. Setting issue: Regardless of the internal network or external network, Gudab must links to a mail server, and input sender information in gudab.properties.
  4. Invalid Email address: Please input the same Email when you register for Gudab.

How many licensing versions does Gudab offer?

Gudab has 3 licensing versions (see table below)

Express Business Enterprise
Metric Monitoring
Alert  
Backup/Restore    
Yearly licensing fees  
Professional consulting  
Validity per license 3 months 12 months 12 months

What will happen if I do not renew my license?

Your Gudab service will be suspended.
For Gudab business or Enterprise, we will start sending notification one month prior to the licensing expiry date. In case, you are unable to renew your license in time. We offer grace period of 30 days. If you do not wish to extend the license, the service will downgrade to Gudab express.
Note: Discount will be offered when license renews before the expiry date.

What are the roles and functions in Gudab account?

  1. Root user: This is the default user to create admin accounts. There will only be one root user and it cannot be renamed nor deleted.
    Note: Please change root user’s password when you login to Gudab for the first time.
  2. Admin group: All functions.
  3. Power user group: All functions except adding users.
  4. Operator group: System monitoring, Alert switching on/off. Unable to add monitoring server nor modify the alert settings.
    Roles and function details as below.
root admin power user operator
System monitoring
Add server
System activity
Alert switch on/off
Alert setting  
Backup/Restore
Profile update
Add admin
Add power user
Add operator

What are the professional consultation services available?

  1. MongoDB system design and build.
  2. Full backup/restoration mechanism design and build.
  3. Remote backup/restoration mechanism design and build.
  4. System Alert integration (Ex. notification by SMS)
  5. Database Consulting and advisory

How do Gudab licensing services charge?

  1. Gudab Express: Free of charge.
  2. Gudab Business: bill annually by number of servers under alert.
  3. Gudab Enterprise: billed annually by number of monitoring data nodes including primary and secondary servers. (Router, configuration server and arbiter are excluded).

For more pricing details, please contact us.

Can different users with different database account/password add the same server to be monitored?

Yes, But Gudab will only adapt and store the database account/password that first set up the monitoring server.

Why establish MongoDB Service Account on the monitoring server?

Considering monitoring server’s authority, security, auditing etc. It is suggested to create a MongoDB service account(e.g. root) exclusively for the monitored servers.

What to do when some cluster members were not detected in Auto Discovery?

  1. Please contact us directly for technical support.
  2. If you wish to solve the issue on your own, there are 3 possible solutions
  3. Check if MongoDB service account is established for Gudab.
  4. Replica set’s Auto Discovery must perform from primary or secondary data node.
  5. Sharded Cluster’s Auto Discovery must perform from Router(mongos) not from sharded cluster members.

Why host status monitoring metrics (CPU, Memory, Storage, Swap) are not functioning on Gudab?

  1. Please contact us directly for technical support.
  2. If you wish to solve the issue on your own, there are 2 possible causes and solutions
  3. Gudab currently does not support host status metric if the monitoring objects are installed on Windows.
  4. The information of linux_SSH_default_Info.properties has not been set.

Can I add metrics other than the current available indicators?

Yes, additional metrics can be added through customization integration.

Which type of backup method does Gudab support?

  1. Incremental backup: Continuous backup of the Replica Set’s oplog.
  2. Full Backup : Gudab currently does not support full backup. However, this function will be available in the upcoming version.

How does Gudab backup?

Gudab backup oplog from secondary member. If connection fails to establish with secondary member then backup from primary member will be performed.

Can standalone MongoDB(Single node) perform incremental backup?

In order to perform incremental backup for standalone MongoDB, you will first configure database into single member replica set so oplog can be generated and allow Gudab to perform incremental backup.

Point to note on Gudab backup?

  1. Gudab cannot obtain oplog before the first backup.
  2. After the first backup Gudab will generate tail collection and record the last backup time. Once the last backup time can be stored, Gudab can backup oplog even when Gudab is shut down.
  3. Gudab currently is not supporting config server oplog backup. Please consider the following points before performing backup on sharded cluster :
    1. Set shard zone range before backup and execute the follow MongoDB commands of sh.disableAutoSplit() , sh.setBalancerState(false).
    2. Execute full backup
    3. Shard must be in replica set structure.

Point to note on Gudab restore?

  1. Gudab restore must perform after full backup and system restart.
  2. The current restore point is on every hour and half hour.

Why the new collection cannot be backup by the existing backup setting?

If you create a backup setting by specifying collection individually (not select all) then whenever there is a new collection added then the backup setting needs to be redefined.

How many days of oplog does Gudab backup? Is there a protective mechanism to prevents insufficient hard disk space?

Gudab’s default backup is 7 days of oplog. User must evaluate the growth of oplog and set the appropriate capacity of the storage space.
Note: Days of oplog backup can be adjusted from config file. (Restart Gudab to have the newly set oplog backup days in effective.)

Can I specify data collections to be backup or restored?

Data collection can be specified for backup purpose. But restore by data collection is currently not supported.

Why Gudab backup oplog when MongoDB’s replica set already records oplog?

  1. Gudab offers this feature base on the 2 points below
  2. Backup capacity limit: MongoDB’s default oplog capped collection is 5% of the storage. When operations create large amount of oplog in short amount of time(e.g. error operation db.coll.remove({ })) , the new oplog would overwrite and affect user’s desire days to retain oplog record. This can be improved by increasing the limit of capped collection, but the down side is trading off storage resources. With Gudab backup oplog, user do not need to trade off storage resource and can also keep the desire retaining days oplog record at the same time.
  3. Restore process: Gudab provides a simple operation interface for restoring instead of rummage through corresponding commands and instructions. In addition, Gudab is installed in a different system environment, OS, with different system accounts and directories; which enable a higher security level on backup data.

Are there alert notifications available other than Email?

Yes, other methods of alert notifications such as SMS can be done through customized integration.

MongoDB FAQ

Common general problems

What can NoSQL databases like MongoDB do for me?

Generally speaking, NoSQL database provides benefits to the following applications

  1. Big Data : Able to scale out horizontally with medium grade x86 hardware which can effectively lower the costs to build or expand a database.
  2. Unstructured data : NoSQL database provides the convenience to directly store unstructured data such as web pages, articles, pictures, videos and etc.
  3. Structure frequently altered data : NoSQL database has the feature of “schema free” which enable storage structure to be dynamically changed in response to the needs of different data structures.

Should I implement sharding structure from the start?

Yes, we recommend building your database with sharding structure from the beginning unless the follow condition is certain.

  1. Size of the stored data is fixed and does not need expansion in the future.

What are the advantages of MongoDB when building an application system?

From cost point of view, MongoDB is much more economic compare to the brand name relational database. User can obtain a stable distributive data storage solution within a lower budget.

From technical perspective, the benefits are as follows:

  1. A well-designed MongoDB can efficiently process massive amount of data. It can also simplify development of an application and dramatically improve system performance.
  2. The application system can store and read unstructured data (e.g. web pages, image) simply via API.
  3. It does not require pre-defined schema; the application system can control data storing structure and accelerate on development time.
  4. Flexible data storage structure in response to different data records’ (document) needs, reduce workload of application system maintenance.

Which scenario or application is suitable to adapt MongoDB?

  1. Storing large number of unstructured data such as Log, chat records, archival information, pictures, videos, etc.
  2. Managing data that does not require immediate processing, separate from real-time transaction database and optimize system performance.
  3. Executing remote backup on immense amount of data. MongoDB provides a decentralized architecture to ensure that replicas in different locations are synchronized.
  4. Implementing full-text search function. MongoDB can retrieve from large number of unstructured data through index.
  5. Improving existing system performance through a different database design in response to big data application or processing.
  6. Reducing costs on relational database maintenance or build by transferring some portion of data to MongoDB.

What type of data is more suitable to transfer from the existing relational database (Oracle, MS SQL Server, etc.) to MongoDB ?

  1. All data can be moved from relational database to MongoDB. Particularly, the following unstructured data.
  2. Files, such as web pages, articles, news, log and so on.
  3. Archives, such as text files, images, videos and other files.
  4. Data needs to be backup for preservation purposes.

Common technical questions

Can MongoDB be installed on a virtual machine?

Yes, MongoDB can be installed on VMWare, KVM etc. However, network and disk IO status are not accessible when MongoDB is installed on VM. User needs to ensure hardware capacity and performance are adequate.

Can MongoDB pair with network storage device (such as SAN, NAS)?

Yes, However, performance wise local storage system will be superior than network storage system. Recommended priority for MongoDB storage devices is local SSD> local HDD> SAN> NAS.

Which data backup method does MongoDB provide?

  1. Full backup: data backup through mongodump or mongoexport tool.
  2. Incremental backup: backup continuously and uninterruptedly by rs.oplog collection within the DB. In addition, you can also pause the system or writing process and backup to other storage space when data is constant.

What are the common performance bottlenecks and optimization methods?

mongostat , page fault value is too high.

  1. Performance bottlenecks
    Page fault is memory-related issue; meaning the data is not mapped in the RAM and need to load from disk. If the RAM capacity does not meet the performance requirements, then page fault occurs.
  2. Optimization
    As the error rate increases, opcounters will eventually be lower than expected. Adding more RAM will be the solution.

iostat, % util is too high.

  1. Performance bottlenecks
    If % util is close to 100%, it means there are too many I/O requests. I/O system is overloaded, the bottlenecks shall be the capability of hard disk
  2. Optimization
    1. Improve with higher grade of hard disk drive, it is recommended to use SSD in local environment.
    2. Increase fragmentation, disperse I/O workload.

How do I access the data in MongoDB?

There are several ways:

  1. Command-line: through Mongo Shell; native JavaScript interactive interface, connect DB instance, operate CRUD, system management and others.
  2. Driver: supported by several programming languages such as Java, Python, Ruby, C #, PHP and so on.
  3. GUI: supported by various tools such as Pentaho / Kettle, Talend Open Studio etc.

Advanced technical issues

How much memory does MongoDB need?

The main considerations to calculate required RAM size are as follow:

  1. Working set size which is the maximum amount of data to be processed at once.
  2. Index quantity and size
  3. The size of individual file
  4. connection (1MB per connection)
    From the considerations above, it can be seen, the required RAM size will depend on each user’s data size and usage.

How do I release the memory used by MongoDB?

  1. Manually: restart MongoDB process to release RAM.
  2. Automatically: managed by the operating system, if there are other processes needing RAM, the memory occupied by MongoDB will be released based on LRU (Least Recently Used).

How do I limit MongoDB's memory usage?

Restricting MongoDB memory usage is not recommended and will directly affect MongoDB's processing performance. If limiting memory usage is inevitable, then the suggested alternative is to constrain by containers (e.g. lxc, cgroups, Docker, etc.)

How to plan MongoDB’s hardware setup and capacity?

  1. MongoDB’s hardware planning shall start with the test of POC (Proof Of Concept). Once the required performance can be confirmed, the hardware should gradually scale up to the desire level, and make adjustments according to the outcome from monitoring indicators.
  2. Before the proof of concept test, performance requirements shall be recognized. (including but not limited to the following items):
    1. The amount of data that needs to be stored.
    2. The size of working set.
    3. The number of requests sent per second.
    4. Percentage of normal running time.
    5. The tolerable delay time.

How to benchmark MongoDB?

  1. When comparing MongoDB’s earlier and new versions, or with other databases, they need to be based on the same arrangement (eg, number of machines, test tools, etc.). And the usual test parameters are throughput and latency value on different ratios of CRUD (eg. 95% read, 5% write).
  2. There are many factors that can affect MongoDB’s Benchmark (including but not limited to the following):
    1. hardware setup and capacity
    2. The size and format of individual file
    3. The proportion of reading and writing
    4. Query syntax and index
    5. MongoDB version
    6. Storage engine (WiredTiger or MMAPv1)
    7. Parameter setting (Write Concern Reference, Journaling, etc.)

How do I transfer data from RDBMS to MongoDB?

The common ways are as follow:

  1. Mongo Tool: Export RDBMS data to CSV, and import to MongoDB through mongoimport.
  2. ETL Tool: Logstash, Pentaho / Kettle etc.
  3. Community tools: Mongify, Firehose etc.
  4. Programming script: r2m or self-written program via driver.