Allt du inte visste om Amazon Aurora

By rik

Konventionella databassystem uppvisar flertalet begränsningar gällande prestanda, tillgänglighet och kapacitet att skala. Amazon Aurora framstår som en lösning på dessa utmaningar.

Databaser utgör grunden för de applikationer som driver företag. De borde besitta större kapacitet, högre pålitlighet och snabbare drift för att kunna tillhandahålla förstklassiga tjänster. Amazon Web Services gör det smidigt för organisationer att hantera sina data och därmed öka kundtillfredsställelsen.

AWS Aurora, en tjänst från Amazon Web Services, är ett utmärkt exempel. Den använder sig av klustervolymer för datahantering och för att allokera resurser för säkerhetskopiering i nödsituationer.

Vad är Amazon Aurora?

Amazon Aurora, en databas i molnet, är helt kompatibel med de öppna källkodssystemen MySQL och PostgreSQL. Aurora stödjer alla funktioner i MySQL med öppen källkod och erbjuder även drop-in-kompatibilitet för applikationer som är avsedda för dessa databaser.

Aurora är skapad för de kunder som önskar en fullt hanterad databastjänst som kombinerar kostnadseffektiviteten och användarvänligheten hos databaser med öppen källkod, med prestandan hos en kommersiell databas.

Aurora levererar prestanda som är fem gånger snabbare än traditionell MySQL och tre gånger snabbare än PostgreSQL. Amazon RDS tar hand om uppgifter som provisionering, säkerhetskopiering och återställning. Det finns ingen initial kostnad, och du betalar endast en månadsavgift.

Auroras unika styrka ligger i dess dokumenterade operativa excellens och företagsfunktionalitet till en bråkdel av kostnaden för kommersiella databaser.

Globalt sett erbjuder Aurora enastående prestanda, tillgänglighet, säkerhet och pålitlighet. Sedan starten år 2014 har Aurora varit den tjänst i AWS portfölj som växt snabbast.

Vad används Amazon Aurora till?

Auroras anmärkningsvärda tillväxt har grundats i ett stort intresse från många olika branscher. Under de senaste tolv månaderna har vi sett ett betydande intresse från finanssektorn, mjukvaru- och internetföretag, samt från underhållnings-, spel- och detaljhandelsbranschen.

Kunder migrerar till Aurora MySQL och Aurora PostgreSQL för att samla sina MySQL- och PostgreSQL-databaser. Vi ser även en stor migration från äldre system som Oracle eller Microsoft SQL Server till Aurora PostgreSQL.

Dessa kunder som bryter sig loss från sina äldre system har tröttnat på höga licensavgifter och inlåsning i föråldrade databaslösningar. Kunder i stark tillväxt behöver kunna skala snabbt och smidigt i alla regioner, och dessutom integrera med andra AWS-tjänster.

Fördelar med Amazon Aurora

Nedan följer en sammanfattning av fördelarna med att välja Amazon Aurora:

Skalbarhet

Automatisk skalning kan aktiveras. Detta möjliggör ökad lagringskapacitet när behovet ökar, och en minskning av databasens storlek när utrymmet minskar.

Kostnadseffektiv

Du betalar enbart för den processorkraft och lagring du faktiskt använder. Det finns inga förskottsavgifter eller andra dolda kostnader, vilket gör månatliga betalningar enkla att hantera.

Säkerhet

Amazon VPC möjliggör isolering av nätverket där databasen körs.

AWS Key Management Service ger dig möjligheten att skapa krypteringsnycklar som skyddar din data.

Hög tillgänglighet och hållbarhet

Du kan skapa kopior av Aurora i flera tillgänglighetszoner.

Det är en global databas som kan implementeras i flera AWS-regioner, vilket kan reducera den lokala läs/skrivhastigheten.

Stöd för migration

För att migrera din lokala databas till Aurora, kan du använda dig av kommandon som pg-dump eller MySQL dump.

Fullt hanterad

Aurora är extremt användarvänligt. Det är enkelt att konfigurera en instans via AWS RDS-konsolen. Aurora erbjuder övervakning med Amazon Cloudwatch utan extra kostnad.

Du behöver inte bekymra dig om provisionering, uppdateringar eller uppgraderingar. Amazon har full kontroll över alla aspekter av mjukvaran och utför nödvändiga justeringar.

De främsta egenskaperna hos Amazon Aurora

Här är en lista över de mest utmärkande egenskaperna hos Amazon Aurora:

Skalbarhet: Detta är en av de mest uppskattade egenskaperna hos Amazon Aurora. Databasen ökar automatiskt i storlek baserat på lagringsbehoven. Volymen kan utökas i steg om upp till 10 GB och nå en maximal kapacitet på 128 TB, vilket möjliggör sömlös lagring.

Hög genomströmning: Benchmarks med SysBench har visat en femfaldig ökning av genomströmningen. Amazon Aurora nyttjar en rad mjuk- och hårdvarutekniker för att maximera minnesanvändningen, datorresurser och nätverkskapacitet. För att optimera prestandan används distribuerade systemtekniker som kvorum för att hantera in- och utdataoperationer.

Övervakning och reparation av instanser: Amazon RDS övervakar kontinuerligt hälsan och prestandan hos Amazon Aurora-databasen, samt de underliggande EC2-instanserna. Om databasen skulle uppvisa ett fel startar Amazon RDS automatiskt om databasen och alla tillhörande processer.

Kryptering: Amazon Aurora erbjuder hög säkerhet genom att tillåta databaskryptering med nycklar som du kontrollerar och skapar via AWS Key Management Service. Dessutom används SSL-kryptering för att skydda data under överföring.

Användarvänlighet: Amazon Aurora är utformat för att vara lätt att använda. Med Amazon RDS Management Console skapar du enkelt en ny Amazon Aurora DB-instans med ett API-anrop eller CLI. Amazon Aurora DB-instanser levereras förkonfigurerade med lämpliga parametrar och inställningar för varje DB-instanstyp.

Kostnadseffektivitet: Du betalar endast för det du använder, utan förskottsavgifter eller andra dolda kostnader. Månatliga betalningar är enkla att hantera.

Migreringsstöd: För att migrera din lokala databas till Aurora, kan du använda kommandon som pg-dump eller MySQL dump.

Fullt hanterat: Aurora är redo att användas direkt efter installationen. Du skapar enkelt en instans via AWS RDS-konsolen eller genom att anropa ett API från din kod. Det finns ingen anledning att bekymra sig om provisionering, uppdatering eller uppgradering.

Amazon Auroras arkitektur

Hela arkitekturen för Aurora-databasen är uppbyggd på grundval av ett konventionellt DBMS. Den återanvänder de flesta komponenterna i DBMS, som transaktionshanterare, sökmotor och återställningshanterare.

Amazon Aurora representerar ett nytänkande inom DBMS, som går längre än traditionella modeller. Det har införts många förbättringar av existerande DBMS för att öka tillgängligheten, pålitligheten och skalbarheten.

Dessa förändringar omfattar:

  • En primär replikinställning
  • Fjärrlagring av data med möjlighet till replikering
  • Endast ändringsloggar lagras på fjärrdisken

Arkitekturen hos Amazon Aurora möjliggör en utvidgning av lagringsskiktet i traditionella relationsdatabaser.

Amazon Auroras primära databasinstans överför redo-loggen till lagringsskiktet för bearbetning. Loggarna behandlas av lagringsskiktet, som skapar och lagrar nya sidversioner och säkerhetskopierar allt till S3.

Bildkälla: AWS

Under en utökning behöver Amazon Aurora bara skapa fler databasmotorinstanser och koppla dem till det existerande lagringsskiktet. Detta eliminerar flaskhalsen vid datareplikering genom att delegera dessa uppgifter till lagringsskiktet för parallell bearbetning.

Detta medför flera nya funktioner, såsom:

  • Omedelbar kraschåterställning: Du behöver inte spela in loggar från den senaste kontrollpunkten
  • Snabba failovers: Det är inte nödvändigt att oroa sig för vilken replikdatabas som har den senaste redo-loggposten eftersom lagringsskiktet hanterar detta.
  • Backtracking: Eftersom lagringsskiktet har lagrat redo-loggar kan det ”spola tillbaka” data till valfri tidpunkt utan att behöva återställa en kontrollpunkt från S3-säkerhetskopian

Konfigurera Amazon Aurora

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

#1. Logga in på AWS Management Console och öppna RDS.

#2. Klicka på Skapa databas.

#3. Välj motoralternativ som Amazon Aurora.

#4. Välj den Aurora MySQL-version du vill använda.

#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 om du vill skapa en replika eller inte.

#7. Välj anslutningsalternativ som visas nedan.

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

#9. Aktivera utökad övervakning, välj alternativ för granularitet och övervakningsroll.

#10. Klicka slutligen på skapa databas.

#11. Din Amazon Aurora-databas är nu skapad.

Prismodell: Amazon Aurora

Aurora Serverless ACU v2 kostar $0,12 per timme, vilket är dubbelt så mycket som priset för provisionerade Aurora ACU:er. Detta innebär:

  • Minsta driftkostnad: 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 USD. Varje automatisk skalningshändelse debiteras med minst 0,0005 USD. Även om motsvarande Aurora-kapacitet är 175 USD per månad, skulle den inte ha samma responsiva serverlösa automatiska skalning.

Användningsområden: Amazon Aurora

#1. Mjukvara som tjänst (SaaS)

Detta använder multitenant-arkitekturer som är flexibla gällande lagring och instansskalning. Därmed kan företag som använder Amazon Aurora koncentrera sig på att utveckla högkvalitativa applikationer utan att behöva oroa sig för databasen.

#2. Spelindustrin

AWS Aurora fungerar som en relationsdatabas och erbjuder hög genomströmning, massiv lagringskapacitet, hög tillgänglighet och hög drifttid.

#3. Företagsapplikationer

Amazon Aurora är kompatibelt med alla företag som redan använder en relationsdatabas. Aurora är kostnadseffektivt och minskar kostnaderna med upp till 90 % jämfört med andra alternativ.

Auroras kompatibilitet med MySQL och PostgreSQL

Amazon Aurora är utvecklat för hög prestanda, global tillgänglighet och full kompatibilitet med MySQL/PostgreSQL. Standardverktyg underlättar migration av MySQL- och PostgreSQL-databaser till Aurora. Äldre SQL Server-appar kan också köras med Babelfish för Aurora PostgreSQL, vilket minimerar behovet av kodändringar.

Amazon Aurora fungerar med de vanliga PostgreSQL-import/exportverktygen, som pg_dump eller pg_restore. Det är också möjligt att skapa en ny Amazon Aurora-tabell med hjälp av en Amazon RDS eller MySQL DB Snapshot.

DB Snapshots utförs vanligtvis snabbt, men beror på mängden och formatet av data som migreras.

Amazon Aurora vs. Amazon RDS

Arkitekturdesign

RDS-arkitekturen är liknande på det sätt att den möjliggör installation av en databasmotor på Amazon EC2 manuellt, men överlåter provisionering och underhåll till AWS. RDS erbjuder flera funktioner som automatisk failover och säkerhetskopiering. RDS använder Amazon EBS-volymer för att lagra logg- och databasdata.

Auroras databaslagringssystem är både pålitligt och feltolerant. Databaslagringen för Aurora är oberoende av instanserna. Aurora lagrar data i sex kopior, var och en i 10 GB-block. Dessa kopior distribueras i tre tillgänglighetszoner. Även med endast en Aurora-instans finns det fortfarande 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: ett för högpresterande OLTP-applikationer och ett annat för allmänt bruk, kostnadseffektiv användning.

Aurora erbjuder dubbelt så hög prestanda som PostgreSQL och fem gånger så hög som standard MySQL på jämförbar hårdvara. Prestandan hos Aurora har visat sig vara genomgående högre och mer konsekvent.

Databasmotorstöd

RDS är kompatibelt med MySQL, PostgreSQL och MariaDB, samt Microsoft SQL Server och Oracle.

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

Hållbarhet och tillgänglighet

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

Data är utformad för hållbarhet i Aurora, och det finns alltid flera kopior av dina data. Varje Aurora-kluster har sex lagringsnoder fördelade på tre tillgänglighetszoner. Även om du bara har en beräkningsnod finns det fortfarande flera kopior av dina data.

Elasticitet

Tack vare sin arkitektoniska design är Aurora mer motståndskraftigt än RDS och kan snabbt återhämta sig från fel. Om en beräkningsnod skulle krascha kan Aurora snabbt återhämta sig.

Lagring

RDS automatisk lagringsskalning ökar lagringskapaciteten till 64 TiB (med undantag för SQL Server, som har 16 TiB) för att hantera växande databasarbetsbelastningar. Detta sker utan driftavbrott.

Aurora utö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 databasens prestanda påverkas.

Skalbarhet

Vertikal skalning: Både RDS och Aurora gör det möjligt att skala minnes- och beräkningsresurser till max 244 GiB RAM och 32 virtuella processorer. Skalningen kan göras på bara några sekunder.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling anpassar dynamiskt antalet Aurora Replicas som är tillgängliga för ett Aurora DB-kluster genom att använda en-masterreplikering. RDS stöder INTE automatisk skalning av detta slag.

Replikering

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

Aurora kan tillhandahålla upp till 15 repliker och replikeringen tar bara några sekunder. Aurora skalar snabbare tack vare möjligheten att snabbt lägga till nya läsrepliker.

Failover

I RDS sker failover till läsrepliken manuellt, vilket kan leda till dataförlust. Multi-AZ (Standby Instance) kan användas för att automatisera failover och förhindra dataförlust.

För att undvika dataförlust använder Aurora failover för att automatiskt överföra till läsrepliker. Aurora har en snabbare failover-tid.

Klusterändpunkter

RDS har en klusterändpunkt som du kan använda för att utföra skrivfrågor. Det är DNS-pekaren till din nuvarande huvuddatabasinstans. RDS dirigerar ändpunkten till den nya mastern genom en enkel DNS-ändring under en failover.

Klusterändpunkten är fortsatt tillgänglig i Aurora för att skriva frågor. Denna ändpunkt fungerar också som en lastbalanserare för dina läsreplikationer och 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 backup-fönster. RDS tar 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äkerhetskopior är kontinuerliga och inkrementella, vilket ger möjligheten att snabbt återställa till vilken punkt som helst inom säkerhetskopieringsperioden.

Nedan följer en sammanfattande tabell över jämförelsen mellan Amazon Aurora och Amazon RDS:

Amazon Aurora Amazon RDS
Du kan utöka lagringsutrymmet från 10 GB till 128 GB RDS tillåter 64 GB för alla motorer, men endast 16 GB för SQL-server
Du kan skala minne och beräkning till maximalt 32 vCPU:er och 244 GiB RAM Samma som Aurora
Stöder MySQL och PostgreSQL Stöder 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 databiten i DynamoDB 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 katastrofer som bränder eller stora strömavbrott. Verksamheten kan fortsätta även om en kopia skulle gå förlorad. SSD-enheter är också mycket pålitliga och hållbara.

Säkerhetskopiering och återställning

DynamoDB erbjuder både on-demand säkerhetskopiering samt PITR (Point-in-time recovery), vilket gör det möjligt att få tillgång till alla databastillstånd. DynamoDB kan säkerhetskopiera vilken mängd data som helst utan att prestanda eller tillgänglighet påverkas. Säkerhetskopieringen utförs snabbt och användare behöver inte oroa sig för säkerhetskopieringsscheman eller bakgrundsprocesser. AWS möjliggör säkerhetskopiering med endast ett API-anrop.

Amazon Auroras säkerhetskopieringsprocess liknar den i DynamoDB. Den är utformad för att utföras utan prestandapåverkan eller avbrott i databastjänsten. Säkerhetskopior från Amazon sparas i en S3-bucket. Aurora skapar automatiskt en säkerhetskopia var 30:e minut om inget annat backup-fönster specificeras.

Åtkomstkontroll

DynamoDB stödjer IAM-användare och roller med finkorniga policies som begränsar databasskapande och frågeprivilegier. Amazon Aurora har ett liknande system för behörigheter.

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

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

Nedan följer en sammanfattande tabell över jämförelsen mellan Amazon Aurora och DynamoDB:

Amazon Aurora DynamoDB
Relationsdatabas som stödjer MySQL och PostgreSQL NoSQL-databas
Multi-region, Single-master Multi-region, Multi-master
Replika kan befordras till primär på en minut. Hög tillgänglighet Replikationslatens är mindre än 1 sekund.

Slutsats

Det var allt. Vi går in i en ny era för relationsdatabaser, och Aurora är bara början. Kundresponsen har varit överväldigande positiv. Ledare inom flera branscher, som Capital One, Dow Jones, Netflix och Verizon, flyttar sina relationsdatabasbelastningar till Aurora, inklusive de som är kompatibla med MySQL och PostgreSQL.