Amazon DocumentDB is compatible with MongoDB 3.6 drivers and tools. A vast majority of the applications, drivers, and tools that customers already use today with their MongoDB database can be used with Amazon DocumentDB with little or no change. Amazon DocumentDB emulates the responses that a client expects from a MongoDB server by implementing the Apache 2.0 open source MongoDB 3.6 and 4.0 APIs on a purpose-built, distributed, fault-tolerant, self-healing storage system that gives customers the performance, scalability, and availability they need when operating mission-critical MongoDB workloads at scale. Learn more about supported MongoDB APIs.
Customers can easily migrate their MongoDB databases on-premises or on Amazon EC2 to Amazon DocumentDB for free (for six months per instance) with virtually no downtime using the Amazon Database Migration Service (DMS). With DMS, you can migration from a MongoDB replica set or from a sharded cluster to Amazon DocumentDB. For more information, see Migrating to Amazon DocumentDB.
Getting started with Amazon DocumentDB is easy. Just launch a new Amazon DocumentDB cluster using the Amazon Web Services Management Console. Amazon DocumentDB instances are pre-configured with parameters and settings appropriate for the instance class you have selected. You can launch a cluster and connect your application within minutes without additional configuration.
Amazon DocumentDB provides Amazon CloudWatch metrics for your database instances. You can use the Amazon Web Services Management Console to view over 40 key operational metrics for your cluster, including compute, memory, storage, query throughput, and active connections.
Amazon DocumentDB will keep your database up-to-date with the latest patches. You can control if and when your cluster is patched via Database Engine Version Management.
Performance at scale
Amazon DocumentDB has a flexible document model, data types, and efficient indexing, and it uses a scale-up, in-memory optimized architecture to allow for fast query evaluation over large sets of documents.
With a few clicks in the Amazon Web Services Management Console, you can scale the compute and memory resources, powering your cluster up or down, by creating new replica instances of the desired size or by removing instances. Compute scaling operations typically complete in a few minutes.
Amazon DocumentDB will automatically grow the size of your storage volume as your cluster storage needs grow. Your storage volume will grow in increments of 10 GB up to a maximum of 64 TB. You don't need to provision excess storage for your database to handle future growth.
Increase read throughput to support high volume application requests by creating up to 15 database read replicas. Amazon DocumentDB replicas share the same underlying storage as the source instance, lowering costs and avoiding the need to perform writes at the replica nodes. This frees up more processing power to serve read requests and reduces the replica lag time–often down to single digit milliseconds. Amazon DocumentDB also provides a single endpoint for read queries, so the application can connect without having to keep track of replicas as they are added and removed.
Highly secure and compliant
Amazon DocumentDB runs in Amazon VPC, which allows you to isolate your cluster in your own virtual network. In addition, using Amazon DocumentDB’s VPC configuration, you can configure firewall settings and control network access to your cluster.
Amazon DocumentDB is integrated with Amazon Identity and Access Management (IAM) and provides you the ability to control the actions that your Amazon IAM users and groups can take on specific Amazon DocumentDB resources, including clusters, instances, snapshots, and parameter groups. In addition, you can tag your Amazon DocumentDB resources, and control the actions that your IAM users and groups can take on groups of resources that have the same tag (and tag value). For example, you can configure your IAM rules to ensure developers are able to modify "Development" clusters, but only Database Administrators can modify and delete "Production" clusters.
Amazon DocumentDB allows you to encrypt your databases using keys you create and control through Amazon Key Management Service (KMS). On a cluster running with Amazon DocumentDB encryption, data stored at rest in the underlying storage is encrypted, as are the automated backups, snapshots, and replicas in the same cluster. By default, connections between a client and Amazon DocumentDB are encrypted-in-transit with TLS.
The health of your Amazon DocumentDB cluster and its instances are continuously monitored. If the instance powering your database fails, the instance and associated processes are automatically restarted. Amazon DocumentDB recovery does not require the potentially lengthy replay of database redo logs, so your instance restart times are typically 30 seconds or less. It also isolates the database cache from database processes, allowing the cache to survive a database restart.
On instance failure, Amazon DocumentDB automates failover to one of up to 15 Amazon DocumentDB replicas you have created in any of three Availability Zones. If no Amazon DocumentDB replicas have been provisioned, in the case of a failure, Amazon DocumentDB will attempt to create a new instance for you automatically.
Each 10GB portion of your storage volume is replicated six ways, across three Availability Zones. Amazon DocumentDB uses fault-tolerant storage that transparently handles the loss of up to two copies of data without affecting database write availability and up to three copies without affecting read availability. Amazon DocumentDB’s storage is also self-healing; data blocks and disks are continuously scanned for errors and replaced automatically.
Amazon DocumentDB's backup capability enables point-in-time recovery for your clusters. This allows you to restore your cluster to any second during your retention period, up until the last five minutes. Your automatic backup retention period can be configured up to thirty-five days. Automated backups are stored in Amazon S3, which is designed for 99.999999999% durability. Amazon DocumentDB backups are automatic, incremental, and continuous and have no impact on cluster performance.
Cluster snapshots are user-initiated backups of your cluster stored in Amazon S3 that will be kept until you explicitly delete them. They leverage the automated incremental snapshots to reduce the time and storage required. You can create a new cluster from a Cluster Snapshot whenever you desire.