Tot ce nu știai despre Amazon Aurora

Sistemele tradiționale de gestionare a bazelor de date se confruntă cu numeroase obstacole legate de performanță, accesibilitate neîntreruptă și adaptabilitate la cerințe în continuă schimbare. Amazon Aurora se prezintă ca soluția ideală pentru a depăși aceste limitări.

Bazele de date reprezintă fundamentul aplicațiilor care susțin operațiunile companiilor. Pentru a oferi servicii de calitate superioară, acestea trebuie să fie mai robuste, mai fiabile și mai rapide. Amazon Web Services simplifică procesul de gestionare a datelor și contribuie la creșterea satisfacției clienților.

Serviciul web AWS Aurora de la Amazon ilustrează această tendință. Acesta utilizează volume de cluster pentru a gestiona datele și pentru a asigura recuperarea rapidă în caz de nevoie.

Ce este Amazon Aurora?

Amazon Aurora, o platformă de baze de date construită pentru cloud, se aliniază perfect cu standardele open-source MySQL și PostgreSQL. Aurora este pe deplin compatibilă cu toate caracteristicile MySQL și oferă compatibilitate directă cu aplicațiile create pentru aceste baze de date.

Aurora a fost concepută pentru clienții care caută un serviciu complet gestionat, care să combine avantajele economice și ușurința de utilizare a bazelor de date open-source cu performanțele înalte ale unei baze de date comerciale.

Aurora demonstrează performanțe de cinci ori mai bune comparativ cu MySQL tradițional și de trei ori superioare față de PostgreSQL. Amazon RDS se ocupă de sarcinile legate de provizionare, backup și recuperare. Utilizatorii nu plătesc costuri inițiale, ci doar un abonament lunar.

Caracterul unic al Aurora constă în capacitatea de a oferi o experiență operațională excelentă și funcții specifice companiilor la un preț semnificativ mai mic decât al bazelor de date comerciale.

Aurora se distinge prin performanță, accesibilitate, securitate și fiabilitate la nivel global. De la lansarea sa în 2014, Aurora a devenit serviciul cu cea mai rapidă creștere din portofoliul AWS.

Pentru ce se folosește Amazon Aurora?

Ascensiunea remarcabilă a Aurorei este rezultatul unui interes intens din partea diverselor sectoare. În ultimul an, s-a observat un apetit crescut pentru serviciile oferite de sectorul financiar, industria software și internetul, precum și de companiile din domeniul divertismentului și jocurilor.

Clienții migrează către Aurora MySQL și Aurora PostgreSQL pentru a-și unifica bazele de date MySQL și PostgreSQL. Se observă, de asemenea, o tendință de migrare de la baze de date tradiționale precum Oracle sau Microsoft SQL Server către Aurora PostgreSQL.

Acești clienți sunt motivați de dorința de a evita costurile ridicate de licențiere și de a se elibera de constrângerile impuse de bazele de date învechite. Clienții care înregistrează o creștere rapidă doresc să se extindă rapid și eficient în toate regiunile, precum și să se integreze cu serviciile AWS.

Beneficiile Amazon Aurora

Iată câteva dintre avantajele oferite de utilizarea Amazon Aurora:

Scalabilitate

Puteți activa scalarea automată. Aceasta va crește capacitatea de stocare atunci când este necesar mai mult spațiu și o va reduce în caz de scădere a necesarului de stocare.

Cost-Eficient

Plătiți numai pentru puterea de procesare și spațiul de stocare utilizate. Nu există taxe inițiale sau costuri ascunse. Plățile lunare sunt ușor de gestionat.

Securitate

Amazon VPC vă permite să izolați rețeaua în care funcționează baza de date.

Puteți utiliza AWS Key Management Service pentru a crea chei de criptare care protejează datele.

Disponibilitate ridicată și durabilitate

Puteți crea copii multiple ale Aurorei în diferite zone de disponibilitate.

Aceasta este o bază de date globală care poate fi distribuită cu ușurință în mai multe regiuni AWS, ceea ce reduce timpul de citire/scriere.

Suport pentru migrație

Pentru a migra o bază de date locală către Aurora, puteți utiliza comenzile pg-dump sau MySQL dump.

Complet gestionat

Aurora este extrem de ușor de utilizat. Configurarea unei instanțe se face simplu, prin intermediul consolei AWS RDS. Aurora oferă monitorizare cu Amazon Cloudwatch, fără costuri suplimentare.

Nu este nevoie să vă faceți griji cu privire la furnizarea, actualizarea sau mentenanța sistemului. Amazon preia controlul complet asupra tuturor aspectelor software-ului și va efectua corecțiile necesare.

Cele mai bune caracteristici ale Amazon Aurora

Mai jos sunt prezentate cele mai importante caracteristici ale Amazon Aurora:

Scalabilitate: Aceasta este cea mai importantă calitate a Amazon Aurora. Baza de date își ajustează automat dimensiunea în funcție de cerințele de stocare. Volumul poate crește în pași de 10 GB, ajungând la un maxim de 128 TB. Această abordare permite stocarea neîntreruptă.

Debit ridicat: Testele SysBench au demonstrat o creștere de cinci ori a debitului. Amazon Aurora utilizează diverse tehnici software și hardware pentru a maximiza memoria, capacitatea de procesare și rețeaua disponibile. Pentru a îmbunătăți consistența performanței, operațiunile de intrare și ieșire folosesc tehnologii distribuite, precum cvorumurile.

Monitorizarea și repararea instanțelor: Amazon RDS monitorizează constant starea și performanța bazei de date Amazon Aurora, precum și a instanțelor EC2 subiacente. În caz de defecțiune a bazei de date sau a proceselor asociate, Amazon RDS repornește automat baza de date.

Criptare: Amazon Aurora oferă securitate sporită, permițându-vă să criptați baza de date utilizând chei create și controlate prin intermediul AWS Key Management Service. Amazon Aurora folosește criptarea SSL pentru a proteja datele în timpul transferului.

Ușor de utilizat: Amazon Aurora este ușor de utilizat. Consola de administrare Amazon RDS este folosită pentru a crea noi instanțe Amazon Aurora DB. Un singur apel API sau CLI este suficient. Instanțele DB Amazon Aurora vin preconfigurate cu parametrii și setările corespunzătoare pentru fiecare tip de instanță DB.

Cost-eficient: Plătiți doar pentru ceea ce utilizați. Nu există costuri inițiale sau alte taxe. Plățile lunare sunt simplificate.

Suport pentru migrație: Pentru a muta baza de date locală la Aurora, puteți utiliza comenzile pg-dump sau MySQL dump.

Aurora este complet gestionată: Puteți începe să o utilizați imediat. Tot ce trebuie să faceți este să creați o instanță folosind consola AWS RDS sau apelând un API din codul dvs. Nu este nevoie să vă faceți griji cu privire la furnizare, actualizare sau mentenanță.

Arhitectura Amazon Aurora

Întreaga structură a bazei de date Aurora este construită pe baza unui sistem tradițional de gestionare a bazelor de date (DBMS). Acesta refolosește majoritatea componentelor DBMS, precum managerul de tranzacții, motorul de execuție a interogărilor și managerul de recuperare.

Amazon Aurora este un nou tip de DBMS care depășește modelul tradițional. Aceasta aduce îmbunătățiri semnificative sistemelor existente pentru a le crește disponibilitatea, fiabilitatea și scalabilitatea.

Aceste modificări includ:

  • Utilizarea unei configurații master-replica
  • Stocarea la distanță a datelor poate fi replicată
  • Doar jurnalele de modificări trebuie să fie salvate pe discul de la distanță

Arhitectura Amazon Aurora permite extinderea straturilor de stocare ale bazelor de date relaționale tradiționale.

Instanța principală de bază de date Amazon Aurora transmite jurnalul de refacere către stratul de stocare pentru procesare. Jurnalele sunt procesate de stratul de stocare, care creează și salvează versiuni noi de pagină și efectuează backup pentru acestea în S3.

Credit imagine: AWS

Amazon Aurora trebuie doar să creeze instanțe suplimentare de motor de bază de date și să le conecteze la stratul de stocare existent în timpul unei extinderi. Această abordare elimină blocajele în replicarea datelor prin delegarea acestor sarcini de procesare paralelă la nivel de stocare.

Această abordare facilitează implementarea unor funcții noi, precum:

  • Recuperare instantanee în caz de avarie: Nu mai este necesară redarea jurnalele de la ultimul punct de control.
  • Executarea rapidă a erorilor: Nu este nevoie să vă faceți griji cu privire la baza de date replică care deține cea mai recentă înregistrare din jurnalul de refacere. Stratul de stocare gestionează acest aspect.
  • Backtracking: Deoarece stratul de stocare transmite jurnalele de refacere, poate „derula” datele la anumite momente din trecut, fără a fi nevoie de restabilirea unui punct de control din backup-ul S3.

Configurarea Amazon Aurora

Iată pașii necesari pentru a configura cu succes Amazon Aurora.

#1. Conectați-vă la consola de administrare AWS și deschideți RDS.

#2. Faceți clic pe crearea bazei de date.

#3. Selectați opțiunea Motor ca Amazon Aurora.

#4. Selectați versiunea Aurora MySQL de care aveți nevoie.

#5. Creați un identificator de cluster DB și setați numele de utilizator și parola pentru setările de acreditări.

#6. Selectați configurația instanței din opțiunea drop-down și alegeți o opțiune pentru a crea replica sau nu.

#7. Selectați opțiunile de conectivitate așa cum se arată mai jos.

#8. Alegeți un grup de securitate VPC existent sau creați unul nou.

#9. Activați monitorizarea îmbunătățită, selectați opțiunea de granularitate și rol de monitorizare.

#10. În final, dați clic pe creați o bază de date.

#11. Ați creat cu succes baza de date Amazon Aurora.

Model de preț: Amazon Aurora

Aurora Serverless ACU v2 costă 0,12 USD pe oră, dublu față de ACU-urile Aurora furnizate. Aceasta înseamnă:

  • Costul minim de funcționare curentă: 4 ACU, 0,48 USD pe oră sau 350 USD pe lună
  • Pentru sarcinile care declanșează frecvent funcția de scalare automată, există o creștere minimă a scalabilității de 30 de secunde sau 0,0005 USD pentru jumătate de ACU.

Costul lunar pentru Aurora Serverless V2 este de 350 USD. Fiecare eveniment de scalare automată va fi taxat cu minimum 0,0005 USD. Deși capacitatea echivalentă Aurora este de 175 USD pe lună, nu ar dispune de scalare automată fără server rapidă.

Cazuri de utilizare: Amazon Aurora

#1. Software ca serviciu (SaaS)

Utilizează arhitecturi multi-client care oferă flexibilitate în stocare și scalare. Astfel, Amazon Aurora permite companiilor să se concentreze pe crearea de aplicații de înaltă calitate, fără a se preocupa de baza de date.

#2. Industria jocurilor

AWS Aurora funcționează ca o bază de date relațională. Aceasta oferă debit ridicat, capacitate mare de stocare, disponibilitate continuă și fiabilitate.

#3. Aplicații Enterprise

Amazon Aurora este compatibilă cu orice companie care utilizează deja o bază de date relațională. Aurora este rentabilă, deoarece reduce costurile cu până la 90% în comparație cu alte alternative.

Compatibilitatea Aurora cu MySQL și PostgreSQL

Amazon Aurora este creată pentru performanțe ridicate, disponibilitate globală și compatibilitate deplină cu MySQL/PostgreSQL. Instrumentele standard simplifică migrarea bazelor de date MySQL și PostgreSQL la Aurora. De asemenea, puteți rula aplicații vechi SQL Server cu Babelfish pentru Aurora PostgreSQL, cu modificări minime de cod.

Amazon Aurora funcționează cu instrumente standard de import/export PostgreSQL, precum pg_dump sau pg_restore. Puteți crea, de asemenea, un nou tabel Amazon Aurora folosind un instantaneu DB Amazon RDS sau MySQL.

Instantaneele DB se finalizează de obicei rapid, dar durata depinde de volumul și formatul datelor migrate.

Amazon Aurora vs Amazon RDS

Design arhitectural

Arhitectura RDS este similară, deoarece vă permite să instalați manual un motor de bază de date pe Amazon EC2, lăsând furnizarea și mentenanța în sarcina AWS. RDS oferă funcții precum failover automat, backup etc. RDS utilizează volume Amazon EBS pentru a stoca jurnalele și bazele de date.

Sistemul de stocare al bazei de date Aurora este robust și rezistent la erori. Stocarea bazei de date pentru Aurora este independentă de instanțe. Aurora stochează datele în șase copii, fiecare de 10 GB. Aceste copii sunt distribuite în trei Zone de Disponibilitate. Chiar dacă aveți o singură instanță Aurora, vor exista șase copii ale datelor dvs.

Performanţă

RDS utilizează stocarea SSD pentru a îmbunătăți performanța transferului I/O. Sunt disponibile două opțiuni de stocare cu suport SSD. Una este pentru aplicații OLTP de înaltă performanță, iar cealaltă este pentru utilizare generală, fiind rentabilă.

Aurora oferă o performanță dublă față de PostgreSQL și de cinci ori mai mare decât MySQL standard pe un hardware similar. Performanța Aurorei a fost constant mai ridicată și mai uniformă.

Suport pentru motorul bazei de date

RDS este compatibil cu MySQL, PostgreSQL și MariaDB, precum și cu Microsoft SQL Server și Oracle.

Aurora este compatibilă atât cu PostgreSQL, cât și cu MySQL. Aceasta înseamnă că puteți folosi instrumentele și aplicațiile existente pe PostgreSQL și MySQL, fără a face modificări.

Durabilitate și disponibilitate

Aurora are un model de stocare unic, care permite backup-uri și restaurări continue, cu un RPO foarte scăzut (obiectiv puncte de recuperare). Aceasta o face mai fiabilă și mai durabilă decât RDS.

Datele sunt durabile prin design în Aurora. Există întotdeauna multiple copii ale datelor dvs. Fiecare cluster Aurora are șase noduri de stocare distribuite în trei AZ. Chiar dacă aveți un singur nod de calcul, există mai multe copii ale datelor.

Reziliență

Datorită designului arhitectural, Aurora este mai rezistentă decât RDS. Se recuperează rapid după erori. Dacă un nod de calcul se blochează, Aurora se poate recupera rapid.

Depozitare

Scalarea automată a stocării RDS mărește capacitatea de stocare la 64 TiB (cu excepția celor 16 TiB de la SQL Server) pentru a se adapta la cerințele în creștere ale bazelor de date. Nu există timp de nefuncționare.

Aurora crește automat stocarea de la un minim de 10 GB la un maxim de 128 TiB. Spațiul de stocare este mărit în pași de 10 GB, fără a afecta performanța bazei de date.

Scalabilitate

Scalare verticală: RDS și Aurora vă permit ambele să scalați memoria și capacitatea de procesare la un maxim de 244 GiB RAM și 32 de procesoare virtuale. Puteți scala operațiunile în câteva secunde.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling ajustează dinamic numărul de replici Aurora disponibile pentru un cluster Aurora DB folosind replicarea cu un singur master. RDS NU oferă această formă de scalare automată.

Replicare

RDS poate fi utilizat pentru a oferi până la cinci replici. Procesul de replicare este, de asemenea, mai lent decât în Aurora.

Aurora poate furniza până la 15 replici, iar replicarea durează doar câteva secunde. Aurora se scalează mai rapid, deoarece poate adăuga rapid noi replici de citire.

Failover

În RDS, failoverul pentru a citi replica se realizează manual. Acest lucru poate duce la pierderi de date. Pentru a automatiza failoverul și a preveni pierderile de date, se poate utiliza Multi-AZ (instanță Standby).

Pentru a preveni pierderile de date, Aurora utilizează automat failoverul pentru replicile de citire. Aurora are un timp de failover mai rapid.

Puncte finale ale clusterului

RDS are un punct final de cluster pe care îl puteți folosi pentru a rula interogările de scriere. Acesta este indicatorul DNS către instanța curentă de bază de date master. RDS direcționează punctul final către noul master printr-o simplă modificare DNS în timpul unui failover.

Punctul final al clusterului este disponibil și în Aurora pentru interogările de scriere. Acest punct final acționează și ca un echilibrator de încărcare pentru replicările dvs. de citire. Punctul final poate fi folosit pentru a răspunde la întrebările de citire.

Backup

RDS creează și salvează automat copii de rezervă ale instanțelor DB în timpul ferestrei de backup a instanței DB. RDS realizează un instantaneu al instanței DB ca volum de stocare, făcând copii de rezervă pentru toate bazele de date, nu doar pentru cele selectate.

Aurora efectuează automat backup pentru volumele clusterului și restaurează continuu datele pe durata perioadei de păstrare a backupului. Backup-urile Aurora sunt continue și incrementale, astfel încât puteți restaura rapid orice punct din perioada de păstrare a backupului.

Mai jos este un tabel care prezintă principalele diferențe între Amazon Aurora și Amazon RDS:

Amazon Aurora Amazon RDS
Puteți extinde spațiul de stocare de la 10 GB la 64 GB RDS permite 64 GB pentru toate motoarele, dar numai 16 GB pentru serverul SQL
Puteți scala memoria și capacitatea de procesare până la un maxim de 32 vCPU-uri și 244 GiB de RAM La fel ca și Aurora
Acceptă MySQL și PostgreSQL Suportă Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL și Amazon Aurora
Acceptă cincisprezece replici Acceptă cinci replici
Prețul depinde de operațiunile I/O. Puteți încerca gratuit fără taxă minimă de utilizare

Amazon Aurora vs. DynamoDB

Durabilitate și disponibilitate

Fiecare bucată de date DynamoDB este replicată în mai multe noduri fizice. Amazon a plasat aceste noduri în diferite zone de disponibilitate pentru a asigura durabilitate și disponibilitate ridicată în caz de dezastru, precum incendii sau întreruperi majore de curent. Operația va continua chiar dacă o copie devine inaccesibilă. SSD-urile oferă fiabilitate și durabilitate ridicate.

Backup și restaurare

DynamoDB oferă copii de rezervă la cerere și PITR (backup-uri punct în timp), care vă permit să accesați orice stare a bazei de date. DynamoDB poate realiza copii de rezervă pentru orice volum de date, fără a afecta performanța sau disponibilitatea. Backup-ul durează foarte puțin, iar utilizatorii nu trebuie să se preocupe de programări sau procese de fundal. AWS permite recuperarea de rezervă printr-un singur apel API.

Procesul de backup Amazon Aurora este similar cu cel al DynamoDB. A fost creat pentru a funcționa fără a afecta performanța sau disponibilitatea serviciului de bază de date. Backup-urile Amazon sunt salvate într-un bucket S3. Aurora va crea automat un backup la fiecare 30 de minute, dacă nu se specifică o fereastră de backup.

Controlul accesului

DynamoDB oferă suport pentru utilizatori și roluri IAM, cu politici detaliate care limitează crearea bazei de date și permisiunile de interogare. Amazon Aurora are un sistem de permisiuni similar.

Cu toate acestea, Aurora oferă și interfețe de conectare compatibile cu MySQL și PostgreSQL pentru a se conecta la baza de date.

DynamoDB, un serviciu regional, nu este supus limitărilor VPC. Clusterele Aurora DB trebuie, în schimb, să fie stabilite într-un VPC care să definească clar limitele rețelei. Puteți utiliza, de asemenea, grupurile de securitate VPC pentru a controla ce dispozitive sau instanțe Amazon EC2 au permisiunea să se conecteze la instanța bazei de date.

Mai jos este un tabel care prezintă diferențele dintre Amazon Aurora și DynamoDB:

Amazon Aurora DynamoDB
Bază de date relațională care acceptă MySQL și PostgreSQL Bază de date NoSQL
Multi-regiuni, un singur master Multi-regiuni, multi-master
Replica poate fi promovată la primară într-un minut Disponibilitate ridicată
Latența de replicare este mai mică de 1 secundă Latența de replicare este sub milisecunde

Concluzie

Acesta este tot. Suntem în pragul unei noi ere în domeniul bazelor de date relaționale, iar Aurora este doar începutul. Clienții au primit această inovație cu entuziasm. Lideri din diverse sectoare, precum Capital One, Dow Jones, Netflix și Verizon, migrează sarcinile de lucru ale bazelor de date relaționale către Aurora, inclusiv edițiile compatibile cu MySQL și PostgreSQL.