Archiviazione ad alte prestazioni in Azure DocumentDB

Azure DocumentDB usa dischi Premium SSD v2 per offrire prestazioni notevolmente superiori per i carichi di lavoro con utilizzo intensivo di I/O tramite de-accoppiamento della capacità di archiviazione dalle impostazioni di I/O al secondo e larghezza di banda.

Con l'archiviazione SSD Premium v2 in Azure DocumentDB, le impostazioni massime di IOPS e larghezza di banda configurabili sono disponibili per impostazione predefinita indipendentemente dalla capacità di archiviazione configurata per il cluster. La capacità di IOPS e larghezza di banda del livello di calcolo determina le operazioni di I/O al secondo e la larghezza di banda raggiungibili nel livello di archiviazione senza la necessità di aumentare la capacità di archiviazione.

È necessario selezionare solo la capacità di archiviazione necessaria, mentre le operazioni di I/O al secondo e la larghezza di banda più elevate sono configurate automaticamente da Azure DocumentDB senza costi aggiuntivi. Non è necessario alcun intervento aggiuntivo dell'utente per assicurarsi che il cluster sia configurato per ottenere prestazioni ottimali. Il risultato è un aumento delle prestazioni di 12 volte senza costi aggiuntivi.

In precedenza, un passaggio da 5.000 operazioni di I/O al secondo a 20.000 operazioni di I/O al secondo richiedeva un aumento delle dimensioni del disco da 1 TB a 20 TB, anche in assenza di esigenze di archiviazione più elevate. Con SSD Premium v2, è possibile ottenere 20.000 operazioni di I/O al secondo sullo stesso disco da 1 TB, purché il livello di calcolo del cluster abbia la capacità di eseguire il push e gestire 20.000 operazioni di I/O al secondo. Inoltre, i dischi SSD Premium v2 possono supportare fino a 80.000 operazioni di I/O al secondo, con un aumento di 4 volte rispetto all'unità SSD Premium.

Guidance

Le prestazioni maximum per il cluster documentDB Azure dipendono solo dal livello compute e non dalla dimensione di archiviazione. Per iniziare, scegliere solo le dimensioni di archiviazione desiderate per il cluster, quindi selezionare un livello di calcolo che fornisca le operazioni di I/O al secondo e la velocità effettiva (MBps) necessarie per il carico di lavoro. Di seguito sono elencati i limiti di IOPS e larghezza di banda più elevati e sostenibili per ogni livello di calcolo.

** Limiti di operazioni di I/O al secondo e capacità di trasmissione dati

Con i dischi SSD Premium v2, il cluster verrà configurato automaticamente con i valori limite superiore indicati di seguito, senza costi aggiuntivi.

Livello di calcolo Numero massimo di operazioni di I/O al secondo Larghezza di banda massima (MBps)
M30 (2 nucleo) 3.750 85
M40 (4 nuclei) 6.400 145
M50 (8 nuclei) 12.800 290
M60 (16 core) 25.600 600
M80 (32 core) 51.200 865
M200 (64 core) 80,000 1,200

Prerequisiti

  • Una sottoscrizione di Azure

  • Un cluster esistente di DocumentDB di Azure

Creare un cluster con archiviazione ad alte prestazioni

Configurare un cluster usando l'archiviazione ad alte prestazioni SSD Premium v2 come parte del passaggio di creazione del cluster.

  1. Accedere al portale di Azure (https://portal.azure.com).

  2. Nel menu del portale di Azure o nella pagina Home selezionare Crea una risorsa.

  3. Nella pagina Nuovo cercare e selezionare Azure DocumentDB.

    Screenshot della funzionalità di ricerca del portale di Azure per individuare Azure DocumentDB.

  4. Nella pagina Creare il cluster Azure DocumentDB e all'interno della sezione Nozioni di base, selezionare l'opzione Configura nella sezione livello Cluster.

    Screenshot delle opzioni disponibili per configurare un cluster di Azure DocumentDB.

  5. Nella pagina Configura scegliere il livello cluster e le dimensioni di archiviazione in base alle esigenze. Selezionare il tipo di archiviazione come SSD Premium v2 per abilitare l'archiviazione ad alte prestazioni, quindi selezionare Salva per applicare le modifiche.

    Screenshot dell'opzione di configurazione specifica per i dischi SSD Premium v2 in Azure DocumentDB.

  6. Compilare i dettagli rimanenti e quindi selezionare Rivedi e crea.

  7. Rivedere le impostazioni specificate e quindi selezionare Crea. La creazione del cluster richiede alcuni minuti. Attendere il completamento della distribuzione delle risorse.

  8. Infine, selezionare Vai alla risorsa per passare al cluster Azure DocumentDB nel portale.

Screenshot del passaggio di completamento della distribuzione con un'opzione per passare al nuovo cluster Azure DocumentDB.

  1. Aprire un nuovo terminale.

  2. Accedi alla CLI di Azure.

  3. Creare un nuovo file Bicep per definire la definizione del ruolo. Assegnare al file il nome main.bicep.

  4. Aggiungere questo modello al contenuto del file. Sostituire i segnaposto <cluster-name>, <location>, <username> e <password> con i valori appropriati.

    resource cluster 'Microsoft.DocumentDB/mongoClusters@2025-09-01' = {
      name: '<cluster-name>'
      location: '<location>'
      properties: {
        administrator: {
          userName: '<username>'
          password: '<password>'
        }
        serverVersion: '8.0'
        storage: {
          sizeGb: 32
          type: 'PremiumSSDv2'
        }
        compute: {
          tier: 'M30'
        }
        sharding: {
          shardCount: 1
        }
        highAvailability: {
          targetMode: 'Disabled'
        }
      }
    }
    
  5. Distribuire il modello Bicep usando az deployment group create. Specificare il nome del modello Bicep e sostituire il <resource-group> segnaposto con il nome del gruppo di risorse di Azure di destinazione.

    az deployment group create \
        --resource-group "<resource-group>" \
        --template-file main.bicep
    
  6. Attendere il completamento della distribuzione. Esaminare l'output della distribuzione.

  1. Aprire un nuovo terminale.

  2. Accedi alla CLI di Azure.

  3. Verifica l'abbonamento Azure di destinazione.

    az account show
    
  4. Definire il cluster in un nuovo file Terraform. Denominare il file cluster.tf.

  5. Aggiungere questa configurazione della risorsa al contenuto del file. Sostituire i segnaposto <cluster-name>, <resource-group> e <location> con i valori appropriati.

    variable "admin_username" {
      type        = string
      description = "Administrator username for the cluster."
      sensitive   = true
    }
    
    variable "admin_password" {
      type        = string
      description = "Administrator password for the cluster."
      sensitive   = true
    }
    
    terraform {
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~> 4.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
    data "azurerm_resource_group" "existing" {
      name = "<resource-group>"
    }
    
    resource "azurerm_mongo_cluster" "cluster" {
      name                   = "<cluster-name>"
      resource_group_name    = data.azurerm_resource_group.existing.name
      location               = "<location>"
      administrator_username = var.admin_username
      administrator_password = var.admin_password
      shard_count            = "1"
      compute_tier           = "M30"
      high_availability_mode = "Disabled"
      storage_size_in_gb     = "32"
      storage_type           = "PremiumSSDv2"
      version                = "8.0"
    }
    

    Suggerimento

    Per ulteriori informazioni sulle opzioni che utilizzano la risorsa, consultare la documentazione del provider nel Terraform Registry.

  6. Avviare la distribuzione di Terraform.

    terraform init --upgrade
    
  7. Creare un piano di esecuzione e salvarlo in un file denominato cluster.tfplan. Specificare i valori quando richiesto per le admin_username variabili e admin_password .

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform plan --out "cluster.tfplan"
    

    Annotazioni

    Questo comando imposta temporaneamente la ARM_SUBSCRIPTION_ID variabile di ambiente. Questa impostazione è necessaria per il azurerm provider a partire dalla versione 4.0 Per altre informazioni, vedere ID sottoscrizione in azurerm.

  8. Applicare il piano di esecuzione per distribuire il cluster in Azure.

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform apply "cluster.tfplan"
    
  9. Attendere il completamento della distribuzione. Esaminare l'output della distribuzione.

  1. Aprire un nuovo terminale.

  2. Accedi alla CLI di Azure.

  3. Creare un nuovo file JSON denominato cluster.json.

  4. Aggiungere questo documento al contenuto del file. Sostituire i segnaposto <location>, <username> e <password> con i valori appropriati.

    {
      "location": "<location>",
      "properties": {
        "administrator": {
          "userName": "<username>",
          "password": "<password>"
        },
        "serverVersion": "8.0",
        "storage": {
          "sizeGb": 32,
          "type": "PremiumSSDv2"
        },
        "compute": {
          "tier": "M30"
        },
        "sharding": {
          "shardCount": 1
        },
        "highAvailability": {
          "targetMode": "Disabled"
        }
      }
    }
    
  5. Utilizzare il comando az rest CLI di Azure per creare un nuovo cluster con la configurazione specificata nel file JSON. Specificare il nome del file JSON come body della richiesta e sostituire i segnaposto seguenti:

    Description
    <subscription-id> Identificatore univoco della specifica sottoscrizione di Azure di destinazione
    <resource-group> Nome del gruppo di risorse Azure di destinazione
    <cluster-name> Nome univoco del nuovo cluster Di Azure DocumentDB
    az rest \
        --method "GET" \
        --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>/users?api-version=2025-09-01" \
        --body @cluster.json
    

    Suggerimento

    Usa az account show per ottenere l'identificatore univoco della sottoscrizione Azure di destinazione.

  6. Attendere il completamento della distribuzione. Esaminare l'output della distribuzione.

Limitazioni correnti dell'archiviazione ad alte prestazioni (archiviazione SSD Premium v2)

  • Le chiavi gestite dal cliente (CMK) non sono supportate con l'archiviazione SSD Premium v2.

  • Le impostazioni di capacità di archiviazione nei dischi SSD Premium v2 possono essere modificate fino a quattro volte entro un periodo di 24 ore. Per i cluster appena creati, è possibile apportare un massimo di tre modifiche alla capacità di archiviazione durante le prime 24 ore. 

  • La replica da SSD Premium a SSD Premium v2 è supportata solo per gli scenari di migrazione. La replica in corso non è supportata perché l'unità SSD Premium non può corrispondere alle prestazioni di SSD Premium v2 e può comportare una latenza più elevata.

  • La migrazione online da SSD Premium a SSD Premium v2 non è attualmente supportata. Per eseguire l'aggiornamento da SSD Premium a SSD Premium V2, è possibile eseguire un ripristino temporizzato in un nuovo server usando SSD Premium v2. In alternativa, è possibile creare una replica in lettura da un server SSD Premium a un server SSD Premium v2 e alzarla di livello al termine della replica.

  • Se si esegue un'operazione che richiede l'idratazione del disco, potrebbe verificarsi l'errore seguente. Questo errore si verifica perché i dischi SSD Premium v2 non supportano alcuna operazione mentre il disco è ancora idratato.

    • Messaggio di errore: impossibile completare l'operazione perché il disco è ancora idratato. Ripetere l'operazione in un secondo momento.
    • Le operazioni che possono attivare questo comportamento includono:
      • Esecuzione del ridimensionamento del calcolo, scalabilità dell'archiviazione, abilitazione della disponibilità elevata (HA) in rapida successione.
      • Sono inclusi anche i failover attivati dal servizio per garantire la disponibilità elevata.
      • Uso di PITR (ripristino temporizzato) per creare un nuovo cluster e abilitare immediatamente la disponibilità elevata mentre il disco è ancora idratato.
    • Come procedura consigliata, quando si utilizzano dischi SSD Premium v2, è importante distanziare queste operazioni o completarle in sequenza, assicurandosi che l'idratazione del disco sia terminata tra un'azione e l'altra.