Guida introduttiva a MySQL HeatWave su AWS

Se stai sviluppando applicazioni di database su AWS e hai bisogno di analytics in tempo reale e query estremamente veloci, è quello che MySQL HeatWave on AWS è stato progettato per fare. Invece di creare pipeline ETL complesse per spostare i dati in un database di analytics separato, HeatWave sfrutta l'accelerazione in-memory per fornire funzionalità di analytics in tempo reale (OLAP) senza influire sulle prestazioni dei carichi di lavoro transazionali (OLTP). MySQL HeatWave è un servizio completamente gestito che consente agli sviluppatori di creare e distribuire rapidamente applicazioni cloud native sicure utilizzando il database open source più utilizzato al mondo. MySQL HeatWave è stato sviluppato e supportato dal team di sviluppo MySQL di Oracle.

Una delle cose migliori di MySQL HeatWave è la possibilità di eseguire gli analytics direttamente sui dati transazionali esistenti, il che significa che devi solo gestire un database anziché due e puoi ottenere analytics sicuri in tempo reale senza la complessità, la latenza e i costi della duplicazione ETL.

Per iniziare, Inizia gratuitamente su AWS. Una rapida iscrizione fornirà 300 dollari di crediti gratuiti per vedere quanto può essere fantastico MySQL HeatWave on AWS.

  1. Fornire il paese/l'area, il nome e il cognome, oltre a un indirizzo di posta elettronica per la verifica.
    Screenshot 1 - Registrazione account
  2. Fare clic su Verifica indirizzo e-mail
  3. Quando si fa clic sul collegamento nel messaggio di verifica e-mail, viene richiesto di fornire una password complessa, un nome account cloud e un'area di origine. Selezionare US East (Ashburn) come regione di origine. NOTA: se non si sceglie IAD/Ashburn come area di origine, sarà necessario richiedere l'aumento del limite della regione. Una volta aumentato, potrai effettuare la sottoscrizione all'area Ashburn (richiesta per HeatWave su AWS).
    Screenshot 2 - Registrazione account
  4. Completa il processo di registrazione inserendo un indirizzo e i dettagli di fatturazione.
  5. Accetta l'accordo e fai clic su Inizia la mia prova gratuita
    Screenshot completato per la registrazione dell'account
  6. In pochi istanti il tuo account verrà creato e potrai accedere!
  7. Sul dashboard principale dovresti vedere il banner per iniziare a usare MySQL HeatWave on AWS. Fare clic su Vai al servizio.
    Screenshot per iniziare a utilizzare il banner di MySQL HeatWave on AWS
  8. Nella pagina successiva avrai la possibilità di richiedere l'upgrade che convertirà il tuo account in un account a pagamento. Non preoccuparti! Non ti verrà addebitato nulla... ricorda di avere $ 300 in crediti gratuiti con cui giocare.
    Screenshot di Imposta MySQL HeatWave su AWS - Richiedi upgrade
    Nota: il completamento di tutta l'elaborazione backend richiederà alcuni minuti prima di poter completare il processo di upgrade. Se ricevi un messaggio che indica lo stesso, sentiti libero di allontanarti per un po '. Dai un po' di riposo ai tuoi occhi.
  9. Una volta completato il processo di aggiornamento, è possibile passare al passo successivo.
  10. Dal momento che hai selezionato Ashburn come area di origine, dovresti essere in grado di saltare al passo 3, che ti guida a richiedere il limite del servizio HeatWave su AWS.
  11. Una volta ottenuto il limite del servizio, puoi abilitare HeatWave su AWS.
  12. Ora sei pronto per configurare un cluster MySQL HeatWave su AWS!

MySQL HeatWave on AWS è integrato con il sistema di Identity and Access Management di OCI. Quando ti iscrivi a HeatWave su AWS, verrai indirizzato alla pagina di login OCI in cui devi accedere con un account cloud OCI (creato in precedenza). Per semplificare le cose, la fatturazione viene gestita e monitorata all'interno di OCI.

Prerequisiti

  • Nome account Oracle Cloud, nome utente amministratore e password
  • Un browser compatibile (Chrome 69+, Safari 12.1+, Firefox 62+ o qualsiasi browser approvato da Oracle Jet)

Panoramica

Per iniziare a lavorare con MySQL HeatWave on AWS, non è necessaria né un'esperienza AWS né un account AWS. Tuttavia, se ce l'hai, non c'è limite a cosa puoi fare per integrare le app AWS con MySQL HeatWave. Quindi andiamo!

  1. Accedi a MySQL HeatWave sulla console AWS
  2. Creare un sistema DB MySQL con il cluster HeatWave
  3. Carica alcuni dati di esempio
  4. Connettersi al database ed eseguire alcune query
  5. Caricare le tabelle in HeatWave ed eseguire altre query

Passi

  1. Accedi a MySQL HeatWave on AWS
    Se hai appena completato il processo di iscrizione e hai effettuato l'accesso, potresti essere un passo avanti. In caso contrario, vai alla pagina di destinazione MySQL HeatWave on AWS. Qui inserisci il nome del tuo account cloud (può essere già inserito nella cache dal browser) e fai clic su Continua.
    Nella pagina successiva vengono richiesti l'ID utente e la password creati durante il processo di iscrizione. Una volta inserito tutto correttamente, ti troverai sul dashboard di MySQL HeatWave.
  2. Creare un sistema DB MySQL con il cluster HeatWave
    Ora inizia il divertimento! Andiamo al provisioning.
    Fare clic su Crea sistema DB MySQL nel dashboard per visualizzare la finestra di dialogo Crea sistema DB MySQL e HeatWave cluster. Questa prima parte riguarda la configurazione dell'istanza MySQL e del cluster HeatWave di base.
    Screenshot di Crea sistema DB MySQL e cluster HeatWave - incompleto
    Screenshot di Crea sistema DB MySQL e cluster HeatWave - incompleto
    Compila i dettagli richiesti:
    1. Nome visualizzazione
    2. Descrizione
    3. Credenziali amministratore (non perdere queste)
    4. Selezionare la configurazione hardware. Tenere presente che la forma determina il numero di memorie centrali vCPU e la quantità di RAM. (ad esempio, MySQL.4.32GB è 4 vCPU e 32 GB di RAM)
    5. Selezionare la dimensione iniziale di memorizzazione dei dati in GiB. Se necessario, è possibile aumentarla in un secondo momento.
    6. Selezionare l'ultima versione DB (al momento supporta solo l'ultima versione MySQL 8.0.31)
    7. Scegliere una finestra di manutenzione (automatica o manuale)
    8. Scegliere una zona di disponibilità (AZ). Nota: Se scegli il manuale, ti verrà richiesto di selezionare la zona di disponibilità fisica di AWS. Se disponi di applicazioni esistenti distribuite su AWS, dovrai riconciliare l'AZ logico visualizzato nella console AWS con l'AZ fisico selezionato qui.
    9. Fornire i dettagli di rete. L'istanza MySQL diventerà accessibile tramite l'endpoint pubblico. Per impostazione predefinita, non è consentita alcuna connettività in entrata. Per gli indirizzi client consentiti è necessario immettere un indirizzo IP pubblico specifico seguito da /32, ovvero se l'IP pubblico del computer client è 1.2.3.4, immettere 1.2.3.4/32. È possibile immettere più valori separati da un punto e virgola. Per questo esempio, verranno utilizzate anche le porte predefinite 3306 e 33060.
    10. Fare clic su Successivo
      Screenshot di Crea sistema DB MySQL e cluster HeatWave - completato
    11. Fornire un nome visualizzato e una descrizione per il cluster HeatWave.
    12. Selezionare una forma: determinerà la quantità di memoria disponibile in ogni nodo cluster.
    13. Selezionare una dimensione cluster, da 1 a 128. Per questo esercizio, si consiglia di selezionare la forma HeatWave.16GB e una dimensione cluster pari a 1.
    14. Fare clic su Crea, quindi sedersi e rilassarsi per alcuni minuti mentre si verifica la magia.
  3. Carica dati di esempio
    Ora che tutto è attivo e in esecuzione, caricare alcuni dati e sottoporre a test questa operazione.
    1. Aprire una nuova scheda del browser ed eseguire il login alla console OCI per accedere a Cloud Shell. Se vengono richieste le credenziali, si utilizzeranno gli stessi account cloud, nome utente e password immessi quando si esegue il login a HeatWave.
    2. Aprire OCI Cloud Shell
      Screenshot di OCI Cloud Shell
    3. Recupera il database di esempio: airport-db
      wget https://downloads.mysql.com/docs/airport-db.tar.gz
      
      tar xvzf airport-db.tar.gz
    4. Individuare l'indirizzo IP pubblico associato all'ambiente Cloud Shell. Verrà aggiunta agli indirizzi client MySQL consentiti.
      dig +short myip.opendns.com @resolver1.opendns.com
    5. Tornare al dashboard MySQL e modificare l'istanza del database MySQL. Aggiungere l'indirizzo IP pubblico con /32 agli indirizzi client consentiti e fare clic su Salva.
    6. Tornare alla scheda del browser con Cloud Shell e avviare una sessione di shell MySQL. Saranno necessari il nome utente e la password di amministratore forniti durante la creazione del sistema DB. Sarà inoltre necessario copiare il nome host in precedenza.
      mysqlsh username@hostname
      Dopo aver premuto Invio, verrà richiesta la password.
    7. Utilizzare loadDump per importare il database estratto in precedenza.
      util.loadDump("airport-db", {threads: 16, deferTableIndexes: "all", ignoreVersion: true})
      Questa operazione potrebbe richiedere alcuni minuti. Ora è una grande opportunità per prendere uno spuntino veloce o controllare le previsioni del tempo.
    8. Al termine dell'importazione, è possibile proseguire. Ottimo lavoro!
  4. Esegui alcune semplici query... solo per una buona misura
    Un po' più tardi confronteremo le prestazioni con HeatWave. La shell MySQL è uno strumento piuttosto potente, ma l'interfaccia non è per tutti. Prima di andare avanti, eseguiamo altre query solo per divertimento; una grande possibilità di flettere quei muscoli della riga di comando.
    1. Perché non proviamo a raccogliere altre righe nella nostra query:
      select * from airplane limit 10000;
    2. Stai bene? Solo un altro... per divertimento!
      mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
      Prendere nota del tempo di esecuzione.
    3. Uscire dalla shell MySQL digitando '\d' e premendo INVIO.
    4. Carica le tabelle in HeatWave ed esegui altre query Stai andando alla grande... ed è giunto il momento di aumentare il livello di calore! In questa sezione finale potrai sfruttare la straordinaria potenza di MySQL HeatWave.
      1. Tornare alla scheda del browser con il dashboard MySQL HeatWave. Andare al riquadro delle aree di lavoro.
      2. Selezionare il sistema DB, quindi immettere il nome utente e la password di amministrazione creati in precedenza (quelli salvati, giusto?). Fare clic su Connect (Connetti) e concedergli alcuni secondi per aprire la porta.
      3. Ora che sei connesso, è il momento di eseguire la stessa query di prima. Questa operazione verrà comunque eseguita contro InnoDB, ma è intenzionale.
        mysql SELECT booking.price, count(*) FROM booking WHERE booking.price > 500 GROUP BY booking.price ORDER BY booking.price LIMIT 10;
        Prendi nota del tempo necessario per completare... e preparati!
    5. Andare alla scheda Gestisci dati in HeatWave, selezionare airportdb. Verranno selezionate tutte le tabelle nel database. Fare clic sul pulsante Carica in HeatWave.
      Screenshot della scheda Gestisci dati in Heatwave
      Verrà visualizzata una finestra che delinea l'attività e fornisce un tempo stimato per il completamento. Dopo aver eseguito un rapido ripristino, fare clic su Carica tabelle.
      Screenshot delle tabelle di caricamento parallelo MySQL Autopilot in HeatWave
      Una volta caricata una nuova tabella in HeatWave, traccia e carica automaticamente tutti i dati in futuro. O almeno fino a quando non scarichi quel tavolo.
      NOTA LATO: se non hai bisogno della potenza di HeatWave per un po ', puoi sempre fermarla per aiutarti a ridurre i costi. Mentre viene arrestato, il sistema continuerà a tenere traccia dei dati DIFFS per tutte le tabelle caricate. Una volta avviato il backup di HeatWave, le tabelle caricate verranno aggiornate automaticamente.
  5. Eseguire di nuovo la query precedente e notare la differenza di prestazioni.
  6. Puoi provare a utilizzare set di dati più grandi e/o query più complesse. Ogni volta che si desidera eseguire il test dei benchmark delle prestazioni tra InnoDB e HeatWave, è necessario solo scaricare e ricaricare le tabelle.
  7. Questo ci porta alla fine. Puoi interrompere, interrompere o lasciare l'esecuzione delle risorse che hai creato e non dimenticare di pat te stesso sul retro. Ottimo lavoro!

In breve

Finora abbiamo creato un'istanza di database MySQL e un cluster HeatWave su AWS, caricato alcuni dati e puntato un po 'sul sistema. Hai visto il notevole miglioramento delle prestazioni ottenuto eseguendo query in HeatWave... tutto senza la necessità di ETL alcun dato tra i sistemi. Con tutta questa potenza a portata di mano, ti invitiamo vivamente a continuare a esplorare le prestazioni e le capacità. Abbiamo solo grattato la superficie!

Vorresti saperne di più? Partecipa alla discussione sul nostro canale Slack pubblico.