Tradicionalni sistemi baza podataka suočavaju se sa brojnim ograničenjima u pogledu performansi, dostupnosti i mogućnosti skaliranja. Amazon Aurora predstavlja rešenje za prevazilaženje tih izazova.
Baze podataka igraju ključnu ulogu u pokretanju poslovnih aplikacija. Potrebno je da budu veće, pouzdanije i brže kako bi omogućile kvalitetnije usluge. Amazon Web Services (AWS) pruža preduzećima alate za efikasno upravljanje podacima i unapređenje zadovoljstva korisnika.
AWS Aurora je primer takve usluge. Ona koristi sistem klastera za upravljanje podacima i njihovo efikasno skladištenje, uz mogućnost brzog pravljenja rezervnih kopija.
Šta je Amazon Aurora?
Amazon Aurora, baza podataka zasnovana na cloud tehnologiji, u potpunosti je kompatibilna sa open-source sistemima MySQL i PostgreSQL. Aurora podržava sve funkcije open-source MySQL-a, omogućavajući kompatibilnost sa aplikacijama koje koriste ove baze podataka.
Aurora je dizajnirana za korisnike kojima je potrebna potpuno upravljana usluga baze podataka, uz ekonomičnost i jednostavnost open-source rešenja, ali i performanse komercijalnih baza podataka.
Aurora pruža do pet puta bolje performanse od standardnog MySQL-a i do tri puta bolje od PostgreSQL-a. Amazon RDS se brine o zadacima kao što su obezbeđivanje, pravljenje rezervnih kopija i oporavak podataka. Ne postoje inicijalni troškovi, već se plaća samo mesečna naknada.
Jedinstvenost Aurore ogleda se u njenoj sposobnosti da ponudi vrhunsko operativno iskustvo i poslovne karakteristike, po znatno nižoj ceni u poređenju sa komercijalnim bazama podataka.
Aurora globalno obezbeđuje performanse, dostupnost, sigurnost i pouzdanost bez premca. Od svog osnivanja 2014. godine, Aurora je postala najbrže rastuća usluga u AWS portfoliju.
Za šta se koristi Amazon Aurora?
Izuzetan rast Aurore potaknut je velikim interesovanjem različitih industrija. Posebno veliko interesovanje je primetno u finansijskim uslugama, softverskoj industriji, internetu, zabavi, igrama i maloprodaji tokom prethodnih dvanaest meseci.
Korisnici migriraju na Aurora MySQL i Aurora PostgreSQL kako bi konsolidovali svoje postojeće MySQL i PostgreSQL baze podataka. Takođe je primetan trend migracije sa starijih baza podataka, kao što su Oracle i Microsoft SQL Server, na Aurora PostgreSQL.
Ovakvi korisnici su se umorili od visokih troškova licenciranja i ograničenja zastarelih baza podataka. Kompanije sa visokim rastom žele da se brzo i neometano šire u svim regionima, uz mogućnost integracije sa drugim AWS uslugama.
Prednosti Amazon Aurore
Sledi pregled prednosti korišćenja Amazon Aurore:
Prilagodljivost
Omogućeno je automatsko skaliranje. Kapacitet skladištenja se povećava kada je potrebno više prostora, a smanjuje se kada se prostor oslobodi.
Isplativost
Plaća se samo procesorska snaga i prostor za skladištenje koji se koriste. Nema početnih troškova ili drugih skrivenih naknada, već se vrše jednostavne mesečne uplate.
Sigurnost
Amazon VPC omogućava izolaciju mreže sa koje se pristupa bazi podataka.
AWS Key Management Service se koristi za kreiranje ključeva za enkripciju koji štite podatke.
Visoka dostupnost i izdržljivost
Moguće je kreiranje Aurora replika u više zona dostupnosti.
Aurora je globalna baza podataka koja se može lako distribuirati u više AWS regiona, što može poboljšati lokalne brzine čitanja i pisanja.
Podrška za migraciju
Za migraciju lokalne baze podataka na Auroru, mogu se koristiti komande pg-dump ili MySQL dump.
Potpuno upravljanje
Aurora je jednostavna za upotrebu. Lako je podesiti instancu putem AWS RDS konzole. Aurora nudi praćenje pomoću Amazon CloudWatch-a, bez dodatnih troškova.
Nema potrebe da se brinete o obezbeđivanju, ažuriranju ili nadogradnji. Amazon preuzima potpunu kontrolu nad svim aspektima softvera i primenjuje sve neophodne zakrpe.
Najbolje karakteristike Amazon Aurore
Sledi pregled najboljih karakteristika Amazon Aurore:
Skalabilnost: Ovo je jedna od najistaknutijih karakteristika. Baza podataka automatski povećava veličinu prema zahtevima za skladištenjem. Volumen može rasti u koracima do 10 GB i dostići maksimalno 128 TB, omogućavajući besprekorno skladištenje.
Visoka propusnost: Testovi su pokazali pet puta povećanje propusnosti. Amazon Aurora koristi različite softverske i hardverske tehnike kako bi maksimizirala raspoloživu memoriju, procesorsku snagu i mrežno povezivanje. Za poboljšanje konzistentnosti performansi, ulazne i izlazne operacije koriste tehnike distribuiranog sistema.
Nadgledanje i popravka instanci: Amazon RDS kontinuirano prati zdravlje i performanse Amazon Aurora baze podataka, kao i osnovnih EC2 instanci. Amazon RDS automatski ponovo pokreće bazu podataka u slučaju bilo kakvog kvara.
Enkripcija: Amazon Aurora pruža visoku sigurnost omogućavanjem enkripcije baze podataka pomoću ključeva koje korisnik kontroliše i kreira putem AWS Key Management Service. Amazon Aurora koristi SSL enkripciju za zaštitu podataka tokom prenosa.
Jednostavnost upotrebe: Amazon Aurora je jednostavna za korišćenje. Amazon RDS Management Console se koristi za kreiranje nove Amazon Aurora DB instance. Ovaj API poziv ili CLI, zahteva samo jedan API poziv. Amazon Aurora DB instance dolaze unapred konfigurirane sa odgovarajućim parametrima i postavkama za svaki tip DB instance.
Isplativost: Plaćate samo ono što koristite, bez skrivenih naknada. Plaćanje se vrši jednostavno, putem mesečnih uplata.
Podrška za migraciju: Za migraciju lokalne baze podataka na Auroru, mogu se koristiti komande pg-dump ili MySQL dump.
Potpuna kontrola: Aurora je potpuno kontrolisana. Možete odmah početi da je koristite. Sve što je potrebno je kreiranje instance pomoću AWS RDS konzole ili pozivanje API-ja iz koda. Nema potrebe da se brinete o obezbeđivanju, ažuriranju ili nadogradnji.
Amazon Aurora Arhitektura
Celokupna arhitektura Aurora baze podataka izgrađena je na vrhu tradicionalnog DBMS-a. Ponovo koristi većinu komponenti DBMS-a, kao što su menadžer transakcija, mehanizam za izvršavanje upita i menadžer za oporavak.
Amazon Aurora je novi DBMS koji prevazilazi ograničenja tradicionalnih sistema. On uvodi mnoga poboljšanja postojećih DBMS-ova kako bi se povećala njihova dostupnost, pouzdanost i skalabilnost.
Ove promene obuhvataju:
- Korišćenje primarne replike
- Mogućnost replikacije udaljenog skladištenja podataka
- Čuvanje samo promena na udaljenom disku
Arhitektura Amazon Aurore omogućava proširenje slojeva skladištenja tradicionalnih relacionih baza podataka.
Primarna instanca baze podataka Amazon Aurore prosleđuje evidenciju redosleda svom sloju za skladištenje radi obrade. Evidencije se obrađuju u sloju za skladištenje, koji kreira i čuva nove verzije stranica i pravi rezervne kopije svega na S3.
Kredit za sliku: AWS
Amazon Aurora kreira dodatne instance motora baze podataka i povezuje ih sa postojećim slojem skladištenja tokom skaliranja. Ovo eliminiše uska grla u replikaciji podataka delegiranjem ovih zadataka za paralelnu obradu na sloj skladištenja.
Ovo omogućava kreiranje mnogih novih funkcija, kao što su:
- Trenutni oporavak od pada: Nema potrebe za ponovnim reprodukovanjem evidencije od poslednje kontrolne tačke.
- Brzi prelasci na grešku: Nema potrebe za proverom koja replika baze podataka ima najnoviju evidenciju. Sloj za skladištenje to rešava.
- Vraćanje unazad: S obzirom da sloj za skladištenje ima stream evidencija, može da „premotava“ podatke do određenih tačaka u prošlosti, bez potrebe za vraćanjem kontrolne tačke iz rezervne kopije S3.
Podešavanje Amazon Aurore
Sledi pregled koraka za uspešno podešavanje Amazon Aurore:
#1. Prijavite se na AWS upravljačku konzolu i otvorite RDS.
#2. Kliknite na kreiranje baze podataka.
#3. Izaberite opciju Engine kao Amazon Aurora.
#4. Izaberite Aurora MySQL verziju koja vam je potrebna.
#5. Kreirajte identifikator DB klastera i podesite korisničko ime i lozinku.
#6. Izaberite konfiguraciju instance iz padajućeg menija i izaberite opciju za kreiranje replike ili ne.
#7. Izaberite opcije povezivanja kao što je prikazano u nastavku.
#8. Izaberite iz postojeće VPC sigurnosne grupe ili kreirajte novu.
#9. Omogućite poboljšano praćenje, izaberite opciju granularnosti i uloge nadgledanja.
#10. Na kraju kliknite na kreiranje baze podataka.
#11. Uspešno ste kreirali bazu podataka Amazon Aurora.
Model cena: Amazon Aurora
Aurora ACU bez servera v2 košta 0,12 USD na sat, što je dvostruko više od cene obezbeđenih Aurora ACU. Ovo znači:
- Minimalni troškovi rada: 4 ACU, 0,48 USD na sat ili 350 USD mesečno.
- Za radna opterećenja koja patološki pokreću funkciju automatskog skaliranja, postoji minimalno povećanje skalabilnosti od 30 sekundi ili 0,0005 USD za pola ACU-a.
Mesečni trošak za Aurora Serverless V2 iznosi 350 USD. Svaki događaj sa automatskom skalom biće naplaćen najmanje 0,0005 USD. Iako je ekvivalentni kapacitet Aurore 175 USD mesečno, ne bi imao automatsko skaliranje bez servera.
Primena: Amazon Aurora
#1. Softver kao usluga (SaaS)
Koristi multi-tenant arhitekture koje su fleksibilne u skladištenju i skaliranju instanci. Amazon Aurora omogućava kompanijama da se fokusiraju na razvoj visokokvalitetnih aplikacija, bez brige o bazi podataka.
#2. Gaming
AWS Aurora funkcioniše na isti način kao i relaciona baza podataka. Pruža visoku propusnost, ogroman kapacitet skladištenja, visok nivo dostupnosti i pouzdanosti.
#3. Enterprise aplikacije
Amazon Aurora je kompatibilna sa bilo kojom firmom koja koristi relacionu bazu podataka. Aurora je isplativa jer smanjuje troškove do 90% u poređenju sa drugim opcijama.
Kompatibilnost Aurore sa MySQL i PostgreSQL
Amazon Aurora je dizajnirana za visoke performanse, globalnu dostupnost i potpunu MySQL/PostgreSQL kompatibilnost. Standardni alati olakšavaju migraciju MySQL i PostgreSQL baza podataka na Auroru. Takođe možete pokrenuti stare SQL Server aplikacije sa Babelfish for Aurora PostgreSQL, što zahteva minimalne izmene koda.
Amazon Aurora radi sa standardnim PostgreSQL alatima za uvoz/izvoz, kao što su pg_dump ili pg_restore. Takođe možete kreirati novu Amazon Aurora tabelu koristeći Amazon RDS ili MySQL DB snapshot.
DB snapshotovi se obično brzo završavaju, ali vreme zavisi od količine i formata podataka koji se migriraju.
Amazon Aurora protiv Amazon RDS
Arhitektura dizajn
Arhitektura RDS-a je slična po tome što omogućava ručnu instalaciju mašine baze podataka na Amazon EC2, ali AWS preuzima na sebe brigu oko obezbeđivanja i održavanja. RDS nudi funkcije kao što su automatsko prebacivanje u slučaju greške, pravljenje rezervnih kopija itd. RDS koristi Amazon EBS volumene za skladištenje podataka evidencije i baze podataka.
Sistem za skladištenje baze podataka Aurore je pouzdan i otporan na greške. Skladište baze podataka za Auroru je nezavisno od instanci. Aurora skladišti podatke u šest kopija, svaka sa delovima od 10 GB. Ove kopije se distribuiraju u tri zone dostupnosti. Čak i ako imate samo jednu instancu Aurore, i dalje će postojati šest kopija vaših podataka.
Performanse
RDS koristi SSD memoriju za poboljšane performanse ulazno/izlaznog protoka. Dostupne su dve opcije za skladištenje koje podržava SSD. Jedna je za OLTP aplikacije visokih performansi, dok je druga za opštu, ekonomičnu upotrebu.
Aurora nudi dvostruko bolje performanse od PostgreSQL-a i pet puta bolje od standardnog MySQL-a na uporedivom hardveru. Aurorin učinak je konstantno veći i dosledniji.
Podrška motora baze podataka
RDS je kompatibilan sa MySQL, PostgreSQL i MariaDB, kao i sa Microsoft SQL Serverom i Oracleom.
Aurora je kompatibilna i sa PostgreSQL-om i sa MySQL-om. To znači da možete koristiti postojeće alate i aplikacije baze podataka i na PostgreSQL i na MySQL-u, bez ikakvih izmena.
Trajnost i dostupnost
Aurora ima jedinstveni model skladištenja koji omogućava kontinuirano pravljenje rezervnih kopija i vraćanje sa veoma niskim RPO (cilj tačaka oporavka). To ga čini pouzdanijim i izdržljivijim od RDS-a.
Podaci su trajni po dizajnu u Aurori. Uvek postoji više kopija vaših podataka. Svaki Aurora klaster ima šest čvorova za skladištenje raspoređenih u tri AZ. Čak i ako imate samo jedan računarski čvor, i dalje postoji više kopija vaših podataka.
Elastičnost
Zahvaljujući svom arhitektonskom dizajnu, Aurora je otpornija od RDS-a. Brzo se oporavlja od neuspeha. Ako se računarski čvor sruši, Aurora se može brzo oporaviti.
Skladištenje
Automatsko skaliranje RDS skladišta smanjuje kapacitet skladištenja na 64 TiB (osim SQL Server-ovih 16 TiB) kako bi se prilagodio rastućim opterećenjima baze podataka. Nema zastoja.
Aurora automatski povećava prostor za skladištenje tako što ga povećava sa minimalnih 10 GB na maksimalno 128 TiB. Skladištenje se povećava u koracima od 10 GB bez ikakvog uticaja na performanse baze podataka.
Prilagodljivost
Vertikalno skaliranje: RDS i Aurora omogućavaju skaliranje memorije i računarskih resursa na maksimalno 244 GiB RAM-a i 32 virtuelna CPU-a. Za nekoliko sekundi, možete skalirati operacije.
Aurora Auto Scaling Dynamic: Aurora Auto Scaling dinamički prilagođava koliko je Aurora replika dostupno za Aurora DB klaster korišćenjem replikacije sa jednim glavnim. RDS NE podržava takvo automatsko skaliranje.
Replikacija
RDS se može koristiti za obezbeđivanje do pet replika. Proces replikacije je takođe sporiji od Aurore.
Aurora može obezbediti do 15 replika, a replikacija traje samo nekoliko sekundi. Aurora se brže skalira jer može brzo dodati nove replike čitanja.
Failover
U RDS-u, prelazak na grešku za čitanje replike se dešava ručno. Ovo može dovesti do gubitka podataka. Multi-AZ (Standby Instance) se može koristiti za automatizaciju prelaska na grešku i sprečavanje gubitka podataka.
Da bi sprečila gubitak podataka, Aurora koristi prelazak na grešku za automatsko čitanje replika. Aurora ima brže vreme prelaska na grešku.
Krajnje tačke klastera
RDS ima krajnju tačku klastera koju možete koristiti za izvršavanje upita za pisanje. To je DNS pokazivač na trenutnu glavnu instancu baze podataka. RDS usmerava krajnju tačku na novi master putem jednostavne DNS promene tokom prelaska na grešku.
Krajnja tačka klastera je i dalje dostupna u Aurori za pisanje upita. Ova krajnja tačka takođe deluje kao balansator opterećenja za replikacije čitanja. Ova krajnja tačka se može koristiti za odgovaranje na upite za čitanje.
Backup
RDS automatski kreira i čuva rezervne kopije DB instanci tokom prozora za pravljenje rezervnih kopija. RDS pravi snimak DB instance kao volumena za skladištenje, pravi rezervnu kopiju svih baza podataka, a ne samo onih koje izaberete.
Aurora automatski pravi rezervne kopije volumena klastera i obnavlja podatke tokom perioda zadržavanja rezervne kopije. Aurora rezervne kopije su kontinuirane i inkrementalne, tako da možete brzo da vratite bilo koju tačku u periodu zadržavanja rezervne kopije.
Sledi sažeta tabela za Amazon Auroru u odnosu na Amazon RDS:
Amazon Aurora | Amazon RDS |
Možete proširiti skladište sa 10 GB na 128 TB | RDS omogućava 64 GB za sve mašine, ali samo 16 GB za SQL Server |
Možete skalirati memoriju i izračunati na najviše 32 vCPU-a i 244 GiB RAM-a | Isto kao Aurora |
Podržava MySQL i PostgreSQL | SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL i Amazon Aurora |
Podržava petnaest replika | Podržava pet replika |
Cena zavisi od I/O operacija | Možete isprobati besplatno bez minimalne naknade za korišćenje |
Amazon Aurora protiv DynamoDB
Trajnost i dostupnost
Svaki deo DynamoDB podataka se replicira na više fizičkih čvorova. Amazon je ove fizičke čvorove postavio u više zona (tzv. zone dostupnosti) kako bi osigurao visoku izdržljivost i dostupnost u slučaju katastrofe poput požara ili velikog nestanka struje. Operacija će se nastaviti čak i ako jedna kopija nestane. SSD diskovi su takođe vrlo pouzdani i izdržljivi.
Pravljenje rezervnih kopija i vraćanje
DynamoDB nudi rezervnu kopiju na zahtev, kao i PITR (tačkaste rezervne kopije u vremenu), što vam omogućava da pristupite bilo kom stanju baze podataka. DynamoDB je sposoban da napravi rezervnu kopiju bilo koje količine podataka. To neće uticati na performanse i dostupnost. Pravljenje rezervnih kopija traje vrlo malo vremena, a korisnici ne moraju da brinu o rasporedu pravljenja rezervnih kopija ili pozadinskim procesima. AWS omogućava oporavak rezervne kopije sa samo jednim API pozivom.
Amazon Aurora proces pravljenja rezervnih kopija je sličan DynamoDB-u. Napravljen je bez ikakvih prekida performansi ili prekida usluge baze podataka. Amazon rezervne kopije se čuvaju u S3 kanti. Aurora će automatski napraviti rezervnu kopiju od 30 minuta ako ne navedemo prozor rezervne kopije.
Kontrola pristupa
DynamoDB podržava IAM korisnike i uloge sa preciznim politikama koje ograničavaju kreiranje baze podataka i privilegije upita. Amazon Aurora takođe ima sličnu šemu dozvola.
Međutim, Aurora takođe obezbeđuje MySQL i PostgreSQL kompatibilne interfejse za povezivanje sa bazom podataka.
DynamoDB, regionalni servis, ne podleže VPC granici. Međutim, Aurora DB klasteri moraju biti uspostavljeni u VPC-u koji jasno definiše svoju mrežnu granicu. Takođe možete koristiti VPC sigurnosne grupe da kontrolišete koji uređaji ili Amazon EC2 instance smeju da se povežu sa instancom baze podataka.
Sledi sažeta tabela za Amazon Auroru u odnosu na DynamoDB:
Amazon Aurora | DynamoDB |
Relaciona baza podataka koja podržava MySQL i PostgreSQL | NoSQL baza podataka |
Multi-region, Single-master | Multi-region, Multi-master |
Replika se može unaprediti u primarnu za minut | Visoka dostupnost. Kašnjenje replikacije je manje od 1 sekunde |
Kašnjenje replikacije je ispod milisekundi |
Zaključak
To je to. Svi ulazimo u novu eru u relacionim bazama podataka, a Aurora je samo početak. Korisnici su odgovorili sa velikim entuzijazmom. Lideri u svakoj industriji, kao što su Capital One, Dow Jones, Netflix i Verizon, migriraju svoja radna opterećenja relacionih baza podataka na Auroru, uključujući MySQL i PostgreSQL kompatibilna izdanja.