Updated on 2024-10-24 GMT+08:00

Versions

This section describes the compatibility between DDS versions and MongoDB, aggregation operation compatibility, and DDS features of different versions.

MongoDB-Compatible Features

Table 1 MongoDB-compatible features

Category

Details

DDS 4.0

DDS 4.2

DDS 4.4

DDS 5.0 Replica Set

Community Edition

MongoDB 4.2

Community Edition

MongoDB 4.4

Community Edition MongoDB

5.0 Replica Set

Database commands

The find command supports the allowDiskUse field, which allows MongoDB to use temporary files on disk to store data exceeding the system memory limit while processing a non-index sort operation.

×

×

×

New syntax and usage of projection.

  • In projection, syntax of aggregation functions is supported, for example, using aggregation operators.
  • In projection, data is encoded in JSON format and nested to map specified fields.
  • In projection, the $ character can be used to specify a specific index subelement for a mapped array element.

×

×

×

Time series collections

Time series collections are supported.

×

×

×

×

×

Geospatial indexes can be created for metaField.

×

×

×

×

×

Constrained update and deletion operations are supported.

×

×

×

×

×

Sharded time series collections are supported.

×

×

×

N.A.

×

×

N.A.

Time series collections can be compressed.

×

×

×

×

×

Distributed transactions

Distributed transactions are supported. Distributed transactions refer to multi-document transactions on sharded clusters and replica sets. Multi-document transactions (whether on sharded clusters or replica sets) are also known as distributed transactions starting in MongoDB 4.2.

×

The 16 MB total size limit for a transaction was removed.

×

×

The MongoDB drivers must be updated for MongoDB 4.2.

×

Aggregation

  • The aggregation capability is improved. Data can be updated in the aggregation pipeline.
  • Added $merge.
  • Added $accumulator and $function.
  • Supported union All.
  • Added $unionWith.
  • For details about aggregation operations, see Table 2.

Wildcard indexes

Wildcard indexes are supported.

Sharded cluster

A document's shard key field value can be changed.

×

×

N.A.

N.A.

The fields associated with the shard key can be adjusted.

N.A.

×

N.A.

Collections can be sharded using a composite shard key that consists of a single hash field.

×

×

N.A.

×

N.A.

The 512-byte size limit on a shard key was removed.

×

N.A.

×

N.A.

Multi-document transactions allow the creation of indexes and collections (non-distributed transactions).

×

×

N.A.

×

N.A.

The $lookup and $graphLookup operation supports sharded collections.

×

×

N.A.

×

×

N.A.

Indexes

The size limit on indexes was removed.

The length limit on index names was removed.

Composite indexes can contain hash indexes.

×

×

×

Hidden indexes are supported for commissioning.

×

The size limit on collection namespaces is changed.

The length of <database>.<collection> is increased from 120 bytes to 255 bytes.

Other optimized features

Default Read and Write Concern

Global default read/write concerns, involving connection and command read/write contexts.

×

×

×

×

Jumbo chunks can be migrated.

×

×

×

×

Hedge query is supported.

×

×

×

×

The dds mongos node supports JavaScripts to support some special aggregation operators.

×

×

×

×

In non-multi-document transactions, some read operations support read concern snapshot.

×

×

×

×

×

×

Using collMod to change the timeout interval of TTL indexes of a single field is supported.

×

×

×

×

×

Aggregation Operations

Table 2 Aggregation operations

Operator

DDS 4.0

DDS 4.2

DDS 4.4

DDS 5.0 Replica Set

MongoDB 4.2 Community Edition

MongoDB 4.4 Community Edition

MongoDB 5.0 Community Edition Replica Set

$sin

$cos

$tan

$asin

$acos

$atan

$atan2

$asinh

$acosh

$atanh

$degreesToRadians

$radiansToDegrees

$round

$trunc

$regexFind

$regexFindAll

$regexMatch

$merge

$planCacheStats

×

×

×

×

×

$replaceWith

$set

$unset

NOW

CLUSTER_TIME

findAndModify

×

update

$accumulator

×

$binarySize

×

$bsonSize

×

$first

×

$function

×

$last

×

$isNumber

×

$replaceOne

×

$unionWith

×

$dateAdd

×

×

×

×

$dateSubtract

×

×

×

×

$dateDiff

×

×

×

×

$dateTrunc

×

×

×

×

$rand

×

×

×

×

×

×

$sampleRate

×

×

×

×

×

×

$getField

×

×

×

×

$setField

×

×

×

×

$unsetField

×

×

×

×

$setWindowFields

×

×

×

×

×

let

×

×

×

×

×

×

$expr (using indexes)

×

×

×

×

×

×

$ifNull

×

×

×

×

×

×

DDS Features

Table 3 DDS features

Category

Feature

Constraint

DDS 4.0

DDS 4.2

DDS 4.4

DDS 5.0

Remarks

DB Instance Type

Single Node

Replica Set

Cluster

Single Node

Replica Set

Cluster

Single Node

Replica Set

Cluster

Replica Set

-

Instance Management

Creating an instance

-

-

Deleting an instance

-

-

Restarting an instance

-

-

Resetting a password

-

-

Changing an instance name

-

-

Changing an instance port

-

-

Performing a switchover

-

×

×

-

Exporting the instance list

-

-

Compute scale-up

-

-

Compute scale-down

-

-

Adding nodes

-

-

-

-

Deleting nodes

-

-

×

×

-

×

×

×

×

×

×

-

Storage scale-up

-

-

Storage scale-down

-

×

×

×

×

×

×

×

×

×

×

-

Restarting a node

-

-

OpenAPI

-

-

SDK

-

-

Task center

-

-

Tags

-

-

Quotas

-

-

Network Management

EIP-based public network access

-

-

Changing a private IP address

-

-

Cross-CIDR access

-

×

×

×

In DDS 4.2, 4.4 and 5.0, the client and an instance can communicate only when they are in the same VPC and subnet. If the client is a container, the client can communicate with an instance using an IP address in the default CIDR block 192.168.0.0/16, 172.16.0.0/24, or 10.0.0.0/8.

Changing an AZ

-

×

×

×

In DDS 4.2, 4.4 and 5.0, deploying an instance across multiple AZs is recommended.

Domain name access

-

×

×

×

×

×

×

×

In DDS 4.2, 4.4 and 5.0, you are advised to use the IP address to access an instance.

Security

Security group

-

-

SSL

-

-

Instance recycle bin

-

-

Storage encryption

-

×

×

×

×

×

×

×

-

Billing

Converting a single node to a replica set

-

×

-

-

×

-

-

×

-

-

-

-

Pay-per-use

-

-

Yearly/Monthly

-

×

×

×

×

In open beta testing (OBT), DDS 5.0 does not support the yearly/monthly billing.

Changing pay-per-use to yearly/monthly

-

×

×

×

×

In open beta testing (OBT), DDS 5.0 does not support the yearly/monthly billing.

Changing yearly/monthly to pay-per-use

-

×

×

×

×

In open beta testing (OBT), DDS 5.0 does not support the yearly/monthly billing.

Versions

Minor version upgrade (manual)

-

-

Minor version upgrade (automatic)

-

×

×

×

×

×

×

×

×

×

×

-

Major version upgrade (manual)

-

×

×

×

×

×

×

×

×

×

×

-

Logs

Viewing slow query logs

-

-

Downloading slow query logs

-

-

Masking slow query logs

-

-

Querying error logs

-

-

Downloading error logs

-

-

Configuring the audit log policy

-

-

Querying audit logs

-

-

Downloading audit logs

-

-

Parameters

Changing a parameter template

-

-

Creating a parameter template

-

-

Deleting a parameter template

-

-

Modifying a parameter template

-

-

Comparing parameter templates

-

-

Backup and Restoration

Automated backup

-

-

Manual backup

-

-

Deleting a backup

-

-

Restoring to a new DB instance

-

-

Restoring data to the original DB instance

-

-

Restoring to an existing DB instance

-

×

×

×

×

×

×

×

×

×

×

-

Configuring an automated backup policy

-

-

Incremental backup

-

×

×

×

×

×

×

×

-

PITR

-

×

×

×

×

×

×

×

×

×

-

Downloading a full backup file

-

-

Downloading an incremental backup file

-

-

-

-

-

-

-

-

-

-

-

-

Cross-region backup

-

-

Cross-region restoration

-

-

O&M

Creating a database role

This operation can only be performed by calling a specified API.

-

Creating a database account

This operation can only be performed by calling a specified API.

-

Deleting a database role

This operation can only be performed by calling a specified API.

-

Dropping a database user

This operation can only be performed by calling a specified API.

-

Monitoring by seconds

Minimum interval: 5s

-

√ indicates that an item is supported, and × indicates that an item is not supported.