Passaggi di ottimizzazione post-migrazione quando si usa l'API di Azure Cosmos DB per MongoDB

SI APPLICA A: Mongodb

Importante

Leggere l'intera guida prima di eseguire i passaggi successivi alla migrazione.

Questa guida alla post-migrazione di MongoDB fa parte della serie sulla migrazione di MongoDB. I passaggi critici per la migrazione di MongoDB sono pre-migrazione, migrazione e post-migrazione, come illustrato di seguito.

Diagramma dei passaggi della migrazione.

Panoramica della post-migrazione

Dopo aver eseguito la migrazione dei dati archiviati nel database MongoDB all'API per MongoDB di Azure Cosmos DB, è possibile connettersi ad Azure Cosmos DB e gestire i dati. Questa guida contiene la procedura da seguire dopo la migrazione. Per la procedura di migrazione, vedere l'esercitazione Eseguire la migrazione di MongoDB all'API di Azure Cosmos DB per MongoDB .

Seguire questa procedura per eseguire una post-migrazione

Nota

L'unico passaggio obbligatorio dopo la migrazione consiste nel modificare la stringa di connessione nell'applicazione in modo che punti al nuovo account Azure Cosmos DB. Tutti gli altri passaggi successivi alla migrazione sono ottimizzazioni consigliate per migliorare le prestazioni a livello di dati. Tuttavia, se si esegue immediatamente il cutover dell'applicazione senza gli altri passaggi, l'applicazione visualizzerà immediatamente l'impatto dell'indicizzazione e della coerenza non ottimali. In particolare, se si esegue il cutover prima di configurare gli indici, l'applicazione potrebbe visualizzare un calo immediato di prezzo/prestazioni. Tenere presente che questo problema può essere risolto: dopo l'ottimizzazione dell'indice, si prevede che Azure Cosmos DB spesso supera la soluzione status quo in base al prezzo/prestazioni.

Prerequisiti

In questa guida si presuppone che l'utente mantenga un record dello stato di avanzamento della migrazione usando una sorta di artefatto di rilevamento, ad esempio un foglio di calcolo. Se non è già stato fatto, è consigliabile leggere la guida alla pre-migrazione per indicazioni sulla creazione di un foglio di calcolo della migrazione del patrimonio di dati, l'individuazione delle risorse MongoDB esistenti e la pianificazione della migrazione.

Ottimizzare i criteri di indicizzazione

Per ottimizzare i prezzi e le prestazioni, è consigliabile eseguire il foglio di calcolo della migrazione dei dati e progettare una configurazione dell'indice per ogni risorsa.

  1. È in realtà consigliabile pianificare gli indici durante la fase di pre-migrazione. Aggiungere una colonna al foglio di calcolo della migrazione del patrimonio di dati per le impostazioni di indice.
    • Il server Azure Cosmos DB per MongoDB versione 3.6 e successive indicizza automaticamente solo il campo _id. Non è possibile eliminare questo campo. Applica automaticamente l'univocità del campo _id per ogni chiave di partizione. Per indicizzare campi aggiuntivi, applicare i comandi di gestione dell'indice MongoDB. Questo criterio di indicizzazione predefinito è diverso da Azure Cosmos DB per NoSQL, che indicizza tutti i campi per impostazione predefinita.

    • Per il server Azure Cosmos DB per MongoDB versione 3.2, tutti i campi dati vengono indicizzati automaticamente, per impostazione predefinita, durante la migrazione dei dati ad Azure Cosmos DB. In molti casi, questo criterio di indicizzazione predefinito è accettabile. In generale, la rimozione degli indici ottimizza le richieste di scrittura e il criterio di indicizzazione predefinito (ad esempio, l'indicizzazione automatica) ottimizza le richieste di lettura.

    • Le funzionalità di indicizzazione fornite da Azure Cosmos DB includono l'aggiunta di indici composti, indici univoci e indici TTL (Time-to-Live). Viene eseguito il mapping dell'interfaccia di gestione degli indici al comando createIndex(). Per altre informazioni, vedere Indicizzazione in Azure Cosmos DB e indicizzazione nell'API di Azure Cosmos DB per MongoDB.

  2. Applicare queste impostazioni di indice durante la post-migrazione.
    • Il servizio Migrazione del database di Azure esegue automaticamente la migrazione delle raccolte di MongoDB con indici univoci. È tuttavia necessario che gli indici univoci vengano creati prima della migrazione. Azure Cosmos DB non supporta la creazione di indici univoci quando sono già presenti dati nelle raccolte. Per altre informazioni, vedere Chiavi univoche in Azure Cosmos DB.

Distribuire a livello globale i dati

Azure Cosmos DB è disponibile in tutte le aree di Azure a livello mondiale.

  1. Seguire le indicazioni riportate nell'articolo Distribuire i dati a livello globale nell'API di Azure Cosmos DB per MongoDB per distribuire a livello globale i dati. Dopo aver selezionato il livello di coerenza predefinito per l'account Azure Cosmos DB, è possibile associare una o più aree di Azure a seconda delle esigenze di distribuzione globale. Per la disponibilità elevata e la continuità aziendale, è consigliabile eseguire sempre in almeno 2 aree. È possibile esaminare i suggerimenti per ottimizzare i costi delle distribuzioni in più aree in Azure Cosmos DB.

Impostare il livello di coerenza

Azure Cosmos DB offre 5 livelli di coerenza ben definiti. Per informazioni sul mapping tra i livelli di coerenza di MongoDB e Azure Cosmos DB, vedere Livelli di coerenza e API di Azure Cosmos DB. Il livello di coerenza predefinito è il livello di coerenza della sessione. La modifica del livello di coerenza è facoltativa ed è possibile ottimizzarla per l'app. Per modificare il livello di coerenza usando portale di Azure:

  1. Passare al pannello Coerenza predefinita in Impostazioni.
  2. Selezionare il livello di coerenza

La maggior parte degli utenti lascia il livello di coerenza nella sessione predefinita. Esistono tuttavia compromessi tra disponibilità e prestazioni per vari livelli di coerenza.

Connettere o tagliare l'applicazione

L'elaborazione del taglio o della connessione dell'applicazione consente di passare dall'applicazione all'uso di Azure Cosmos DB al termine della migrazione. Seguire la procedura descritta di seguito:

  1. In una nuova finestra accedere al portale di Azure.
  2. Dal portale di Azure, nel riquadro sinistro aprire il menu Tutte le risorse e trovare l'account Azure Cosmos DB a cui è stata eseguita la migrazione dei dati.
  3. Aprire il pannello Stringa di connessione . Il riquadro destro contiene tutte le informazioni necessarie per connettersi correttamente all'account.
  4. Usare le informazioni di connessione nella configurazione dell'applicazione (o altre posizioni pertinenti) per riflettere la connessione all'API di Azure Cosmos DB per MongoDB nell'app. Screenshot che mostra le impostazioni per una stringa di connessione.

Per altre informazioni, vedere la pagina Connettere un'applicazione MongoDB ad Azure Cosmos DB .

Ottimizzare le prestazioni ottimali

Un semplice fatto sull'indicizzazione, la distribuzione globale e la coerenza : tutti questi elementi possono essere facilmente configurati e riconfigurati nel modo desiderato. Al termine del cutover dell'applicazione, è quindi consigliabile monitorare le prestazioni dell'applicazione e modificare queste impostazioni in base alle esigenze per soddisfare i requisiti dell'applicazione.

Passaggi successivi