Leistungsstarker Speicher in Azure DocumentDB

Azure DocumentDB verwendet Premium SSD v2 Datenträger, um eine deutlich höhere Leistung für E/O-intensive Workloads zu erzielen, indem die Speicherkapazität von IOPS und Bandbreiteneinstellungen getrennt wird.

Mit Premium SSD v2-Speicher auf Azure DocumentDB sind die maximalen konfigurierbaren IOPS- und Bandbreiteneinstellungen standardmäßig verfügbar, unabhängig von der für den Cluster konfigurierten Speicherkapazität. Die IOPS- und Bandbreitenkapazität der Computeebene bestimmt die erreichbare IOPS und Bandbreite auf der Speicherebene, ohne dass die Speicherkapazität skaliert werden muss.

Es muss nur die erforderliche Speicherkapazität ausgewählt werden, während die höchste erreichbare IOPS und Bandbreite automatisch von Azure DocumentDB konfiguriert werden, ohne zusätzliche Kosten. Es ist kein zusätzlicher Benutzereingriff erforderlich, um sicherzustellen, dass der Cluster für eine optimale Leistung eingerichtet ist. Das Ergebnis ist eine 12x Leistungssteigerung ohne zusätzliche Kosten.

Zuvor war ein Sprung von 5.000 IOPS auf 20.000 IOPS erforderlich, um die Größe des Datenträgers von 1 TB auf 20 TB zu erhöhen, auch wenn höhere Speicheranforderungen fehlen. Mit Premium SSD v2 können 20.000 IOPS auf demselben 1 TB-Datenträger erreicht werden, solange die Computeebene des Clusters die Kapazität hat, 20.000 IOPS zu übertragen und aufrechtzuerhalten. Darüber hinaus können Premium SSD v2-Datenträger bis zu 80.000 IOPS unterstützen – eine 4x-Erhöhung über Premium SSD.

Leitlinien

Die maximum-Leistung für Ihren Azure DocumentDB-Cluster ist jetzt nur von der compute tier und nicht von der Speichergröße abhängig. Wählen Sie zunächst nur die gewünschte Speichergröße für den Cluster aus, und wählen Sie dann eine Computeebene aus, die die erforderliche (IOPS) und den Durchsatz (MBps) für Ihre Workload bereitstellt. In der folgenden Tabelle sind die höchsten erreichbaren und nachhaltigen IOPS- und Bandbreitengrenzen pro Compute-Tier aufgeführt.

IOPS und Durchsatzgrenzen

Bei Premium SSD v2-Datenträgern wird der Cluster automatisch mit den unten tabulierten oberen Begrenzungswerten konfiguriert, ohne dass zusätzliche Kosten anfallen.

Rechenebene Max. IOPS Maximale Bandbreite (MBps)
M30 (2 Kern) 3,750 85
M40 (4 Kern) 6\.400 145
M50 (8 Kern) 12.800 290
M60 (16 Kern) 25.600 600
M80 (32 Kern) 51.200 865
M200 (64 Kern) 80.000 1\.200

Prerequisites

  • Ein Azure-Abonnement

    • Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto
  • Ein vorhandener Azure DocumentDB-Cluster

    • Wenn Sie keinen Cluster haben, erstellen Sie einen neuen Cluster.

Erstellen eines Clusters mit hochleistungsreichem Speicher

Konfigurieren Sie einen Cluster im Rahmen des Clustererstellungsschritts mit Premium SSD v2 (high performance) Speicher.

  1. Melden Sie sich beim Azure-Portal an (https://portal.azure.com).

  2. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.

  3. Suchen Sie auf der Seite "Neu" nach Azure DocumentDB, und wählen Sie sie aus.

    Screenshot der Suchfunktion des Azure-Portals, um Azure DocumentDB zu finden.

  4. Auf der Seite Create Azure DocumentDB-Cluster und im Abschnitt Grundlagen, wählen Sie die Option Konfigurieren im Abschnitt Clusterebene aus.

    Screenshot der verfügbaren Optionen zum Konfigurieren eines Azure DocumentDB-Clusters.

  5. Wählen Sie auf der Seite "Konfigurieren" die Clusterebene und die Speichergröße nach Bedarf aus. Wählen Sie den Speichertyp als Premium SSD v2 aus, um hochleistungsfähigen Speicher zu aktivieren, und wählen Sie dann "Speichern" aus, um die Änderungen anzuwenden.

    Screenshot der Konfigurationsoption speziell für Premium-SSD v2-Datenträger in Azure DocumentDB.

  6. Füllen Sie die restlichen Details aus, und wählen Sie dann "Überprüfen+ erstellen" aus.

  7. Überprüfen Sie die von Ihnen angegebenen Einstellungen, und wählen Sie dann Erstellen aus. Die Erstellung des Clusters dauert einige Minuten. Warten Sie, bis die Ressourcenbereitstellung abgeschlossen ist.

  8. Wählen Sie schließlich Go to resource aus, um zum Azure DocumentDB-Cluster im Portal zu navigieren.

Screenshot des Bereitstellungsabschlussschritts mit einer Option zum Navigieren zum neuen Azure DocumentDB-Cluster.

  1. Öffnen Sie ein neues Terminal.

  2. Melden Sie sich bei Azure CLI an.

  3. Erstellen Sie eine neue Bicep-Datei, um Ihre Rollendefinition zu definieren. Nennen Sie die Datei "main.bicep".

  4. Fügen Sie diese Vorlage dem Inhalt der Datei hinzu. Ersetzen Sie die <cluster-name>, <location>, <username>und <password> Platzhalter durch die entsprechenden Werte.

    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. Stellen Sie das Bicep-Template mithilfe von az deployment group create bereit. Geben Sie den Namen der Bicep-Vorlage an, und ersetzen Sie den <resource-group> Platzhalter durch den Namen Ihrer Azure-Zielressourcengruppe.

    az deployment group create \
        --resource-group "<resource-group>" \
        --template-file main.bicep
    
  6. Warten Sie, bis die Bereitstellung abgeschlossen ist. Überprüfen Sie die Ausgabe der Bereitstellung.

  1. Öffnen Sie ein neues Terminal.

  2. Melden Sie sich bei Azure CLI an.

  3. Überprüfen Sie Ihr Zielabonnement in Azure.

    az account show
    
  4. Definieren Sie Ihren Cluster in einer neuen Terraform-Datei. Benennen Sie den Dateicluster.tf

  5. Fügen Sie diese Ressourcenkonfiguration dem Inhalt der Datei hinzu. Ersetzen Sie die Platzhalter <cluster-name>, <resource-group> und <location> durch die entsprechenden Werte.

    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"
    }
    

    Tip

    Weitere Informationen zu den Optionen der azurerm_mongo_cluster Ressource finden Sie in der azurerm im Terraform Registry.

  6. Initialisieren Sie die Terraform-Bereitstellung.

    terraform init --upgrade
    
  7. Erstellen Sie einen Ausführungsplan, und speichern Sie ihn in einer Datei namens "cluster.tfplan". Geben Sie Werte für die Variablen admin_username und admin_password ein, wenn Sie dazu aufgefordert werden.

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

    Note

    Mit diesem Befehl wird die ARM_SUBSCRIPTION_ID Umgebungsvariable vorübergehend festgelegt. Diese Einstellung ist für den azurerm Anbieter ab Version 4.0 erforderlich. Weitere Informationen finden Sie unter "Abonnement-ID" in azurerm.

  8. Wenden Sie den Ausführungsplan an, um den Cluster auf Azure bereitzustellen.

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform apply "cluster.tfplan"
    
  9. Warten Sie, bis die Bereitstellung abgeschlossen ist. Überprüfen Sie die Ausgabe der Bereitstellung.

  1. Öffnen Sie ein neues Terminal.

  2. Melden Sie sich bei Azure CLI an.

  3. Erstellen Sie eine neue JSON-Datei mit dem Namen cluster.json.

  4. Fügen Sie dieses Dokument dem Inhalt der Datei hinzu. Ersetzen Sie die Platzhalter <location>, <username> und <password> durch die entsprechenden Werte.

    {
      "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. Verwenden Sie den az rest Azure CLI-Befehl, um einen neuen Cluster mit der in der JSON-Datei angegebenen Konfiguration zu erstellen. Geben Sie den Namen der JSON-Datei als Anforderung body an, und ersetzen Sie die folgenden Platzhalter:

    Description
    <subscription-id> Der eindeutige Bezeichner Ihres Azure-Zielabonnements
    <resource-group> Der Name Ihrer Azure-Zielressourcengruppe
    <cluster-name> Der eindeutige Name Ihres neuen Azure DocumentDB-Clusters
    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
    

    Tip

    Verwenden Sie az account show, um den eindeutigen Bezeichner Ihres Azure-Zielabonnements abzurufen.

  6. Warten Sie, bis die Bereitstellung abgeschlossen ist. Überprüfen Sie die Ausgabe der Bereitstellung.

Aktuelle Einschränkungen des Hochleistungsspeichers (Premium SSD v2-Speicher)

  • Vom Kunden verwaltete Schlüssel (CMK) werden nicht mit Premium SSD v2-Speicher unterstützt.

  • Die Speicherkapazitätseinstellungen auf Premium SSD v2-Datenträgern können bis zu vier Mal innerhalb eines 24-Stunden-Zeitraums angepasst werden. Bei neu erstellten Clustern können in den ersten 24 Stunden maximal drei Anpassungen der Speicherkapazität vorgenommen werden. 

  • Die Replikation von Premium SSD zu Premium SSD v2 wird nur für Migrationsszenarien unterstützt. Die fortlaufende Replikation wird nicht unterstützt, da Premium SSD nicht mit der Leistung von Premium SSD v2 übereinstimmen kann und zu einer höheren Latenz führen kann.

  • Die Onlinemigration von Premium SSD zu Premium SSD v2 wird derzeit nicht unterstützt. Um ein Upgrade von Premium SSD auf Premium SSD V2 durchzuführen, können Sie eine Point-in-Time-Wiederherstellung auf einen neuen Server mit Premium SSD v2 durchführen. Alternativ können Sie ein Lesereplikat von einem Premium-SSD-Server auf einen Premium-SSD v2-Server erstellen und es hochstufen, sobald die Replikation abgeschlossen ist.

  • Wenn Sie einen Vorgang ausführen, für den Datenträgerhydratation erforderlich ist, kann der folgende Fehler auftreten. Dieser Fehler tritt auf, da Premium SSD v2-Datenträger keine Vorgänge unterstützen, während der Datenträger noch hydratisiert wird.

    • Fehlermeldung: Der Vorgang kann nicht abgeschlossen werden, da der Datenträger noch hydratisiert wird. Wiederholen Sie den Vorgang später.
    • Vorgänge, die dieses Verhalten auslösen können, umfassen:
      • Durchführen von Computeskalierung, Speicherskalierung und Aktivieren der hohen Verfügbarkeit (HA) in schneller Folge.
      • Dazu gehören auch vom Dienst ausgelöste Failovers, um eine hohe Verfügbarkeit zu gewährleisten.
      • Verwenden von PITR (Point-in-Time-Restore), um einen neuen Cluster zu erstellen und sofort hohe Verfügbarkeit zu ermöglichen, während der Datenträger noch hydratisiert wird.
    • Als bewährte Methode sollten Sie bei der Verwendung von Premium SSD v2-Datenträgern diese Vorgänge auseinander ziehen oder nacheinander ausführen, um sicherzustellen, dass die Datenträger zwischen den Aktionen fertig bereitgestellt sind.