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
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Un database Oracle in esecuzione in locale contenente alcuni dati.
Distribuire la soluzione marketplace Striim
Accedere al portale di Azure.
Selezionare Crea una risorsa e cercare Striim in Azure Marketplace. Selezionare la prima opzione e fare clic su Crea.
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 un valore in Sottoscrizione, Gruppo di risorse e in Località specificare i dettagli della località in cui si vuole distribuire Striim. Al termine, selezionare OK.
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.
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.
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.
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 Apache Cassandra come destinazione per lo spostamento dei dati.
Creare un account Azure Cosmos DB for Apache Cassandra usando il portale di Azure.
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.
Configurare il flusso di dati da Oracle ad Azure Cosmos DB
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.
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 sì per continuare e immettere la password impostata per la macchina virtuale nel passaggio precedente.
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
L'avvio di Striim richiederà un minuto. Per visualizzare lo stato, eseguire il comando seguente:
tail -f /opt/striim/logs/striim-node.log
Tornare ora ad Azure e copiare l'indirizzo IP pubblico della macchina virtuale Striim.
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.
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.
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.
Esistono diversi modi per creare applicazioni Striim. Per questo scenario, selezionare Start from Scratch.
Assegnare un nome descrittivo all'applicazione, ad esempio oraToCosmosDB e selezionare Save.
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.
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.
Fare ora clic sull'icona a forma di onda del flusso per connettere l'istanza di Azure Cosmos DB di destinazione.
Prima di configurare la destinazione, assicurarsi di aver aggiunto un certificato radice Baltimore all'ambiente Java di Striim.
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.
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.
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.
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.
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.
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
Se si esegue la migrazione dei dati ad Azure Cosmos DB for NoSQL, vedere come eseguire la migrazione dei dati all'account API per Cassandra usando Striim
Monitorare ed eseguire il debug dei dati con le metriche di Azure Cosmos DB