Przechowywanie o wysokiej wydajności w Azure DocumentDB

Azure DocumentDB używa dysków Premium SSD v2 aby zapewnić znacznie wyższą wydajność dla obciążeń intensywnie korzystających z operacji I/O, poprzez oddzielenie pojemności magazynu od ustawień IOPS i przepustowości.

W usłudze Azure DocumentDB, w przypadku magazynu Premium SSD w wersji 2, maksymalne konfigurowalne ustawienia IOPS i przepustowości są domyślnie dostępne, niezależnie od skonfigurowanej pojemności magazynu dla klastra. Liczba operacji we/wy na sekundę i przepustowość warstwy obliczeniowej określa osiągalną liczbę operacji we/wy na sekundę i przepustowość w warstwie magazynu bez konieczności skalowania pojemności magazynu.

Należy wybrać tylko wymaganą pojemność magazynu, natomiast największa osiągalna liczba operacji we/wy na sekundę i przepustowość są konfigurowane automatycznie przez usługę Azure DocumentDB bez dodatkowych kosztów. W celu zapewnienia optymalnej wydajności klastra nie jest wymagana żadna dodatkowa interwencja użytkownika. Wynikiem jest 12-krotny wzrost wydajności bez dodatkowych kosztów.

Wcześniej skok z 5000 operacji we/wy na sekundę do 20 000 operacji we/wy na sekundę wymagał zwiększenia rozmiaru dysku z 1 TB do 20 TB, nawet w przypadku braku wyższych potrzeb związanych z magazynem. W przypadku dysków SSD Premium w wersji 2 można osiągnąć 20 000 operacji we/wy na sekundę na tym samym 1TB dysku, o ile warstwa obliczeniowa klastra ma zdolność przetwarzania i utrzymania 20 000 operacji we/wy na sekundę. Ponadto dyski Premium SSD w wersji 2 mogą obsługiwać do 80 000 operacji we/wy na sekundę — co stanowi 4-krotny wzrost w porównaniu do dysków SSD w warstwie Premium.

Guidance

Wydajność maksymalna dla klastra usługi Azure DocumentDB jest teraz zależna tylko od warstwy obliczeniowej, a nie rozmiaru magazynu. Zacznij od wybrania odpowiedniego rozmiaru magazynu wymaganego dla klastra, a następnie wybierz warstwę obliczeniową, która zapewnia wymaganą (IOPS) i przepływność (MB/s) dla obciążenia. Na poniższej tabeli przedstawiono najwyższe osiągalne i stabilne limity liczby operacji we/wy na sekundę oraz przepustowości na warstwę obliczeniową.

IOPS i ograniczenia przepływności

W przypadku dysków Premium SSD w wersji 2 klaster będzie automatycznie skonfigurowany zgodnie z wartościami maksymalnymi przedstawionymi poniżej, bez dodatkowych kosztów.

Poziom obliczeniowy Maksymalne IOPS Maksymalna przepustowość (MB/s)
M30 (2 rdzenie) 3,750 85
M40 (4 rdzenie) 6,400 145
M50 (8 rdzeni) 12,800 290
M60 (16 rdzeni) 25,600 600
M80 (32 rdzenie) 51 200 865
M200 (64 rdzenie) 80,000 1,200

Prerequisites

  • Subskrypcja platformy Azure

  • Istniejący klaster usługi Azure DocumentDB

Utwórz klaster z magazynem o wysokiej wydajności

Skonfiguruj klaster przy użyciu magazynu Premium SSD v2 (wysoka wydajność) w ramach kroku tworzenia klastra.

  1. Zaloguj się do portalu Azure (https://portal.azure.com).

  2. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Utwórz zasób.

  3. Na stronie New wyszukaj i wybierz Azure DocumentDB.

    Zrzut ekranu przedstawiający funkcję wyszukiwania w witrynie Azure Portal w celu zlokalizowania usługi Azure DocumentDB.

  4. Na stronie Tworzenie klastra usługi Azure DocumentDB i w sekcji Podstawy wybierz opcję Konfiguruj w sekcji Warstwa klastra .

     Zrzut ekranu przedstawiający opcje dostępne do skonfigurowania klastra Azure DocumentDB.

  5. Na stronie Konfigurowanie wybierz warstwę klastra i rozmiar magazynu zgodnie z potrzebami. Wybierz typ magazynu jako Premium SSD v2, aby włączyć wysokowydajny magazyn, a następnie wybierz Zapisz, aby zastosować zmiany.

    Zrzut ekranu przedstawiający opcję konfiguracji specyficzną dla dysków SSD w wersji 2 w warstwie Premium w usłudze Azure DocumentDB.

  6. Wypełnij pozostałe szczegóły, a następnie wybierz pozycję Przejrzyj i utwórz.

  7. Przejrzyj ustawienia, które podałeś, a następnie wybierz Utwórz. Utworzenie klastra trwa kilka minut. Poczekaj na zakończenie wdrażania zasobów.

  8. Na koniec wybierz pozycję Przejdź do zasobu , aby przejść do klastra usługi Azure DocumentDB w portalu.

 Zrzut ekranu przedstawiający krok ukończenia wdrożenia z opcją przejścia do nowego klastra Azure DocumentDB.

  1. Otwórz nowy terminal.

  2. Zaloguj się do Azure CLI.

  3. Utwórz nowy plik Bicep, aby zdefiniować definicję roli. Nadaj plikowi nazwę main.bicep.

  4. Dodaj ten szablon do zawartości pliku. ** Zastąp symbole zastępcze <cluster-name>, <location>, <username> i <password> odpowiednimi wartościami.

    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. Wdróż szablon Bicep za pomocą az deployment group create. Określ nazwę szablonu Bicep i zastąp symbol zastępczy <resource-group> nazwą docelowej grupy zasobów Azure.

    az deployment group create \
        --resource-group "<resource-group>" \
        --template-file main.bicep
    
  6. Poczekaj na zakończenie wdrożenia. Przejrzyj dane wyjściowe z wdrożenia.

  1. Otwórz nowy terminal.

  2. Zaloguj się do Azure CLI.

  3. Sprawdź docelową subskrypcję platformy Azure.

    az account show
    
  4. Zdefiniuj klaster w nowym pliku programu Terraform. Nadaj plikowi nazwę cluster.tf.

  5. Dodaj tę konfigurację zasobu do zawartości pliku. Zastąp symbole zastępcze <cluster-name>, <resource-group> i <location> odpowiednimi wartościami.

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

    Wskazówka

    Aby uzyskać więcej informacji na temat opcji przy użyciu azurerm_mongo_cluster zasobu, zobacz azurerm dokumentację dostawcy w usłudze Terraform Registry.

  6. Zainicjuj wdrożenie programu Terraform.

    terraform init --upgrade
    
  7. Utwórz plan wykonania i zapisz go w pliku o nazwie cluster.tfplan. Podaj wartości, gdy zostaniesz poproszony o zmienne admin_username i admin_password.

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

    Uwaga / Notatka

    To polecenie tymczasowo ustawia zmienną ARM_SUBSCRIPTION_ID środowiskową. To ustawienie jest wymagane dla dostawcy azurerm począwszy od wersji 4.0. Aby uzyskać więcej informacji, zobacz identyfikator subskrypcji w programie azurerm.

  8. Zastosuj plan wykonywania, aby wdrożyć klaster na platformie Azure.

    ARM_SUBSCRIPTION_ID=$(az account show --query id --output tsv) terraform apply "cluster.tfplan"
    
  9. Poczekaj na zakończenie wdrożenia. Przejrzyj dane wyjściowe z wdrożenia.

  1. Otwórz nowy terminal.

  2. Zaloguj się do Azure CLI.

  3. Utwórz nowy plik JSON o nazwie cluster.json.

  4. Dodaj ten dokument do zawartości pliku. Zastąp symbole zastępcze <location>, <username> i <password> odpowiednimi wartościami.

    {
      "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. Użyj polecenia az rest Azure CLI, aby utworzyć nowy klaster z konfiguracją określoną w pliku JSON. Określ nazwę pliku JSON jako body żądania i zastąp następujące symbole zastępcze:

    Description
    <subscription-id> Unikatowy identyfikator docelowej subskrypcji platformy Azure
    <resource-group> Nazwa docelowej grupy zasobów platformy Azure
    <cluster-name> Unikatowa nazwa nowego klastra usługi 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
    

    Wskazówka

    Użyj az account show, aby uzyskać unikatowy identyfikator subskrypcji Azure docelowej.

  6. Poczekaj na zakończenie wdrożenia. Przejrzyj dane wyjściowe z wdrożenia.

Bieżące ograniczenia pamięci masowej o wysokiej wydajności (pamięć masowa SSD w wersji 2 w warstwie Premium)

  • Klucze zarządzane przez klienta (CMK) nie są obsługiwane w pamięci Premium SSD v2.

  • Ustawienia pojemności magazynu na dyskach SSD w wersji 2 w warstwie Premium można dostosować do czterech razy w okresie 24-godzinnym. W przypadku nowo utworzonych klastrów można wprowadzić maksymalnie trzy korekty pojemności magazynu w ciągu pierwszych 24 godzin. 

  • Replikacja z dysku SSD w warstwie Premium do dysku SSD w warstwie Premium w wersji 2 jest obsługiwana tylko w przypadku scenariuszy migracji. Ciągła replikacja nie jest obsługiwana, ponieważ Premium SSD nie może dorównać wydajności Premium SSD v2, co może skutkować większymi opóźnieniami.

  • Migracja online z dysku SSD w warstwie Premium do dysku SSD w warstwie Premium w wersji 2 nie jest obecnie obsługiwana. Aby uaktualnić dysk SSD Premium do dysku SSD Premium V2, możesz wykonać przywracanie do punktu w czasie na nowym serwerze używając dysku SSD Premium V2. Alternatywnie można utworzyć replikę do odczytu z serwera Premium SSD na serwer Premium SSD w wersji 2 i promować ją po zakończeniu replikacji.

  • Jeśli wykonasz dowolną operację, która wymaga nawodnienia dysku, może wystąpić następujący błąd. Ten błąd występuje, ponieważ dyski SSD w wersji 2 w warstwie Premium nie obsługują żadnej operacji, gdy dysk nadal się nawilża.

    • Komunikat o błędzie: Nie można ukończyć operacji, ponieważ dysk jest nadal nawodniony. Spróbuj ponownie po chwili.
    • Operacje, które mogą wyzwalać to zachowanie, obejmują:
      • Wykonywanie skalowania zasobów obliczeniowych, skalowania magazynu, włączanie wysokiej dostępności (HA) w krótkim odstępie czasu.
      • Obejmuje to również przełączanie awaryjne uruchamiane przez usługę w celu zapewnienia wysokiej dostępności.
      • Użycie przywracania do punktu w czasie (PITR) w celu utworzenia nowego klastra i natychmiastowego włączenia wysokiej dostępności, gdy dysk jest nadal w procesie nawadniania danych.
    • Jako najlepszą praktykę, podczas korzystania z dysków Premium SSD v2, należy rozłożyć w czasie te operacje lub wykonać je sekwencyjnie, aby zapewnić, że nawadnianie dysku kończy się pomiędzy działaniami.