Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara oraQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
SI APPLICA A: NoSQL MongoDB
L'unione di partizioni in Azure Cosmos DB (anteprima) consente di ridurre il numero di partizioni fisiche usate per il contenitore. Con l'unione, i contenitori frammentati nella velocità effettiva (con ur/sec ridotto per partizione) o l'archiviazione (con spazio di archiviazione ridotto per partizione) possono avere le partizioni fisiche rielaborate.With merge, containers that are fragmented in throughput (have low UR/s per partition) or storage (have low storage per partition) can have their physical partitions reworked. Se la velocità effettiva di un contenitore è stata ridimensionata e deve essere ridotta, l'unione può aiutare a risolvere i problemi di frammentazione della velocità effettiva. Per la stessa quantità di UR/sec di cui è stato effettuato il provisioning, la presenza di meno partizioni fisiche significa che ogni partizione fisica ottiene più ur/sec complessive. Ridurre al minimo le partizioni riduce la probabilità di limitare la frequenza se una grande quantità di dati viene rimossa da un contenitore e le UR/sec per partizione sono basse. L'unione consente di cancellare le partizioni inutilizzate o vuote, risolvendo in modo efficace i problemi di frammentazione dell'archiviazione.
Per iniziare a usare l'unione di partizioni, passare alla pagina Funzionalità nell'account Azure Cosmos DB. Selezionare e abilitare la funzionalità Unione partizione (anteprima).
Prima di abilitare la funzionalità, verificare che gli account Azure Cosmos DB soddisfino tutti i criteri di idoneità dell'anteprima. Dopo aver abilitato la funzionalità, l'applicazione richiede 15-20 minuti.
Attenzione
Quando l'unione è abilitata in un account, solo le richieste da .NET SDK versione >= 3.27.0 o Java SDK >= 4.42.0 o connettore Spark di Azure Cosmos DB = 4.18.0 saranno consentite >nell'account, indipendentemente dal fatto che le operazioni di unione siano in corso o meno. Le richieste da altri SDK (versioni precedenti di .NET SDK, Java SDK meno recenti, JavaScript SDK, qualsiasi SDK Python, qualsiasi SDK Go) o connettori non supportati (Azure Data Factory, Ricerca di Azure, Funzioni di Azure extension <= 3.x, Azure Stream Analitica e altri) verranno bloccate e non riuscite. Assicurarsi di aver eseguito l'aggiornamento a una versione dell'SDK supportata prima di abilitare la funzionalità. Dopo aver abilitato o disabilitato la funzionalità, potrebbero essere necessari 15-20 minuti per propagarsi completamente all'account. Se si prevede di disabilitare la funzionalità quando non viene più usata, possono essere necessari 15-20 minuti prima che siano consentite richieste di SDK e connettori non supportati per l'unione.
Per verificare se un account Azure Cosmos DB è abilitato per l'anteprima, è possibile usare lo strumento di controllo dell'idoneità predefinito nel portale di Azure. Nella pagina di panoramica dell'account Azure Cosmos DB nella portale di Azure passare a Diagnostica e risoluzione dei problemi ->Velocità effettiva e Ridimensionamento ->Unione partizione. Eseguire la diagnostica Verifica idoneità per l'anteprima unione partizioni.
I contenitori che soddisfano entrambe queste condizioni possono trarre vantaggio dall'unione di partizioni:
La condizione 1 si verifica spesso quando è stata precedentemente ridimensionata l'UR/s (spesso per un inserimento di dati) e ora si vuole ridurre lo stato stabile. La condizione 2 si verifica spesso quando si elimina/TTL un volume elevato di dati, lasciando partizioni inutilizzate.
Per determinare le UR/sec correnti per partizione fisica, dall'account Cosmos passare a Metriche. Selezionare la metrica Velocità effettiva partizione fisica e filtrare il database e il contenitore. Applicare la suddivisione per PhysicalPartitionId.
Per i contenitori che usano la scalabilità automatica, questa metrica mostra il provisioning massimo di UR/s in ogni partizione fisica. Per i contenitori che usano la velocità effettiva manuale, questa metrica mostra le UR/sec manuali in ogni partizione fisica.
Nell'esempio seguente è disponibile un contenitore di scalabilità automatica di cui è stato effettuato il provisioning con 5000 UR/sec (scalabilità compresa tra 500 e 5000 UR/sec). Ha cinque partizioni fisiche e ogni partizione fisica ha 1000 UR/s.
Per determinare l'archiviazione media corrente per partizione fisica, trovare prima di tutto l'archiviazione complessiva (dati e indice) del contenitore.
Passare a Insights Storage Data & Index Usage (Dati di archiviazione>e utilizzo indice).> L'archiviazione totale è la somma dei dati e dell'utilizzo dell'indice. Nell'esempio seguente il contenitore ha un totale di 74 GB di spazio di archiviazione.
Trovare quindi il numero totale di partizioni fisiche. Questa metrica è il numero distinto di PhysicalPartitionIds nel grafico PhysicalPartitionThroughput visualizzato nella condizione 1. Nell'esempio sono presenti cinque partizioni fisiche.
Infine, calcolare: spazio di archiviazione totale in GB/numero di partizioni fisiche. Nell'esempio è presente una media di (74 GB/cinque partizioni fisiche) = 14,8 GB per partizione fisica.
In base alle condizioni 1 e 2, il contenitore può trarre vantaggio dall'unione di partizioni.
In PowerShell, quando il flag -WhatIf
viene passato, Azure Cosmos DB esegue una simulazione e restituisce il risultato previsto dell'unione. Questo risultato viene restituito nonostante l'unione non sia in esecuzione. Quando il flag non viene passato, l'unione viene eseguita sulla risorsa. Al termine, il comando restituisce la quantità corrente di spazio di archiviazione in KB per partizione fisica dopo l'unione.
Suggerimento
Prima di eseguire un'unione, è consigliabile impostare le UR/sec di cui è stato effettuato il provisioning (UR/s manuale o numero massimo di UR/sec) il più vicino possibile al successivo post-merge dello stato stabile desiderato, per garantire che il sistema calcoli un layout di partizione efficiente.
Usare Install-Module
per installare il modulo Az.CosmosDB con funzionalità non definitive abilitate.
$parameters = @{
Name = "Az.CosmosDB"
AllowPrerelease = $true
Force = $true
}
Install-Module @parameters
Per i contenitori di velocità effettiva di cui è stato effettuato il provisioning, usare Invoke-AzCosmosDBSqlContainerMerge
con il -WhatIf
parametro per visualizzare in anteprima l'unione senza eseguire effettivamente l'operazione.
$parameters = @{
ResourceGroupName = "<resource-group-name>"
AccountName = "<cosmos-account-name>"
DatabaseName = "<cosmos-database-name>"
Name = "<cosmos-container-name>"
WhatIf = $true
}
Invoke-AzCosmosDBSqlContainerMerge @parameters
Avviare l'unione eseguendo lo stesso comando senza il -WhatIf
parametro .
$parameters = @{
ResourceGroupName = "<resource-group-name>"
AccountName = "<cosmos-account-name>"
DatabaseName = "<cosmos-database-name>"
Name = "<cosmos-container-name>"
}
Invoke-AzCosmosDBSqlContainerMerge @parameters
Per i database con velocità effettiva condivisa, avviare l'unione usando az cosmosdb mongodb database merge
.
az cosmosdb mongodb database merge \
--account-name '<cosmos-account-name>'
--name '<cosmos-database-name>'
--resource-group '<resource-group-name>'
L'unione di partizioni è un'operazione a esecuzione prolungata e non esiste alcun contratto di servizio per quanto tempo è necessario per il completamento. Il tempo dipende dalla quantità di dati nel contenitore e dal numero di partizioni fisiche. È consigliabile consentire il completamento dell'unione almeno 5-6 ore.
Mentre l'unione delle partizioni è in esecuzione nel contenitore, se si modificano le impostazioni del contenitore (TTL, criteri di indicizzazione, chiavi univoci e così via), l'operazione di unione in corso verrà annullata. Se si aumentano le UR/sec durante l'esecuzione di un'unione, l'operazione di unione in corso verrà annullata e le UR/sec del contenitore verranno aggiornate con il nuovo valore. A seconda delle UR/sec richieste, la scalabilità orizzontale potrebbe richiedere più tempo. Se si riducono le UR/sec durante l'esecuzione di un'unione, le UR/sec verranno immediatamente aggiornate alle nuove UR/sec. L'unione in corso continuerà, con lo stesso numero di partizioni di destinazione in base alle UR/s impostate al momento dell'attivazione dell'unione. Come procedura consigliata, è consigliabile attendere il completamento dell'operazione di merge prima di modificare le impostazioni del contenitore o della velocità effettiva.
È possibile verificare se il merge è ancora in corso controllando il log attività e filtrando gli eventi Unisci le partizioni fisiche di una raccolta di MongoDB o Unisci le partizioni fisiche di un contenitore SQL.
Di seguito sono riportate le limitazioni della funzionalità di unione in questo momento.
Per eseguire la registrazione nell'anteprima, l'account Azure Cosmos DB deve soddisfare tutti i criteri seguenti:
Gli account con la funzionalità di unione abilitata sono supportati solo quando si usa la versione più recente di .NET v3 SDK o Java v4 SDK. Quando la funzionalità è abilitata nell'account (indipendentemente dal fatto che si esegua l'unione), è necessario usare solo l'SDK supportato usando l'account . Le richieste inviate da altri SDK o versioni precedenti non vengono accettate. Se si usa l'SDK supportato, l'applicazione può continuare a essere eseguita mentre è in corso un'unione.
Trovare la versione più recente dell'SDK supportato:
SDK | Versioni supportate | Collegamento di Gestione pacchetti |
---|---|---|
.NET SDK v3 | >= 3.27.0 | https://www.nuget.org/packages/Microsoft.Azure.Cosmos |
Java SDK v4 | >= 4.42.0 | https://mvnrepository.com/artifact/com.azure/azure-cosmos |
In futuro si prevede di implementare il supporto per altri SDK.
Suggerimento
Prima di effettuare la registrazione nell'anteprima, assicurarsi che l'applicazione sia stata aggiornata in modo da usare una versione compatibile dell'SDK. Se si usa un SDK legacy, seguire la guida alla migrazione appropriata:
Se si esegue la registrazione nell'anteprima, i connettori seguenti hanno esito negativo.
Il supporto di questi connettori è previsto per il futuro.
Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara ora