Tutto quello che non sapevi su Amazon Aurora

I sistemi di database tradizionali hanno molti limiti di prestazioni, disponibilità e scalabilità. Amazon Aurora è la soluzione a queste limitazioni.

I database sono necessari per alimentare le app che gestiscono l’azienda. Dovrebbero essere più grandi, più affidabili e più veloci per fornire servizi migliori. Amazon Web Services semplifica la gestione dei dati da parte delle aziende e migliora la soddisfazione dei clienti.

Il servizio Web AWS Aurora di Amazon è un esempio di tale servizio. Utilizza il volume del cluster per gestire i propri dati e allocarli per il backup di emergenza.

Cos’è Amazon Aurora?

Amazon Aurora, un database cloud-native, è completamente compatibile con MySQL e PostgreSQL open source. Aurora supporta tutte le funzionalità MySQL open source. Consente inoltre la compatibilità drop-in con le applicazioni eseguite su questi database.

Aurora è stato progettato per i clienti che richiedono un servizio di database completamente gestito con la convenienza e la semplicità dei database open source ma con le stesse prestazioni di un database commerciale.

Aurora offre prestazioni cinque volte più veloci del tradizionale MySQL e tre volte migliori di PostgreSQL. Amazon RDS gestisce attività come provisioning, backup e ripristino. Non ci sono costi iniziali e paghi solo un canone mensile.

Aurora è unica in quanto offre un track record di eccellenza operativa e funzionalità aziendali a una frazione del costo dei database commerciali.

Aurora offre prestazioni, disponibilità, sicurezza e affidabilità senza pari a livello globale. Aurora è stato il servizio in più rapida crescita nel portafoglio di AWS sin dal suo inizio nel 2014.

A cosa serve Amazon Aurora?

La notevole crescita di Aurora è stata guidata dal forte interesse di molti settori. Negli ultimi dodici mesi abbiamo riscontrato un forte interesse per i servizi finanziari, il software e Internet, nonché per i verticali di intrattenimento, giochi e vendita al dettaglio.

I clienti migrano ad Aurora MySQL e Aurora PostgreSQL per consolidare i propri database MySQL e PostgreSQL. Vediamo anche che molti clienti migrano da database legacy come Oracle o Microsoft SQL Server ad Aurora PostgreSQL.

Questi clienti che sono “liberi” si sono stancati di pagare costi di licenza elevati e di rinchiudersi in database legacy. I clienti con una crescita elevata desiderano scalare rapidamente e senza problemi in tutte le regioni. Vogliono anche essere in grado di integrarsi tra i servizi AWS.

Vantaggi di Amazon Aurora

Di seguito sono riportati i vantaggi dell’utilizzo di Amazon Aurora:

Scalabilità

Puoi abilitare il ridimensionamento automatico. Aumenterà la capacità di archiviazione quando avrai più spazio di archiviazione. Ridurrà anche le dimensioni del tuo database se c’è una diminuzione dello spazio di archiviazione.

Conveniente

Paghi solo per la potenza di elaborazione e lo spazio di archiviazione che utilizzi. Non ci sono costi anticipati o altri oneri. È semplice effettuare pagamenti mensili.

Sicurezza

Amazon VPC consente di isolare la rete da cui è in esecuzione il database.

Usa AWS Key Management Service per creare chiavi di crittografia che proteggano i tuoi dati.

Elevata disponibilità e durata

Puoi creare repliche di Aurora in molte zone di disponibilità.

È un database globale che può essere facilmente distribuito su più regioni AWS, il che potrebbe ridurre la velocità di lettura/scrittura locale.

Supporto per la migrazione

Per migrare il tuo database locale su Aurora, puoi utilizzare i comandi pg-dump o MySQL dump.

Completamente gestito

Aurora è molto facile da usare. È facile configurare un’istanza utilizzando la console AWS RDS. Aurora offre il monitoraggio con Amazon Cloudwatch senza costi aggiuntivi.

Non è necessario preoccuparsi del provisioning, dell’aggiornamento o dell’upgrade. Amazon ha il controllo completo su tutti gli aspetti del tuo software e farà tutte le patch necessarie.

Le migliori caratteristiche di Amazon Aurora

Di seguito sono riportate le migliori funzionalità di Amazon Aurora:

Scalabilità: questa è la caratteristica migliore di Amazon Aurora. Il database aumenta automaticamente di dimensioni in base ai requisiti di archiviazione. Il volume può crescere in incrementi fino a 10 GB e può raggiungere un massimo di 128 TB. Ciò consente un’archiviazione continua.

Elevato throughput: i benchmark SysBench hanno mostrato un aumento di 5 volte del throughput. Amazon Aurora impiega una varietà di tecniche software e hardware per massimizzare la memoria, il calcolo e la rete disponibili. Per migliorare la coerenza delle prestazioni, le operazioni di input e output utilizzando tecniche di sistema distribuito come i quorum.

Monitoraggio e riparazione delle istanze: Amazon RDS monitora continuamente lo stato e le prestazioni del database Amazon Aurora e delle istanze EC2 sottostanti. Amazon RDS riavvia automaticamente il database in caso di errore del database e tutti i processi associati.

Crittografia: Amazon Aurora offre un’elevata sicurezza consentendoti di crittografare il database utilizzando le chiavi che controlli e crei tramite AWS Key Management Service. Amazon Aurora utilizza la crittografia SSL per proteggere i dati durante il transito.

Facile da usare: è facile usare Amazon Aurora. La console di gestione Amazon RDS viene utilizzata per creare la nuova istanza database Amazon Aurora. Questa chiamata API, o CLI, accetta solo una chiamata API. Le istanze database di Amazon Aurora sono preconfigurate con i parametri e le impostazioni appropriati per ogni tipo di istanza database.

Conveniente: paghi solo per quello che usi. Non ci sono costi anticipati o altre commissioni. È semplice effettuare pagamenti mensili.

Supporto per la migrazione: per migrare il tuo database locale da Aurora ad Aurora, puoi utilizzare i comandi pg-dump o MySQL dump.

Aurora è completamente gestita: puoi iniziare a usarla immediatamente. Tutto quello che devi fare è creare un’istanza utilizzando la console AWS RDS o chiamare un’API dal tuo codice. Non è necessario preoccuparsi del provisioning, dell’aggiornamento o dell’upgrade.

Architettura Amazon Aurora

L’intera architettura del database Aurora si basa su un DBMS tradizionale. Riutilizza la maggior parte dei componenti DBMS come il gestore delle transazioni, il motore di esecuzione delle query e il gestore del ripristino.

Amazon Aurora è un nuovo DBMS che va oltre il gioco tradizionale. Apporta molti miglioramenti ai DBMS esistenti per aumentarne la disponibilità, l’affidabilità e la scalabilità.

Questi cambiamenti sono:

  • Viene utilizzata una configurazione della replica primaria
  • L’archiviazione remota dei dati può essere replicata
  • Solo i log delle modifiche devono essere salvati sul disco remoto

L’architettura di Amazon Aurora può ridimensionare i livelli di storage dei tradizionali database relazionali.

L’istanza del database primario di Amazon Aurora passa il redo log al suo livello di storage per l’elaborazione. I log vengono elaborati dal livello di archiviazione, che crea e archivia nuove versioni della pagina ed esegue il backup di tutto fino a S3.

Credito immagine: AWS

Amazon Aurora deve solo creare ulteriori istanze del motore di database e collegarle al livello di storage esistente durante una scalabilità orizzontale. Ciò elimina il collo di bottiglia nella replica dei dati delegando queste attività per l’elaborazione parallela al livello di archiviazione.

Ciò consente la creazione di molte nuove funzionalità, come:

  • Ripristino immediato in caso di arresto anomalo: non è necessario riprodurre i log dall’ultimo checkpoint
  • Failover rapidi: non è necessario preoccuparsi di quale database di replica ha il record del registro di ripristino più recente. Il livello di archiviazione lo gestisce.
  • Backtracking: poiché il livello di archiviazione ha eseguito lo streaming dei registri di ripristino, può “riavvolgere” i dati in punti specifici nel passato senza dover ripristinare un checkpoint dal backup S3

Configurazione di Amazon Aurora

Di seguito sono riportati i passaggi per configurare correttamente Amazon Aurora.

#1. Accedi alla console di gestione AWS e apri RDS.

#2. Fare clic su crea database.

#3. Seleziona l’opzione Motore come Amazon Aurora.

#4. Seleziona la versione di Aurora MySQL di cui hai bisogno.

#5. Crea un identificatore del cluster di database e imposta il nome utente e la password delle impostazioni delle credenziali.

#6. Seleziona la configurazione dell’istanza dall’opzione a discesa e scegli un’opzione per creare o meno la replica.

#7. Selezionare le opzioni di connettività come mostrato di seguito.

#8. Scegli dal gruppo di sicurezza VPC esistente o creane uno nuovo.

#9. Abilita il monitoraggio avanzato, seleziona l’opzione granularità e ruolo di monitoraggio.

#10. Infine, fai clic su Crea database.

#11. Hai creato correttamente il database Amazon Aurora.

Modello di prezzo: Amazon Aurora

Le Aurora Serverless ACU v2 costano $ 0,12 l’ora, il doppio del prezzo delle Aurora ACU fornite. Questo significa:

  • Costo di esercizio corrente minimo: 4 ACU, $ 0,48 l’ora o $ 350 al mese
  • Per i carichi di lavoro che attivano patologicamente la funzione di ridimensionamento automatico, è previsto un aumento minimo della scalabilità di 30 secondi o $ 0,0005 per mezzo ACU.

Il costo mensile per Aurora Serverless V2 è di $ 350. Ogni evento a scalabilità automatica verrà addebitato almeno $ 0,0005. Sebbene la capacità equivalente di Aurora sia di $ 175 al mese, non avrebbe una scalabilità automatica serverless reattiva.

Casi d’uso: Amazon Aurora

#1. Software come servizio (SaaS)

Utilizza architetture multi-talento che possono essere flessibili nello storage e nel ridimensionamento delle istanze. Di conseguenza, Amazon Aurora consente alle aziende di concentrarsi sullo sviluppo di applicazioni di alta qualità senza preoccuparsi del database.

#2. Scopo del gioco

AWS Aurora funziona allo stesso modo del database relazionale. Fornisce un throughput elevato, un’enorme capacità di archiviazione, un’elevata disponibilità e un’elevata disponibilità.

#3. Applicazione aziendale

Amazon Aurora è compatibile con qualsiasi azienda che sia già più cinematografica di Relational Database. Aurora è conveniente in quanto riduce il prezzo fino al 90% rispetto ad altre opzioni.

Compatibilità di Aurora con MySQL e PostgreSQL

Amazon Aurora è progettato per prestazioni elevate, disponibilità globale e piena compatibilità MySQL/PostgreSQL. Gli strumenti standard semplificano la migrazione dei database MySQL e PostgreSQL da Aurora. Puoi anche eseguire app SQL Server legacy con Babelfish per Aurora PostgreSQL, richiedendo modifiche minime al codice.

Amazon Aurora funziona con gli strumenti di importazione/esportazione PostgreSQL standard, come pg_dump o pg_restore. Puoi anche creare una nuova tabella Amazon Aurora utilizzando uno snapshot DB Amazon RDS o MySQL.

Le istantanee DB sono in genere veloci da completare, ma dipenderà dalla quantità e dal formato dei dati che vengono migrati.

Amazon Aurora contro Amazon RDS

Progetto di architettura

L’architettura RDS è simile in quanto consente di installare manualmente un motore di database su Amazon EC2, ma lascia il provisioning e la manutenzione ad AWS. RDS offre molte funzionalità come il failover automatico, i backup e così via. RDS utilizza volumi Amazon EBS per archiviare dati di log e database.

Il sistema di archiviazione del database Aurora è affidabile e tollerante ai guasti. L’archiviazione del database per Aurora è indipendente dalle istanze. Aurora archivia i dati in sei copie, ciascuna con blocchi da 10 GB. Queste copie vengono distribuite a tre zone di disponibilità. Anche se hai solo un’istanza Aurora, ci saranno comunque sei copie dei tuoi dati.

Prestazione

RDS utilizza l’archiviazione SSD per migliorare le prestazioni di throughput I/O. Sono disponibili due opzioni di archiviazione supportate da SSD. Uno è per applicazioni OLTP ad alte prestazioni, mentre l’altro è per uso generico ed economico.

Aurora offre il doppio delle prestazioni di PostgreSQL e cinque volte quelle di MySQL standard su hardware comparabile. Le prestazioni di Aurora sono state sempre più elevate e costanti.

Supporto del motore di database

RDS è compatibile con MySQL, PostgreSQL e MariaDB, nonché con Microsoft SQL Server e Oracle.

Aurora è compatibile sia con PostgreSQL che con MySQL. Ciò significa che puoi utilizzare gli strumenti e le app del database esistenti sia su PostgreSQL che su MySQL senza apportare modifiche.

Durata e disponibilità

Aurora dispone di un modello di archiviazione unico che consente backup e ripristini continui con un RPO (obiettivo dei punti di ripristino) molto basso. Questo lo rende più affidabile e durevole di RDS.

I dati sono durevoli per progettazione in Aurora. Ci sono sempre più copie dei tuoi dati. Ogni cluster Aurora ha sei nodi di archiviazione distribuiti su tre AZ. Anche se hai un solo nodo di calcolo, ci sono ancora più copie dei tuoi dati.

Resilienza

A causa del suo design architettonico, Aurora è più resiliente di RDS. È rapido riprendersi dai fallimenti. Se un nodo di calcolo si arresta in modo anomalo, Aurora può ripristinarsi rapidamente.

Magazzinaggio

Il ridimensionamento automatico dell’archiviazione RDS consente di ridimensionare la capacità di archiviazione a 64 TiB (tranne i 16 TiB di SQL Server) per soddisfare i crescenti carichi di lavoro del database. Non ci sono tempi morti.

Aurora aumenta automaticamente lo storage aumentandolo da un minimo di 10 GB a un massimo di 128 TiB. Lo spazio di archiviazione viene aumentato con incrementi di 10 GB senza alcun effetto sulle prestazioni del database.

Scalabilità

Ridimensionamento verticale: RDS e Aurora consentono entrambi di ridimensionare la memoria e le risorse di elaborazione fino a un massimo di 244 GiB di RAM e 32 CPU virtuali. In pochi secondi, puoi ridimensionare le operazioni.

Aurora Auto Scaling dinamico: Aurora Auto Scaling regola in modo dinamico il numero di repliche Aurora disponibili per un cluster database Aurora utilizzando la replica single-master. RDS NON supporta tale Auto Scaling.

Replica

RDS può essere utilizzato per fornire fino a cinque repliche. Il processo di replica è anche più lento di Aurora.

Aurora può fornire fino a 15 repliche e la replica richiede solo pochi secondi. Aurora scala più rapidamente perché può aggiungere rapidamente nuove repliche di lettura.

Fallimento

In RDS, il failover per leggere la replica avviene manualmente. Ciò potrebbe causare la perdita di dati. Multi-AZ (Standby Instance) può essere utilizzato per automatizzare il failover e prevenire la perdita di dati.

Per prevenire la perdita di dati, Aurora utilizza il failover per leggere automaticamente le repliche. Aurora ha un tempo di failover più rapido.

Endpoint del cluster

RDS ha un endpoint del cluster che puoi usare per eseguire le tue query di scrittura. È il puntatore DNS all’istanza del database master corrente. RDS instrada l’endpoint al nuovo master tramite una semplice modifica del DNS durante un failover.

L’endpoint del cluster è ancora disponibile in Aurora per la scrittura di query. Questo endpoint funge anche da bilanciamento del carico per le tue repliche di lettura. Questo endpoint può essere utilizzato per rispondere alle query di lettura.

Backup

RDS crea e salva automaticamente i backup delle istanze database durante la finestra di backup dell’istanza database. RDS crea uno snapshot della tua istanza database come volume di storage, eseguendo il backup di tutti i database e non solo di quelli selezionati.

Aurora esegue automaticamente il backup dei volumi del cluster e continua a ripristinare i dati per la durata del periodo di conservazione del backup. I backup Aurora sono continui e incrementali in modo da poter ripristinare rapidamente qualsiasi punto entro il periodo di conservazione del backup.

Di seguito è riportata la tabella riassuntiva per Amazon Aurora rispetto ad Amazon RDS:

Amazon AuroraAmazon RDSPuoi espandere lo storage da 10 GB a 64 GBRDS consente 64 GBS per tutti i motori, ma solo 16 GB per SQL ServerPuoi ridimensionare la memoria e il calcolo fino a un massimo di 32 vCPU e 244 GiB di RAMCome AuroraSupporta MySQL e PostgreSQLSupporta Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL e Amazon AuroraSupporta quindici replicheSupporta cinque replicheIl prezzo dipende dalle operazioni di I/OPuoi provarlo gratuitamente senza alcun costo minimo di utilizzo

Amazon Aurora contro DynamoDB

Durata e disponibilità

Ogni pezzo di dati DynamoDB viene replicato su più nodi fisici. Amazon ha posizionato questi nodi fisici in più zone (ovvero zone di disponibilità) per garantire un’elevata durabilità e disponibilità in caso di disastri come un incendio o un’interruzione di corrente importante. L’operazione continuerà anche se una copia si interrompe. Gli SSD sono anche altamente affidabili e durevoli.

Backup e ripristino

DynamoDB offre un backup su richiesta e PITR (backup point in time), che ti consente di accedere a qualsiasi stato del database. DynamoDB è in grado di eseguire il backup di qualsiasi quantità di dati. Le prestazioni e la disponibilità non saranno influenzate. Il backup richiede pochissimo tempo e gli utenti non devono preoccuparsi delle pianificazioni dei backup o dei processi in background. AWS consente il ripristino del backup con una sola chiamata API.

Il processo di backup di Amazon Aurora è simile a DynamoDB. È stato creato senza alcuna interruzione delle prestazioni o interruzioni del servizio di database. I backup di Amazon vengono salvati in un bucket S3. Aurora creerà automaticamente un backup di 30 minuti se non specifichiamo una finestra di backup.

Controllo di accesso

DynamoDB supporta utenti e ruoli IAM con policy granulari che limitano la creazione di database e i privilegi di query. Anche Amazon Aurora ha uno schema di autorizzazioni simile.

Tuttavia, Aurora fornisce anche interfacce di connessione compatibili con MySQL e PostgreSQL per connettersi al database.

DynamoDB, un servizio regionale, non è soggetto al limite VPC. Tuttavia, i cluster di database Aurora devono essere stabiliti in un VPC che definisca chiaramente i suoi confini di rete. Puoi anche utilizzare i gruppi di sicurezza VPC per controllare quali dispositivi o istanze Amazon EC2 possono connettersi all’istanza del database.

Di seguito è riportata la tabella riassuntiva per Amazon Aurora rispetto a DynamoDB:

Amazon AuroraDynamoDBIl database relazionale che supporta MySQL e PostgreSQLDatabase NoSQLMultiregione, master singoloMultiregione, multimasterLa replica può essere promossa a primaria in un minutoAlta disponibilitàLa latenza della replica è inferiore a 1 secondoLa latenza della replica è inferiore ai millisecondi

Conclusione

Questo è tutto. Stiamo tutti entrando in una nuova era nei database relazionali e Aurora è solo l’inizio. I clienti hanno risposto con un consenso schiacciante. Leader in ogni settore, come Capital One, Dow Jones, Netflix e Verizon, stanno migrando i loro carichi di lavoro di database relazionali su Aurora, incluse le edizioni compatibili con MySQL e PostgreSQL.