Eseguire la migrazione dei dati all'account Azure Cosmos DB for NoSQL usando Striim

SI APPLICA A: NoSQL

L'immagine Striim in Azure Marketplace offre lo spostamento continuo dei dati in tempo reale da data warehouse e database ad Azure. Durante lo spostamento dei dati, è possibile eseguire la denormalizzazione inline, la trasformazione dei dati, abilitare l'analisi in tempo reale e gli scenari di creazione di report sui dati. Iniziare a usare Striim per spostare continuamente i dati aziendali in Azure Cosmos DB for NoSQL è facile. In Azure è disponibile un'offerta del marketplace che semplifica la distribuzione di Striim e la migrazione dei dati ad Azure Cosmos DB.

Questo articolo illustra come usare Striim per eseguire la migrazione dei dati da un database Oracle a un account Azure Cosmos DB for NoSQL.

Prerequisiti

Distribuire la soluzione marketplace Striim

  1. Accedere al portale di Azure.

  2. Selezionare Crea una risorsa e cercare Striim in Azure Marketplace. Selezionare la prima opzione e fare clic su Crea.

    Find Striim marketplace item

  3. Immettere quindi le proprietà di configurazione dell'istanza di Striim. L'ambiente di Striim viene distribuito in una macchina virtuale. Nel riquadro Informazioni di base immettere i valori desiderati per Nome utente macchina virtuale e Password macchina virtuale (questa password viene usata per la connessione tramite SSH alla macchina virtuale). Selezionare la Sottoscrizione, il Gruppo di risorse e i dettagli sulla Località in cui si vuole distribuire Striim. Al termine, scegliere OK.

    Configure basic settings for Striim

  4. Nel riquadro Impostazioni del cluster Striim scegliere il tipo di distribuzione di Striim e le dimensioni della macchina virtuale.

    Impostazione valore Descrizione
    Tipo di distribuzione di Striim Autonomo È possibile eseguire Striim nel tipo di distribuzione Autonoma o Cluster. La modalità Autonoma distribuirà il server Striim in una singola macchina virtuale ed è possibile selezionare le dimensioni delle macchine virtuali a seconda del volume dei dati. La modalità Cluster distribuirà il server Striim in due o più macchine virtuali con le dimensioni selezionate. Gli ambienti cluster con più di 2 nodi offrono disponibilità elevata e failover automatici.

    Per questa esercitazione è possibile selezionare l'opzione Autonoma. Usare la macchina virtuale predefinita con dimensioni "Standard_F4s".
    Nome del cluster Striim <Striim_cluster_Name> Nome del cluster Striim.
    Password del cluster Striim <Striim_cluster_password> Password per il cluster.

    Dopo aver compilato il modulo, scegliere OK per continuare.

  5. Nel riquadro Impostazioni di accesso Striim configurare i campi relativi a Indirizzo IP pubblico (scegliere i valori predefiniti), Nome di dominio per Striim, Password amministratore con i valori da usare per accedere all'interfaccia utente di Striim. Configurare una rete virtuale e una subnet (scegliere i valori predefiniti). Dopo aver compilato i dettagli, scegliere OK per continuare.

    Striim access settings

  6. Azure convaliderà la distribuzione e si assicurerà che tutto funzioni come previsto. L'operazione di convalida richiede alcuni minuti. Al termine della convalida, scegliere OK.

  7. Esaminare infine le condizioni per l'uso e selezionare Crea per creare l'istanza di Striim.

Configurare il database di origine

In questa sezione viene configurato il database Oracle come origine per lo spostamento dei dati. Il server Striim è incluso nel driver Oracle JDBC usato per connettersi a Oracle. Per eseguire la lettura delle modifiche dal database Oracle di origine, è possibile usare LogMiner o le API XStream. Il driver Oracle JDBC è presente nel classpath Java di Striim per la lettura, la scrittura o il salvataggio permanente dei dati nel database Oracle.

Configurare il database di destinazione

In questa sezione si configurerà l'account Azure Cosmos DB for NoSQL come destinazione per lo spostamento dei dati.

  1. Creare un account Azure Cosmos DB for NoSQL usando il portale di Azure.

  2. Passare a Esplora dati nell'account Azure Cosmos DB. Selezionare Nuovo contenitore per creare un nuovo contenitore. Si supponga di eseguire la migrazione dei dati di prodotti e ordini dal database Oracle ad Azure Cosmos DB. Creare un nuovo database denominato StriimDemo con un contenitore denominato Orders. Effettuare il provisioning del contenitore con 1000 UR (questo esempio usa 1000 UR, ma è consigliabile usare la velocità effettiva stimata per il carico di lavoro) e /ORDER_ID come chiave di partizione. Questi valori variano a seconda dei dati di origine.

    Create a API for NoSQL account

Configurare il flusso di dati da Oracle ad Azure Cosmos DB

  1. Passare all'istanza di Striim distribuita nel portale di Azure. Selezionare il pulsante Connetti nella barra dei menu superiore e dalla scheda SSH copiare l'URL nel campo Accedi con l'account locale della macchina virtuale.

    Get the SSH URL

  2. Aprire una nuova finestra del terminale ed eseguire il comando SSH copiato dal portale di Azure. Questo articolo usa il terminale in un computer MacOS, ma è possibile seguire le istruzioni simili usando un client SSH in un computer Windows. Quando richiesto, digitare per continuare e immettere la password impostata per la macchina virtuale nel passaggio precedente.

    Connect to Striim VM

  3. Dalla stessa finestra del terminale riavviare il server Striim eseguendo i comandi seguenti:

    systemctl stop striim-node
    systemctl stop striim-dbms
    systemctl start striim-dbms
    systemctl start striim-node
    
  4. L'avvio di Striim richiederà un minuto. Per visualizzare lo stato, eseguire il comando seguente:

    tail -f /opt/striim/logs/striim-node.log
    
  5. Tornare ora ad Azure e copiare l'indirizzo IP pubblico della macchina virtuale Striim.

    Copy Striim VM IP address

  6. Per passare all'interfaccia utente Web di Striim, aprire una nuova scheda in un browser e copiare l'indirizzo IP pubblico seguito da: 9080. Eseguire l'accesso con il nome utente amministratore, insieme alla password amministratore specificata nel portale di Azure.

    Sign in to Striim

  7. Verrà visualizzata la home page di Striim. Sono disponibili tre riquadri diversi: Dashboards, Apps e SourcePreview. Il riquadro Dashboards consente di spostare i dati in tempo reale e visualizzarli. Il riquadro Apps contiene le pipeline di dati di streaming o flussi di dati. Sul lato destro della pagina è disponibile il riquadro SourcePreview in cui è possibile visualizzare in anteprima i dati prima di spostarli.

  8. Selezionare il riquadro Apps. Esistono diverse app di esempio che è possibile usare per imparare a usare Striim, ma in questo articolo si creerà un'app personalizzata. Selezionare il pulsante Add App nell'angolo superiore destro.

    Add the Striim app

  9. Esistono diversi modi per creare applicazioni Striim. Selezionare Inizia con modello per iniziare con un modello esistente.

    Start the app with the template

  10. Nel campo Modelli di ricerca digitare "Cosmos" e selezionare Destinazione: Azure Cosmos DB e quindi selezionare Oracle CDC in Azure Cosmos DB.

    Select Oracle CDC to Azure Cosmos DB

  11. Nella pagina successiva assegnare un nome all'applicazione. È possibile specificare un nome come oraToCosmosDB e quindi selezionare Salva.

  12. Immettere quindi la configurazione di origine dell'istanza Oracle di origine. Immettere un valore per Nome origine. Il nome di origine è solo una convenzione di denominazione per l'applicazione Striim; è possibile usare un valore simile a src_onPremOracle. Immettere i valori per il resto dei parametri di origine URL, Nome utente, Password, scegliere LogMiner come lettore per leggere i dati da Oracle. Selezionare Avanti per continuare.

    Configure source parameters

  13. Striim controlla l'ambiente e verifica che possa connettersi all'istanza Oracle di origine, disporre dei privilegi appropriati e che CDC sia stato configurato correttamente. Dopo aver convalidato tutti i valori, selezionare Avanti.

    Validate source parameters

  14. Selezionare le tabelle dal database Oracle di cui eseguire la migrazione. Ad esempio, è possibile scegliere la tabella Orders e selezionare Avanti.

    Select source tables

  15. Dopo aver selezionato la tabella di origine, è possibile eseguire operazioni più complesse, ad esempio mapping e filtro. In questo caso, si creerà solo una replica della tabella di origine in Azure Cosmos DB. Selezionare quindi Avanti per configurare la destinazione

  16. A questo punto, è possibile configurare la destinazione:

    • Nome di destinazione: specificare un nome descrittivo per la destinazione.
    • Input da: dall'elenco a discesa selezionare il flusso di input da quello creato nella configurazione Oracle di origine.
    • Raccolte: immettere le proprietà di configurazione di Azure Cosmos DB di destinazione. La sintassi delle raccolte è SourceSchema.SourceTable, TargetDatabase.TargetContainer. In questo esempio il valore sarà "SYSTEM. ORDERS, StriimDemo.Orders".
    • AccessKey: chiave primaria dell'account Azure Cosmos DB.
    • ServiceEndpoint: l'URI dell'account Azure Cosmos DB è disponibile nella sezione Chiavi del portale di Azure.

    Selezionare Salva e Avanti.

    Configure target parameters

  17. Verrà quindi visualizzata la finestra Flow Designer, in cui è possibile trascinare i connettori predefiniti per creare le applicazioni di streaming. A questo punto non verranno apportate modifiche al flusso. Quindi procedere e distribuire l'applicazione selezionando il pulsante Distribuisci app.

    Deploy the app

  18. Nella finestra di distribuzione è possibile specificare se si desidera eseguire determinate parti dell'applicazione in parti specifiche della topologia di distribuzione. Poiché è in corso l'esecuzione in una topologia di distribuzione semplice tramite Azure, verrà usata l'opzione predefinita.

    Use the default option

  19. Dopo la distribuzione, è possibile visualizzare in anteprima il flusso di dati. Selezionare l'icona a forma di onda e l'icona a forma di occhio accanto ad essa. Selezionare il pulsante Deployed nella barra dei menu in alto e selezionare Start App.

    Start the app

  20. Usando un lettore CDC (Change Data Capture), Striim rileverà solo le nuove modifiche nel database. Se è presente un flusso di dati che attraversa le tabelle di origine, verrà visualizzato. Tuttavia, poiché si tratta di una tabella di dimostrazione, l'origine non è connessa ad alcuna applicazione. Se si usa un generatore di dati di esempio, è possibile inserire una catena di eventi nel database Oracle.

  21. Si noterà che il flusso di dati transita nella piattaforma Striim. Striim acquisisce anche tutti i metadati associati alla tabella, che consentono di monitorare i dati e assicurarsi che vengano inseriti nella destinazione corretta.

    Configure CDC pipeline

  22. A questo punto, è necessario eseguire l'accesso ad Azure e passare all'account Azure Cosmos DB. Aggiornare Esplora dati. Si noterà che i dati sono stati trasferiti.

    Validate migrated data in Azure

Usando la soluzione Striim in Azure, è possibile eseguire continuamente la migrazione dei dati ad Azure Cosmos DB da diverse origini, ad esempio Oracle, Cassandra, MongoDB e altre ancora in Azure Cosmos DB. Per altre informazioni, visitare il sito Web Striim, scaricare una versione di valutazione gratuita di 30 giorni di Striim e per eventuali problemi durante la configurazione del percorso di migrazione con Striim, inviare una richiesta di supporto.

Passaggi successivi