Výzva tradičním databázovým systémům s Amazon Aurora
Konvenční databázové systémy se potýkají s mnoha omezeními, která se týkají zejména výkonu, dostupnosti a možnosti škálování. Amazon Aurora představuje řešení těchto problémů.
Databáze jsou klíčové pro chod aplikací, které pohánějí podniky. Pro zajištění kvalitních služeb je nutné, aby byly robustnější, spolehlivější a rychlejší. Webové služby Amazon nabízejí firmám efektivní správu dat a zvyšují spokojenost jejich klientů.
Příkladem je webová služba Amazon AWS Aurora, která pro správu a zálohování dat využívá clusterový svazek.
Co je Amazon Aurora?
Amazon Aurora je cloudová databáze, plně kompatibilní s open-source systémy MySQL a PostgreSQL. Podporuje všechny funkce MySQL s otevřeným zdrojovým kódem a umožňuje bezproblémové nasazení aplikací, které na těchto databázích běží.
Aurora byla navržena pro ty, kdo hledají plně spravovanou databázovou službu s cenovou efektivitou a jednoduchostí open-source řešení, ale s výkonem srovnatelným s komerčními databázemi.
Aurora nabízí až pětkrát vyšší výkon než tradiční MySQL a třikrát lepší než PostgreSQL. Amazon RDS se stará o veškeré úkoly, jako je zřizování, zálohování a obnova. Platíte pouze měsíční poplatek, bez jakýchkoli vstupních nákladů.
Unikátnost Aurory spočívá v tom, že poskytuje prvotřídní provozní funkce a podnikové možnosti za zlomek ceny komerčních databází.
Aurora se vyznačuje bezkonkurenčním výkonem, dostupností, bezpečností a spolehlivostí na globální úrovni. Od svého uvedení v roce 2014 se stala nejrychleji rostoucí službou v rámci portfolia AWS.
K čemu se Amazon Aurora využívá?
Významný růst Aurory je dán velkým zájmem napříč různými průmyslovými odvětvími. Během posledního roku byl pozorován značný zájem ze strany finančních služeb, softwaru a internetu, ale také odvětví zábavy, her a maloobchodu.
Zákazníci migrují na Aurora MySQL a Aurora PostgreSQL s cílem konsolidovat své stávající databáze MySQL a PostgreSQL. Stejně tak se mnoho zákazníků přesouvá ze starších databází, jako je Oracle nebo Microsoft SQL Server, na Aurora PostgreSQL.
Tito zákazníci, kteří vyžadují nepřetržitý provoz, jsou frustrováni vysokými licenčními poplatky a omezeními, která jsou spojená se staršími databázovými systémy. Rostoucí firmy potřebují rychlé a snadné škálování ve všech regionech. Požadují také integraci napříč službami AWS.
Výhody Amazon Aurora
Níže jsou uvedeny hlavní přínosy používání Amazon Aurora:
Škálovatelnost
Automatické škálování je klíčovou funkcí. S nárůstem objemu dat se zvyšuje i kapacita úložiště. Stejně tak, pokud se úložný prostor snižuje, dojde ke zmenšení velikosti vaší databáze.
Nákladová efektivita
Platíte pouze za výpočetní výkon a úložný prostor, který skutečně využíváte. Nejsou zde žádné vstupní náklady ani skryté poplatky. Měsíční platby jsou transparentní a jednoduché.
Zabezpečení
Amazon VPC umožňuje izolovat síť, ve které vaše databáze běží.
Služba AWS Key Management Service vám dává možnost vytvářet šifrovací klíče pro ochranu vašich dat.
Vysoká dostupnost a odolnost
Repliky Aurory můžete vytvářet v různých zónách dostupnosti.
Jedná se o globální databázi, kterou lze snadno distribuovat do více regionů AWS, což snižuje latenci při čtení a zápisu dat.
Podpora migrace
Pro migraci vaší lokální databáze do Aurory můžete využít nástroje jako pg-dump nebo MySQL dump.
Plně spravovaná služba
Použití Aurory je velmi snadné. Instanci lze jednoduše nastavit prostřednictvím konzole AWS RDS. Monitorování je zajištěno pomocí Amazon Cloudwatch, a to bez dalších nákladů.
Nemusíte se starat o zřizování, aktualizace nebo upgrady. Amazon má plnou kontrolu nad všemi aspekty vašeho softwaru a provádí veškeré potřebné opravy.
Nejlepší vlastnosti Amazon Aurora
Níže jsou uvedeny klíčové charakteristiky Amazon Aurora:
Škálovatelnost: Tato funkce je jedním z největších benefitů Amazon Aurora. Velikost databáze se automaticky přizpůsobuje požadavkům na úložiště. Kapacita úložiště se může zvyšovat v krocích po 10 GB až do maximální velikosti 128 TB. To umožňuje bezproblémové ukládání dat.
Vysoká propustnost: Testy SysBench prokázaly až pětinásobné zvýšení propustnosti. Amazon Aurora využívá různé softwarové a hardwarové techniky pro optimalizaci využití paměti, výpočetního výkonu a sítí. Pro zlepšení konzistence výkonu se vstupní a výstupní operace provádějí pomocí technik distribuovaného systému, jako jsou kvora.
Sledování a opravy instancí: Amazon RDS průběžně monitoruje stav a výkon databáze Amazon Aurora i jejích základních instancí EC2. V případě selhání databáze a souvisejících procesů provádí automatický restart databáze.
Šifrování: Amazon Aurora zajišťuje vysokou úroveň bezpečnosti tím, že umožňuje šifrovat databázi pomocí klíčů, které sami spravujete prostřednictvím služby správy klíčů AWS. Během přenosu dat se k ochraně využívá šifrování SSL.
Snadné použití: Amazon Aurora je velmi uživatelsky přívětivá. Pro vytvoření nové instance Amazon Aurora DB stačí využít konzoli Amazon RDS Management. Alternativně stačí jediné volání API či CLI. Instance Amazon Aurora DB jsou předkonfigurovány s příslušnými parametry pro každý typ instance DB.
Nákladová efektivita: Platíte pouze za skutečně využívané zdroje. Neexistují žádné vstupní poplatky ani skryté náklady. Měsíční platby jsou transparentní a jednoduché.
Podpora migrace: Pro migraci databáze z lokálního prostředí do Aurory lze využít nástroje pg-dump nebo MySQL dump.
Aurora je plně spravovaná služba: Můžete ji začít používat okamžitě. Pro vytvoření instance stačí využít konzoli AWS RDS nebo volat API z vašeho kódu. Nemusíte se starat o zřizování, aktualizace nebo upgrady.
Architektura Amazon Aurora
Celková architektura databáze Aurora vychází z tradičního systému DBMS. Využívá většinu jeho komponent, jako je správce transakcí, modul pro provádění dotazů a správce obnovy.
Amazon Aurora je novodobý systém DBMS, který posouvá hranice tradičních řešení. Realizuje mnohá vylepšení stávajících systémů DBMS s cílem zvýšit jejich dostupnost, spolehlivost a škálovatelnost.
Mezi tyto vylepšení patří:
- Použití nastavení primární repliky
- Možnost replikace vzdáleného úložiště dat
- Ukládání pouze protokolů změn na vzdálený disk
Architektura Amazon Aurora umožňuje škálování úložných vrstev tradičních relačních databází.
Primární instance databáze Amazon Aurora předává protokol redo log své úložné vrstvě ke zpracování. Úložná vrstva zpracovává protokoly, vytváří a ukládá nové verze stránek a provádí zálohování na S3.
Obrazový kredit: AWS
Během škálování stačí Amazon Aurora vytvořit další instance databázového stroje a propojit je se stávající úložnou vrstvou. Tím se eliminuje úzké hrdlo při replikaci dat, kdy jsou tyto úkoly delegovány na úložnou vrstvu pro paralelní zpracování.
To umožňuje implementaci mnoha nových funkcí, jako jsou:
- Okamžité zotavení po havárii: Není třeba znovu přehrávat protokoly od posledního kontrolního bodu.
- Rychlé převzetí služeb při selhání: Není nutné řešit, která replikovaná databáze má nejnovější záznam redo log. Úložná vrstva se o to postará.
- Zpětné sledování: Díky tomu, že úložná vrstva streamuje protokoly opakování, je možné „přetočit“ data do konkrétních bodů v minulosti, aniž by bylo nutné obnovovat kontrolní bod ze zálohy S3.
Nastavení Amazon Aurora
Následují kroky pro úspěšné nastavení Amazon Aurora:
#1. Přihlaste se do konzole pro správu AWS a otevřete RDS.
#2. Klikněte na vytvořit databázi.
#3. Vyberte možnost Engine jako Amazon Aurora.
#4. Zvolte verzi Aurora MySQL, kterou potřebujete.
#5. Vytvořte identifikátor clusteru DB a nastavte uživatelské jméno a heslo pro nastavení pověření.
#6. Z rozevíracího seznamu vyberte konfiguraci instance a rozhodněte, zda chcete vytvořit repliku.
#7. Vyberte možnosti připojení, jak je uvedeno níže.
#8. Zvolte si z existující skupiny zabezpečení VPC nebo vytvořte novou.
#9. Povolte rozšířené monitorování a vyberte požadované detaily a roli monitorování.
#10. Nakonec klikněte na vytvořit databázi.
#11. Úspěšně jste vytvořili databázi Amazon Aurora.
Cenový model: Amazon Aurora
Aurora Serverless ACU v2 stojí 0,12 $ za hodinu, což je dvojnásobek ceny zřízených ACU Aurora. To znamená:
- Minimální aktuální provozní náklady: 4 ACU, 0,48 $ za hodinu nebo 350 $ měsíčně
- U pracovních zátěží, které vyvolávají funkci automatického škálování, existuje minimální nárůst škálovatelnosti o 30 sekund neboli 0,0005 $ za poloviční ACU.
Měsíční náklady na Aurora Serverless V2 činí 350 $. Každá událost automatického škálování je zpoplatněna minimálně 0,0005 $. Ačkoli ekvivalentní kapacita Aurora stojí 175 $ měsíčně, nenabízí citlivé automatické škálování bez serveru.
Případy použití: Amazon Aurora
#1. Software jako služba (SaaS)
Využívá architektury s více klienty, které poskytují flexibilitu v oblasti úložiště a škálování instancí. Díky tomu se Amazon Aurora umožňuje společnostem soustředit na vývoj vysoce kvalitních aplikací a nesnaží se o provoz a údržbu databází.
#2. Herní průmysl
AWS Aurora funguje jako relační databáze. Zajišťuje vysokou propustnost, velkou úložnou kapacitu, vysokou dostupnost a spolehlivost.
#3. Podnikové aplikace
Amazon Aurora je kompatibilní s každou společností, která je náročnější na relační databáze. Aurora je nákladově efektivní, jelikož snižuje náklady až o 90 % oproti jiným řešením.
Kompatibilita Aurory s MySQL a PostgreSQL
Amazon Aurora je navržena pro vysoký výkon, globální dostupnost a plnou kompatibilitu s MySQL/PostgreSQL. Standardní nástroje usnadňují migraci databází MySQL a PostgreSQL z Aurory. Starší aplikace SQL Server můžete spouštět i s Babelfish pro Aurora PostgreSQL, což vyžaduje minimální změny kódu.
Amazon Aurora funguje se standardními nástroji pro import/export PostgreSQL, jako je pg_dump nebo pg_restore. Také můžete vytvořit novou tabulku Amazon Aurora pomocí Amazon RDS nebo MySQL DB Snapshot.
Snímky DB se obvykle vytvářejí rychle, ale doba trvání závisí na množství a formátu migrovaných dat.
Amazon Aurora vs. Amazon RDS
Architektonické řešení
Architektura RDS je podobná v tom, že umožňuje ruční instalaci databázového stroje na Amazon EC2, ale zřizování a údržba je ponechána na AWS. RDS poskytuje mnohé funkce, jako je automatické převzetí služeb při selhání a zálohování. RDS využívá svazky Amazon EBS k ukládání dat protokolů a databází.
Databázový úložný systém Aurora je spolehlivý a odolný proti chybám. Databázové úložiště pro Auroru je nezávislé na instancích. Aurora ukládá data v šesti kopiích, z nichž každá je rozdělena do 10GB bloků. Tyto kopie jsou distribuovány do tří zón dostupnosti. I když máte pouze jednu instanci Aurory, vaše data budou mít stále šest kopií.
Výkon
RDS využívá SSD úložiště pro lepší I/O výkon. K dispozici jsou dvě možnosti SSD úložiště, jedno pro vysoce výkonné aplikace OLTP a druhé pro všeobecné a cenově efektivní použití.
Aurora nabízí dvojnásobný výkon než PostgreSQL a pětkrát vyšší výkon než standardní MySQL na srovnatelném hardwaru. Výkon Aurory je trvale vyšší a konzistentnější.
Podpora databázového stroje
RDS je kompatibilní s MySQL, PostgreSQL a MariaDB, stejně jako s Microsoft SQL Server a Oracle.
Aurora je kompatibilní s PostgreSQL a MySQL. To znamená, že můžete na PostgreSQL i MySQL používat stávající databázové nástroje a aplikace bez nutnosti provádět jakékoli změny.
Trvanlivost a dostupnost
Aurora má unikátní model úložiště, který zajišťuje nepřetržité zálohování a obnovu s velmi nízkým RPO (cílový bod obnovení). Díky tomu je spolehlivější a odolnější než RDS.
Data v Auroře jsou trvanlivá, existuje více kopií vašich dat. Každý cluster Aurora má šest úložných uzlů rozmístěných ve třech AZ. I když máte pouze jeden výpočetní uzel, stále existuje několik kopií vašich dat.
Odolnost
Díky svému architektonickému řešení je Aurora odolnější než RDS. Rychle se zotavuje z poruch. Pokud dojde k selhání výpočetního uzlu, Aurora se dokáže rychle obnovit.
Úložný prostor
Automatické škálování úložiště RDS zvyšuje kapacitu úložiště až na 64 TiB (kromě 16 TiB na SQL Serveru) tak, aby vyhovovala rostoucím nárokům databáze. Nemusíte se obávat prostojů.
Aurora automaticky navyšuje úložiště z minimálních 10 GB na maximálních 128 TiB. Úložiště se zvyšuje v krocích po 10 GB bez jakéhokoli vlivu na výkon databáze.
Škálovatelnost
Vertikální škálování: RDS i Aurora umožňují škálovat paměť a výpočetní zdroje na maximálně 244 GiB RAM a 32 virtuálních CPU. Operace škálování lze provést během několika sekund.
Aurora Auto Scaling Dynamic: Aurora Auto Scaling dynamicky upravuje počet replik Aurora dostupných pro cluster Aurora DB pomocí replikace s jedním hlavním serverem. RDS automatické škálování tohoto typu nepodporuje.
Replikace
RDS může poskytnout až pět replik. Proces replikace je také pomalejší než u Aurory.
Aurora může poskytnout až 15 replik a replikace proběhne během několika sekund. Aurora se škáluje rychleji, protože umožňuje rychle přidávat nové čtecí repliky.
Failover
V RDS se přepnutí na repliku při čtení provádí ručně, což může vést ke ztrátě dat. Multi-AZ (pohotovostní instance) lze využít k automatizaci převzetí služeb při selhání a prevenci ztráty dat.
Aurora používá převzetí služeb při selhání k automatickému přepnutí na repliku pro čtení, čímž se zabrání ztrátě dat. Aurora má rychlejší přepnutí při selhání.
Koncové body clusteru
RDS má koncový bod clusteru, který slouží k odesílání dotazů pro zápis. Jedná se o DNS ukazatel na vaši aktuální instanci hlavní databáze. Během převzetí služeb při selhání přesměruje RDS koncový bod na nový hlavní server pomocí jednoduché změny DNS.
V Auroře je koncový bod clusteru stále k dispozici pro zápis dotazů. Tento koncový bod funguje také jako nástroj pro vyrovnávání zátěže pro vaše replikace pro čtení. Je možné jej použít pro zpracování vašich dotazů pro čtení.
Zálohování
RDS automaticky vytváří a ukládá zálohy instancí DB během stanoveného okna zálohování instance DB. RDS vytvoří snímek vaší instance DB jako svazek úložiště, přičemž zálohuje všechny databáze, nejen ty, které si vyberete.
Aurora automaticky zálohuje svazky clusteru a ukládá data pro obnovu po dobu uchování zálohy. Zálohy Aurora jsou průběžné a inkrementální, díky čemuž můžete rychle obnovit jakýkoli bod v rámci doby uchování zálohy.
Níže naleznete souhrnnou tabulku pro porovnání Amazon Aurora vs. Amazon RDS:
Amazon Aurora | Amazon RDS |
Úložiště lze rozšířit z 10 GB na 64 GB | RDS umožňuje 64 GB pro všechny enginy, ale pouze 16 GB pro SQL server |
Můžete škálovat paměť a výpočetní výkon až na 32 vCPU a 244 GiB RAM | Stejné jako Aurora |
Podporuje MySQL a PostgreSQL | Podporuje Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL a Amazon Aurora |
Podporuje 15 replik | Podporuje 5 replik |
Cena závisí na I/O operacích | Můžete to vyzkoušet zdarma bez minimálního poplatku za použití |
Amazon Aurora vs. DynamoDB
Trvanlivost a dostupnost
Každý datový prvek v DynamoDB je replikován na více fyzických uzlů. Amazon umístil tyto uzly do několika zón dostupnosti (AZ) pro zajištění vysoké odolnosti a dostupnosti v případě katastrof, jako je požár nebo velký výpadek proudu. Provoz bude probíhat i v případě selhání jedné kopie. SSD úložiště je také velmi spolehlivé a odolné.
Zálohování a obnova
DynamoDB nabízí zálohování na vyžádání a také zálohování v konkrétním časovém okamžiku (PITR), které umožňuje přístup k libovolnému stavu databáze. DynamoDB je schopna zálohovat jakékoli množství dat, aniž by to mělo vliv na výkon nebo dostupnost. Zálohování zabere minimum času a uživatelé se nemusí starat o plány zálohování. AWS umožňuje obnovu zálohy jediným voláním API.
Proces zálohování Amazon Aurora je podobný jako u DynamoDB. Probíhá bez jakéhokoli narušení výkonu nebo přerušení databázových služeb. Zálohy Amazonu se ukládají do bucketu S3. Pokud neurčíte okno zálohování, Aurora automaticky vytvoří zálohu každých 30 minut.
Řízení přístupu
DynamoDB podporuje uživatele a role IAM s pomocí přesných zásad, které omezují vytváření databází a oprávnění pro dotazy. Amazon Aurora má podobný systém oprávnění.
Aurora nicméně nabízí také rozhraní pro připojení kompatibilní s MySQL a PostgreSQL pro připojení k databázi.
DynamoDB je regionální službou, a není tedy závislá na hranicích VPC. Clustery Aurora DB ovšem musí být založeny ve VPC, která jednoznačně definuje hranice sítě. Skupiny zabezpečení VPC můžete využít pro správu toho, která zařízení nebo instance Amazon EC2 se mohou k databázové instanci připojovat.
Níže naleznete souhrnnou tabulku pro porovnání Amazon Aurora vs. DynamoDB:
Amazon Aurora | DynamoDB |
Relační databáze s podporou MySQL a PostgreSQL | NoSQL databáze |
Multi-region, Single-master | Multi-region, Multi-master |
Replika může být povýšena na primární během minuty | Vysoká dostupnost |
Latence replikace je menší než 1 sekunda | Latence replikace je pod milisekundy |
Závěr
Zdá se, že nastává nová éra relačních databází a Aurora je jen začátek. Zákazníci reagovali nadšeně. Lídři v různých odvětvích – jako jsou Capital One, Dow Jones, Netflix a Verizon – migrují své pracovní zátěže relačních databází na Auroru, včetně edic kompatibilních s MySQL a PostgreSQL.