Amazon DocumentDB
MongoDB-compatible document cluster whose storage keeps six copies of the data across three Availability Zones.
- Provider
- aws
- Kind
- NoSQL database
- Category
- Data
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| backupEnabled | boolean | — | no | false | ▸ true |
| backupRetentionDays | integer | — | no | — | ▸ 1 |
| bucketing | boolean | — | no | false | inherited |
| clusterType | enum | instance-based | elastic | no | instance-based | inherited |
| conflictResolution | enum | none | last-writer-wins | vector-clock | app-merge | no | — | inherited |
| consistency | enum | eventual | tunable | strong | no | eventual | ▸ tunable |
| encryptionAtRest | boolean | — | no | false | ▸ true |
| globalCluster | boolean | — | no | false | inherited |
| instances | integer | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ true |
| model | enum | key-value | wide-column | document | yes | — | ▸ document |
| partitionKey | string | — | no | — | inherited |
| quorumReads | integer | — | no | — | inherited |
| quorumWrites | integer | — | no | — | inherited |
| replication | enum | single-region | multi-region-single-leader | multi-region-multi-leader | leaderless | no | single-region | ▸ single-region |
| replicationFactor | integer | — | no | — | ▸ 6 |
| storageConfiguration | enum | standard | io-optimized | no | standard | inherited |
| tls | boolean | — | no | true | inherited |
| tombstoneTtlDays | integer | — | no | — | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
multi-leader-store-without-conflict-policy
Multi-leader replication accepts concurrent writes in several regions. With no conflict resolution policy declared, divergent replicas are reconciled by accident rather than by design.
- — all of these hold:
- — the node's `replication` is "multi-region-multi-leader"
- — any of these hold:
- — the node's `conflictResolution` has no value
- — the node's `conflictResolution` is "none"
read-heavy-path-without-cache
The design states a read-heavy workload and application servers read this datastore directly, yet the design has no cache anywhere. Every read pays a database round trip.
- — all of these hold:
- — the design requirement `traffic.readWriteRatio` is a number greater than 10
- — the node has at least one synchronous incoming edge from an app-server
- — this does not hold:
- — the design contains a node of kind cache
nodes:
- { id: "documentdb", component: "aws-documentdb" }ApsaraDB for HBasealibaba-apsaradb-hbaseApsaraDB for MongoDBalibaba-apsaradb-mongodbLindormalibaba-lindormTablestorealibaba-tablestoreAmazon CloudFront KeyValueStoreaws-cloudfront-keyvaluestoreAmazon Cognito Syncaws-cognito-syncAWS HealthLakeaws-healthlakeAmazon Keyspaces (for Apache Cassandra)aws-keyspacesAmazon DynamoDBdynamodbAzure Cosmos DBazure-cosmos-dbAzure DocumentDBazure-documentdbAzure Health Data Servicesazure-health-data-servicesAzure Managed Instance for Apache Cassandraazure-managed-cassandraAzure Table Storageazure-table-storageWorkers KVcloudflare-workers-kvApache AccumuloaccumuloAerospike DatabaseaerospikeApache CassandracassandraCouchbasecouchbaseApache CouchDBcouchdbDataStax Enterprisedatastax-enterpriseFoundationDBfoundationdbApache HBasehbaseMarkLogic ServermarklogicMongoDBmongodbMongoDB Atlasmongodb-atlasGeneric NoSQL databasenosql-databaseNoSQL storenosql-storeOrientDBorientdbRavenDBravendbRethinkDBrethinkdbRiak KVriakScyllaDBscylladbTiKVtikvYDBydbGoogle Cloud BigtablebigtableGoogle Cloud FirestorefirestoreCloud Healthcare APIgoogle-cloud-healthcare-apiFirebase Realtime Databasegoogle-firebase-realtime-databaseFirestore in Datastore modegoogle-firestore-datastore-mode
and 6 more → NoSQL database page# yaml-language-server: $schema=../../schema/component.schema.json # Amazon DocumentDB (with MongoDB compatibility): cluster whose storage keeps six copies of the data # across three Availability Zones. "Encrypting Amazon DocumentDB data at rest" says console-created # clusters have encryption at rest enabled by default and that backups are always enabled for at least # 1 day; "Encrypting data in transit" says TLS is enabled by default for newly created clusters. schemaVersion: "1" type: "component" id: "aws-documentdb" kind: "nosql-database" provider: "aws" docs: "https://docs.aws.amazon.com/documentdb/latest/developerguide/encryption-at-rest.html" defaults: managed: true model: "document" consistency: "tunable" replication: "single-region" replicationFactor: 6 backupEnabled: true backupRetentionDays: 1 encryptionAtRest: true properties: clusterType: type: "enum" values: ["instance-based", "elastic"] default: "instance-based" tls: type: "boolean" default: true storageConfiguration: type: "enum" values: ["standard", "io-optimized"] default: "standard" globalCluster: type: "boolean" default: false