Sentiamo spesso questa domanda:che succede con Amazon Aurora? Quando si determina il miglior servizio di database gestito per la propria organizzazione, ci sono molteplici fattori da considerare e un filo conduttore che li attraversa tutti è la quantità di controllo necessaria. Amazon sta dando molto peso alla sua offerta Aurora DBaaS, ma, a seconda dei tuoi requisiti e priorità, scegliere di eseguire un database come MariaDB su Amazon EC2 o un servizio diverso, non Amazon, potrebbe essere più adatto a te.
Ecco quattro cose che probabilmente non sapevi su Amazon Aurora.
Un database obsoleto e obsoleto
Amazon Aurora 2.x utilizza una vecchia versione di MySQL 5.7.
Aurora 2.0.1 è stata rilasciata a febbraio 2018, utilizzando MySQL 5.7.12, a sua volta rilasciato nell'aprile 2016. Aurora 2.x utilizza ancora una vecchia versione di MySQL 5.7. Tuttavia, Amazon non pubblica più la versione di manutenzione che utilizza. Questo non dovrebbe sorprenderti. Ci sono state oltre una dozzina di versioni di manutenzione di MySQL dalla 5.7.12. Quante delle correzioni di bug contenute al loro interno ha effettuato il backport di Amazon? 17... su centinaia.
- Aurora 2.02.0:Bug #22833364
- Aurora 2.02.3:bug #24929748, #26867509, #22843444, #25080442
- Aurora 2.03.0:bug #24929748, #26867509, #22843444, #25080442
- Aurora 2.03.3:bug #25361251, #26734162, #27460607, #22343910, #23074801, #25287633
- Aurora 2.04.0:Bug #26225783
- Aurora 2.04.2:Bug #24829050
Se potessi scegliere un nuovo database, ne sceglieresti uno rilasciato più di tre anni fa, uno a cui mancano tre anni di correzioni di bug, patch di sicurezza, miglioramenti e nuove funzionalità?
Tempo di inattività e interruzione richiesti
Aurora richiede tempi di fermo per la manutenzione. Mentre alcuni interventi di manutenzione sono facoltativi e possono essere posticipati a tempo indeterminato, altri interventi di manutenzione come le patch di sicurezza e affidabilità non solo sono necessari, ma comportano tempi di inattività durante una finestra di manutenzione casuale di 30 minuti. Inoltre, gli aggiornamenti del database (ovvero gli aggiornamenti del motore di database) comportano 20-30 secondi di inattività perché vengono eseguiti contemporaneamente su ogni istanza di database all'interno di un cluster.
La piattaforma MariaDB, d'altra parte, supporta gli aggiornamenti in sequenza con passaggi graduali, consentendo ai DBA di eseguire la manutenzione senza tempi di inattività su richiesta.
Oltre alla manutenzione e agli aggiornamenti, Aurora può impiegare fino a due minuti per eseguire un failover automatico, con conseguente aumento dei tempi di inattività. Inoltre, il failover automatico comporta la perdita di connessioni, sessioni e transazioni in corso.
La piattaforma MariaDB, a differenza di Aurora, supporta il clustering multi-master per eliminare i tempi di inattività dovuti a un guasto imprevisto. Inoltre, la piattaforma MariaDB supporta la migrazione della connessione, il ripristino della sessione e la riproduzione delle transazioni per garantire che gli errori imprevisti non influiscano sulle applicazioni.
Mancanza di sicurezza aziendale
In Aurora mancano molte delle funzionalità di sicurezza aziendali previste dai database moderni, tra cui un firewall per database, mascheramento dinamico dei dati, ruoli, rotazione delle chiavi e TLS 1.3.
Aurora supporta Amazon Key Management Service, ma non supporta la rotazione delle chiavi per un'istanza di database. Piuttosto, è possibile utilizzare un alias di chiave per modificare la chiave per nuove istanze di database. Pertanto, anche se viene aggiunta una nuova chiave, le istanze del database esistenti continueranno a crittografare e decrittografare i dati utilizzando la vecchia chiave.
La piattaforma MariaDB supporta la rotazione delle chiavi e, quando viene aggiunta una nuova chiave, può ricrittografare automaticamente i dati utilizzando la nuova chiave, consentendo l'eliminazione della vecchia chiave.
Aurora non dispone del potente firewall del database e delle funzionalità di mascheramento dinamico del database disponibili nella piattaforma MariaDB e poiché Aurora è basata su una vecchia versione di MySQL, manca anche di ruoli. Inoltre, è limitato a TLS 1.0, 1.1 e 1.2.
Il minimo comune denominatore
Aurora fornisce agli utenti un database essenziale creato utilizzando un modello di cookie cutter inteso a soddisfare il minimo comune denominatore. Mentre la piattaforma MariaDB può scalare le letture, le scritture e l'archiviazione con lo sharding trasparente tramite il motore di archiviazione Spider, o beneficiare dello spazio di archiviazione ottimizzato per la scrittura e lo spazio su SSD tramite il motore di archiviazione MyRocks (sviluppato da Facebook), Aurora non ha nessuno dei due. È limitato al motore di archiviazione InnoDB.
Poi c'è l'archiviazione colonnare distribuita e l'elaborazione massicciamente parallela con MariaDB ColumnStore. È ancora un altro motore di archiviazione non disponibile in Aurora. Sebbene Amazon suggerisca di utilizzare Aurora per l'elaborazione transazionale e Redshift per l'analisi, entrambi possono essere eseguiti con la piattaforma MariaDB, che consente l'elaborazione ibrida transazionale/analitica (HTAP).
Oltre ai motori di archiviazione ottimizzati per il carico di lavoro, nella piattaforma MariaDB sono disponibili molte funzionalità che non è possibile trovare in Aurora, tra cui la compatibilità con Oracle Database (ad es. PL/SQL), tabelle temporali, rollback point-in-time, acquisizione di modifica dei dati in streaming , un produttore di Apache Kafka, suddivisione in lettura/scrittura trasparente, vincoli di controllo, espressioni di valore predefinite, espressioni di tabelle comuni, operatori di insiemi, funzioni di finestra, funzioni definite dall'utente (scalare, aggregata e finestra), sequenze e altro.
L'esperienza di Amazon con Aurora illustra l'importanza delle considerazioni di cui sopra. Poco dopo aver spostato alcuni dei suoi database su Aurora, Amazon ha riscontrato interruzioni diffuse e altri problemi di database durante il Prime Day 2018. Con l'avvicinarsi del Prime Day 2019, auguriamo ad Amazon buona fortuna!