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

SI APPLICA A: Cassandra

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 Apache Cassandra è 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 Apache Cassandra.

Prerequisiti

Distribuire la soluzione del 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'utilizzo 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 Apache Cassandra come destinazione per lo spostamento dei dati.

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

  2. Passare a Esplora dati nell'account Azure Cosmos DB. Selezionare Nuova tabella 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 keyspace denominato StriimDemo con un contenitore 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 primaria. Questi valori variano a seconda dei dati di origine.

    Create API for Cassandra 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. Per questo scenario, selezionare Start from Scratch.

    Start the app from scratch

  10. Assegnare un nome descrittivo all'applicazione, ad esempio oraToCosmosDB e selezionare Save.

    Create a new application

  11. Verrà visualizzata la finestra Flow Designer, in cui è possibile trascinare i connettori predefiniti per creare le applicazioni di streaming. Digitare Oracle nella barra di ricerca, trascinare l'origine Oracle CDC nell'area canvas dell'app.

    Oracle CDC source

  12. Immettere le proprietà di configurazione di origine dell'istanza di Oracle. Il nome di origine è solo una convenzione di denominazione per l'applicazione Striim, quindi è possibile usare un nome come src_onPremOracle. Immettere anche altri dettagli, ad esempio il tipo di scheda, l'URL di connessione, il nome utente, la password e il nome della tabella. Selezionare Salva per continuare.

    Configure source parameters

  13. Fare ora clic sull'icona a forma di onda del flusso per connettere l'istanza di Azure Cosmos DB di destinazione.

    Connect to target

  14. Prima di configurare la destinazione, assicurarsi di aver aggiunto un certificato radice Baltimore all'ambiente Java di Striim.

  15. Immettere le proprietà di configurazione dell'istanza di Azure Cosmos DB di destinazione e selezionare Save per continuare. Ecco i parametri principali da notare:

    • Adapter: usare DatabaseWriter. Quando si esegue la scrittura in Azure Cosmos DB for Apache Cassandra, è necessario usare DatabaseWriter. Il driver Cassandra 3.6.0 è incluso in Striim. Se DatabaseWriter supera il numero di UR di cui è stato effettuato il provisioning nel contenitore di Azure Cosmos DB, l'applicazione si arresterà in modo anomalo.

    • Connection URL: specificare l'URL di connessione JDBC di Azure Cosmos DB. L'URL è in questo formato: jdbc:cassandra://<contactpoint>:10350/<databaseName>?SSL=true

    • Username: specificare il nome dell'account Azure Cosmos DB.

    • Password: specificare la chiave primaria dell'account Azure Cosmos DB.

    • Tables: le tabelle di destinazione devono includere chiavi primarie e le chiavi primarie non possono essere aggiornate.

    Screenshot that shows the configurable target properties.

    Configure target properties

  16. A questo punto, si procederà e si eseguirà l'applicazione Striim. Nella barra dei menu superiore selezionare Created e quindi Deploy App. 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.

    Deploy the app

  17. Verrà quindi visualizzata l'anteprima del flusso di dati attraverso Striim. Fare clic sull'icona a forma di onda e fare clic sull'icona a forma di occhio accanto ad essa. 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

  18. 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 esempio, 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.

  19. 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.

    Set up the CDC pipeline

  20. 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.

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