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
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 NoSQL come destinazione per lo spostamento dei dati.
Creare un account Azure Cosmos DB for NoSQL usando il portale di Azure.
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.
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. Selezionare Inizia con modello per iniziare con un modello esistente.
Nel campo Modelli di ricerca digitare "Cosmos" e selezionare Destinazione: Azure Cosmos DB e quindi selezionare Oracle CDC in Azure Cosmos DB.
Nella pagina successiva assegnare un nome all'applicazione. È possibile specificare un nome come oraToCosmosDB e quindi selezionare Salva.
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.
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.
Selezionare le tabelle dal database Oracle di cui eseguire la migrazione. Ad esempio, è possibile scegliere la tabella Orders e selezionare Avanti.
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
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.
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.
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.
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, tale flusso 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.
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
Si sta tentando di pianificare la capacità per una migrazione ad Azure Cosmos DB?
- Se si conosce solo il numero di vcore e server nel cluster di database esistente, leggere le informazioni sulla stima delle unità richieste usando vCore o vCPU
- Se si conosce la frequenza delle richieste tipiche per il carico di lavoro corrente del database, leggere le informazioni sulla stima delle unità richieste con lo strumento di pianificazione della capacità di Azure Cosmos DB
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