Allt du inte visste om Amazon Aurora

Traditionella databassystem har många begränsningar för prestanda, tillgänglighet och skalbarhet. Amazon Aurora är lösningen på dessa begränsningar.

Databaser är nödvändiga för att driva de appar som driver verksamheten. De borde vara större, mer pålitliga och snabbare för att kunna tillhandahålla bättre tjänster. Amazon Web Services gör det enkelt för företag att hantera data och förbättra kundnöjdheten.

Amazons webbtjänst AWS Aurora är ett exempel på en sådan tjänst. Den använder klustervolym för att hantera sina data och allokera dem för nödsäkerhetskopiering.

Vad är Amazon Aurora?

Amazon Aurora, en molnbaserad databas, är helt kompatibel med Open-Source MySQL och PostgreSQL. Aurora stöder alla MySQL-funktioner med öppen källkod. Det möjliggör också drop-in-kompatibilitet med applikationer som körs på dessa databaser.

Aurora designades för kunder som behöver en fullständigt hanterad databastjänst med kostnadseffektiviteten och enkelheten hos databaser med öppen källkod men samma prestanda som en kommersiell databas.

Aurora levererar prestanda fem gånger snabbare än traditionell MySQL och tre gånger bättre än PostgreSQL. Amazon RDS hanterar uppgifter som provisionering, säkerhetskopiering och återställning. Det finns ingen förskottskostnad och du betalar bara en månadsavgift.

Aurora är unik genom att den erbjuder en meritlista för operativ excellens och företagsfunktioner till en bråkdel av kostnaden för kommersiella databaser.

Aurora ger oöverträffad prestanda, tillgänglighet, säkerhet och tillförlitlighet globalt. Aurora har varit den snabbast växande tjänsten i AWS portfölj sedan starten 2014.

Vad används Amazon Aurora till?

Auroras anmärkningsvärda tillväxt har drivits av ett stort intresse från många branscher. Vi har sett ett starkt intresse för finansiella tjänster, mjukvara och internet, samt underhållning och spel och detaljhandel under de senaste tolv månaderna.

Kunder migrerar till Aurora MySQL och Aurora PostgreSQL för att konsolidera sina MySQL- och PostgreSQL-databaser. Vi ser också många kunder migrera från äldre databaser som Oracle eller Microsoft SQL Server till Aurora PostgreSQL.

Dessa kunder som är ”break-free” har tröttnat på att betala höga licensavgifter och låsa in sig i äldre databaser. Kunder med hög tillväxt vill skala snabbt och sömlöst i alla regioner. De vill också kunna integrera över AWS-tjänster.

Fördelar med Amazon Aurora

Nedan är fördelarna med att använda Amazon Aurora:

Skalbarhet

Du kan aktivera automatisk skalning. Det kommer att öka lagringskapaciteten när du har mer lagring. Det kommer också att minska storleken på din databas om det minskar lagringsutrymmet.

Kostnadseffektiv

Betala endast för den processorkraft och lagringsutrymme du använder. Det finns inga förskottsavgifter eller andra avgifter. Det är enkelt att göra månatliga betalningar.

säkerhet

Amazon VPC låter dig isolera nätverket som din databas körs från.

Använd AWS Key Management Service för att skapa krypteringsnycklar som skyddar dina data.

Hög tillgänglighet och hållbarhet

Du kan skapa repliker av Aurora i många tillgänglighetszoner.

Det är en global databas som enkelt kan distribueras över flera AWS-regioner, vilket kan minska den lokala läs/skrivhastigheten.

Stöd för migration

För att migrera din lokala databas till Aurora kan du använda kommandona pg-dump eller MySQL dump.

Fullt hanterad

Aurora är väldigt lätt att använda. Det är enkelt att ställa in en instans med AWS RDS-konsolen. Aurora erbjuder övervakning med Amazon Cloudwatch utan extra kostnad.

Det finns ingen anledning att oroa sig för provisionering, uppdatering eller uppgradering. Amazon har fullständig kontroll över alla aspekter av din programvara och kommer att göra alla nödvändiga korrigeringar.

Bästa egenskaperna hos Amazon Aurora

Nedan är de bästa funktionerna i Amazon Aurora:

Skalbarhet: Detta är den bästa funktionen hos Amazon Aurora. Databasen ökar automatiskt i storlek enligt lagringskrav. Volymen kan växa i steg upp till 10 GB och kan nå maximalt 128 TB. Detta möjliggör sömlös förvaring.

Hög genomströmning: SysBench benchmarks har visat en 5x ökning av genomströmningen. Amazon Aurora använder en mängd olika mjukvaru- och hårdvarutekniker för att maximera tillgängligt minne, datoranvändning och nätverk. För att förbättra prestandakonsistensen, in- och utmatningsoperationer med hjälp av distribuerade systemtekniker såsom kvorum.

Övervakning och reparation av instanser: Amazon RDS övervakar kontinuerligt tillståndet och prestandan för Amazon Aurora-databasen såväl som de underliggande EC2-instanserna. Amazon RDS startar automatiskt om databasen i händelse av ett databasfel och alla associerade processer.

Kryptering: Amazon Aurora ger hög säkerhet genom att låta dig kryptera databasen med nycklar som du kontrollerar och skapar genom AWS Key Management Service. Amazon Aurora använder SSL-kryptering för att skydda data under överföring.

Lätt att använda: Det är lätt att använda Amazon Aurora. Amazon RDS Management Console används för att skapa den nya Amazon Aurora DB-instansen. Detta API-anrop, eller CLI, tar bara ett API-anrop. Amazon Aurora DB-instanser kommer förkonfigurerade med lämpliga parametrar och inställningar för varje DB-instanstyp.

Kostnadseffektivt: Betala bara för det du använder. Det tillkommer inga förskottskostnader eller andra avgifter. Det är enkelt att göra månatliga betalningar.

Migreringsstöd: För att migrera din lokala databas från Aurora till Aurora kan du använda kommandona pg-dump eller MySQL dump.

Aurora är helt hanterat: Du kan börja använda det direkt. Allt du behöver göra är att skapa en instans med AWS RDS-konsolen eller anropa ett API från din kod. Det finns ingen anledning att oroa sig för provisionering, uppdatering eller uppgradering.

Amazon Aurora-arkitektur

Hela Aurora-databasens arkitektur är byggd ovanpå ett traditionellt DBMS. Den återanvänder majoriteten av DBMS-komponenter som transaktionshanterare, sökmotor och återställningshanterare.

Amazon Aurora är ett nytt DBMS som går utöver det traditionella spelet. Det gör många förbättringar av befintliga DBMS för att öka deras tillgänglighet, tillförlitlighet och skalbarhet.

Dessa ändringar är:

  • En primär replikinställning används
  • Fjärrlagring av data kan replikeras
  • Endast ändringsloggar ska sparas på fjärrdisken

Amazon Auroras arkitektur kan skala ut lagringslagren i traditionella relationsdatabaser.

Amazon Auroras primära databasinstans skickar redo-loggen till dess lagringslager för bearbetning. Loggarna bearbetas av lagringslagret, som skapar och lagrar nya sidversioner och säkerhetskopierar allt till S3.

Bildkredit: AWS

Amazon Aurora behöver bara skapa ytterligare databasmotorinstanser och koppla dem till det befintliga lagringslagret under en utskalning. Detta eliminerar flaskhalsen i datareplikering genom att delegera dessa uppgifter för parallell bearbetning till lagringslagret.

Detta gör det möjligt att skapa många nya funktioner, såsom:

  • Omedelbar kraschåterställning: Du behöver inte spela om loggar från den senaste kontrollpunkten
  • Snabba failovers: Det finns ingen anledning att oroa sig för vilken replikdatabas som har den senaste redo-loggposten. Lagringsskiktet hanterar det.
  • Backtracking: Eftersom lagringslagret har strömmat redo-loggar, kan det ”spola tillbaka” data till specifika punkter i det förflutna utan att behöva återställa en kontrollpunkt från S3-säkerhetskopian

Konfigurera Amazon Aurora

Nedan är stegen för att konfigurera Amazon Aurora framgångsrikt.

#1. Logga in på AWS-hanteringskonsolen och öppna RDS.

#2. Klicka på skapa databas.

#3. Välj motoralternativ som Amazon Aurora.

#4. Välj den Aurora MySQL-version du behöver.

#5. Skapa en DB-klusteridentifierare och ange användarnamn och lösenord för autentiseringsinställningarna.

#6. Välj instanskonfigurationen från rullgardinsmenyn och välj ett alternativ för att skapa replika eller inte.

#7. Välj anslutningsalternativ som visas nedan.

#8. Välj från befintlig VPC-säkerhetsgrupp eller skapa en ny.

#9. Aktivera utökad övervakning, välj alternativet granularitet och övervakningsroll.

#10. Klicka slutligen på skapa databas.

#11. Du har framgångsrikt skapat Amazon Aurora-databas.

Prismodell: Amazon Aurora

Aurora Serverless ACUs v2 kostar $0,12 i timmen, dubbelt så mycket som priset för provisionerade Aurora ACUs. Detta betyder:

  • Minsta aktuella driftskostnad: 4 ACU, 0,48 USD per timme eller 350 USD per månad
  • För arbetsbelastningar som patologiskt utlöser den automatiska skalningsfunktionen finns en skalbarhetsökning på minst 30 sekunder eller 0,0005 USD för en halv ACU.

Månadskostnaden för Aurora Serverless V2 är $350. Varje automatisk skalningshändelse kommer att debiteras med minst 0,0005 USD. Även om motsvarande Aurora-kapacitet är $175 per månad, skulle den inte ha responsiv serverlös automatisk skalning.

Användningsfodral: Amazon Aurora

#1. Software as a Service (SaaS)

Den använder multitalangarkitekturer som kan vara flexibla i lagring och instansskalning. Som ett resultat låter Amazon Aurora företag fokusera på att utveckla högkvalitativa applikationer och inte oroa sig för databasen.

#2. Spelsyfte

AWS Aurora fungerar på samma sätt som Relational Database. Det ger hög genomströmning, massiv lagringskapacitet, hög tillgänglighet och hög tillgänglighet.

#3. Företagsapplikation

Amazon Aurora är kompatibel med alla företag som redan är filmigare än Relational Database. Aurora är kostnadseffektivt eftersom det sänker priset med upp till 90 % jämfört med andra alternativ.

Auroras kompatibilitet med MySQL och PostgreSQL

Amazon Aurora är byggd för hög prestanda, global tillgänglighet och full MySQL/PostgreSQL-kompatibilitet. Standardverktyg gör det enkelt att migrera MySQL- och PostgreSQL-databaser från Aurora. Du kan också köra äldre SQL Server-appar med Babelfish för Aurora PostgreSQL, vilket kräver minimala kodändringar.

Amazon Aurora fungerar med vanliga PostgreSQL-import-/exportverktyg, som pg_dump eller pg_restore. Du kan också skapa en ny Amazon Aurora-tabell med hjälp av en Amazon RDS eller MySQL DB Snapshot.

DB Snapshots är vanligtvis snabba att slutföra, men det beror på hur mycket och vilket format av data som migreras.

Amazon Aurora vs. Amazon RDS

Arkitekturdesign

RDS-arkitekturen är liknande genom att den låter dig installera en databasmotor på Amazon EC2 manuellt men överlåter provisioneringen och underhållet till AWS. RDS tillhandahåller många funktioner som automatisk failover, säkerhetskopiering, etc. RDS använder Amazon EBS-volymer för att lagra logg- och databasdata.

Auroras databaslagringssystem är pålitligt och feltolerant. Databaslagringen för Aurora är oberoende av instanserna. Aurora lagrar data i sex kopior, var och en med 10 GB-bitar. Dessa kopior distribueras till tre tillgänglighetszoner. Även om du bara har en Aurora-instans kommer det fortfarande att finnas sex kopior av din data.

Prestanda

RDS använder SSD-lagring för förbättrad I/O-genomströmningsprestanda. Det finns två SSD-stödda lagringsalternativ tillgängliga. Den ena är för högpresterande OLTP-applikationer, medan den andra är för allmänt bruk, kostnadseffektiv användning.

Aurora erbjuder dubbelt så hög prestanda som PostgreSQL och fem gånger så mycket som standard MySQL på jämförbar hårdvara. Auroras prestanda har genomgående varit högre och mer konsekvent.

Databasmotorstöd

RDS är kompatibel med MySQL, PostgreSQL och MariaDB, såväl som Microsoft SQL Server och Oracle.

Aurora är kompatibel med både PostgreSQL och MySQL. Det betyder att du kan använda dina befintliga databasverktyg och appar på både PostgreSQL och MySQL utan att göra några ändringar.

Hållbarhet och tillgänglighet

Aurora har en unik lagringsmodell som möjliggör kontinuerliga säkerhetskopieringar och återställningar med mycket låg RPO (återställningspunktersmål). Detta gör den mer pålitlig och hållbar än RDS.

Data är hållbar genom design i Aurora. Det finns alltid flera kopior av din data. Varje Aurora-kluster har sex lagringsnoder fördelade på tre A-Ö. Även om du bara har en beräkningsnod finns det fortfarande flera kopior av din data.

Elasticitet

På grund av sin arkitektoniska design är Aurora mer motståndskraftig än RDS. Det går snabbt att återhämta sig från misslyckanden. Om en beräkningsnod kraschar kan Aurora återhämta sig snabbt.

Lagring

RDS-lagringsautomatisk skalning skalar lagringskapaciteten till 64 TiB (förutom SQL Servers 16 TiB) för att klara växande databasarbetsbelastningar. Det finns ingen stilleståndstid.

Aurora ökar automatiskt lagringsutrymmet genom att öka det från minst 10 GB till maximalt 128 TiB. Lagringen utökas i steg om 10 GB utan att det påverkar databasens prestanda.

Skalbarhet

Vertikal skalning: RDS och Aurora låter dig skala minne och beräkningsresurser till maximalt 244 GiB RAM och 32 virtuella processorer. På några sekunder kan du skala operationer.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling justerar dynamiskt hur många Aurora Replicas som är tillgängliga för ett Aurora DB-kluster genom att använda en-masterreplikering. RDS stöder INTE sådan automatisk skalning.

Replikering

RDS kan användas för att tillhandahålla upp till fem repliker. Replikationsprocessen är också långsammare än Aurora.

Aurora kan tillhandahålla upp till 15 repliker, och replikeringen tar bara några sekunder. Aurora skalar snabbare eftersom det snabbt kan lägga till nya läsrepliker.

Failover

I RDS sker failover för att läsa repliken manuellt. Detta kan orsaka dataförlust. Multi-AZ (Standby Instance) kan användas för att automatisera failover och förhindra dataförlust.

För att förhindra dataförlust använder Aurora failover för att läsa repliker automatiskt. Aurora har en snabbare failover-tid.

Klustrets slutpunkter

RDS har en klusterslutpunkt som du kan använda för att köra dina skrivfrågor. Det är DNS-pekaren till din nuvarande huvuddatabasinstans. RDS dirigerar slutpunkten till den nya mastern via en enkel DNS-ändring under en failover.

Klustrets slutpunkt är fortfarande tillgänglig i Aurora för att skriva frågor. Denna slutpunkt fungerar också som en lastbalanserare för dina läsreplikationer. Denna slutpunkt kan användas för att svara på dina läsfrågor.

Säkerhetskopiering

RDS skapar och sparar automatiskt säkerhetskopior av dina DB-instanser under DB-instansens backupfönster. RDS gör en ögonblicksbild av din DB-instans som en lagringsvolym och säkerhetskopierar alla databaser och inte bara de du väljer.

Aurora säkerhetskopierar automatiskt klustervolymer och fortsätter att återställa data under hela säkerhetskopieringsperioden. Aurora-säkerhetskopiorna är kontinuerliga och inkrementella så att du snabbt kan återställa vilken punkt som helst inom säkerhetskopieringsperioden.

Nedan är den sammanfattade tabellen för Amazon Aurora vs. Amazon RDS:

Amazon AuroraAmazon RDSDu kan utöka lagringsutrymmet från 10 GB till 64 GBRDS tillåter 64 GBS för alla motorer, men bara 16 GB för SQL-serverDu kan skala minne och beräkna till maximalt 32 vCPU:er och 244 GiB RAMSame som Aurora Stöder MySQL och PostgreSQLSupports Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL och Amazon Aurora Stöder femton repliker Stöder fem repliker Prissättning beror på I/O-operationer. Du kan prova det gratis utan minsta användningsavgift

Amazon Aurora vs. DynamoDB

Hållbarhet och tillgänglighet

Varje bit av DynamoDB-data replikeras till flera fysiska noder. Amazon har placerat dessa fysiska noder i flera zoner (alias tillgänglighetszoner) för att säkerställa hög hållbarhet och tillgänglighet i händelse av en katastrof som en brand eller större strömavbrott. Operationen fortsätter även om en kopia försvinner. SSD:er är också mycket pålitliga och hållbara.

Säkerhetskopiering och återställning

DynamoDB erbjuder en on-demand backup samt PITR (Point in-time backups), som låter dig komma åt alla databastillstånd. DynamoDB kan säkerhetskopiera vilken mängd data som helst. Prestanda och tillgänglighet kommer inte att påverkas. Säkerhetskopiering tar väldigt kort tid och användare behöver inte oroa sig för säkerhetskopieringsscheman eller bakgrundsprocesser. AWS tillåter säkerhetskopiering med bara ett API-anrop.

Amazon Aurora-säkerhetskopieringsprocessen liknar DynamoDB. Den skapades utan några prestandaavbrott eller avbrott i databastjänsten. Amazon-säkerhetskopior sparas i en S3-hink. Aurora kommer automatiskt att skapa en säkerhetskopia på 30 minuter om vi inte anger ett backupfönster.

Åtkomstkontroll

DynamoDB stöder IAM-användare och roller med finkorniga policyer som begränsar databasskapande och frågeprivilegier. Amazon Aurora har också ett liknande behörighetssystem.

Men Aurora tillhandahåller även MySQL och PostgreSQL-kompatibla anslutningsgränssnitt för att ansluta till databasen.

DynamoDB, en regional tjänst, är inte föremål för VPC-gränsen. Aurora DB-kluster måste dock etableras i en VPC som tydligt definierar dess nätverksgräns. Du kan också använda VPC-säkerhetsgrupperna för att styra vilka enheter eller Amazon EC2-instanser som får ansluta till databasinstansen.

Nedan är den sammanfattade tabellen för Amazon Aurora vs. DynamoDB:

Amazon AuroraDynamoDB Relationsdatabasen som stöder MySQL- och PostgreSQLNoSQL-databasenMulti-region, Single-masterMulti-region, Multi-masterReplica kan befordras till primär på en minut. Hög tillgänglighetReplikeringslatens är mindre än 1 sekund.

Slutsats

Det var det. Vi går alla in i en ny era inom relationsdatabaser, och Aurora är bara början. Kunderna har svarat med överväldigande samtycke. Ledare i alla branscher – som Capital One, Dow Jones, Netflix och Verizon – migrerar sina relationsdatabasarbetsbelastningar till Aurora, inklusive MySQL och PostgreSQL-kompatibla utgåvor.