Konvensjonelle databasesystemer sliter ofte med begrensninger knyttet til ytelse, tilgjengelighet og skalerbarhet. Amazon Aurora fremstår som en løsning som tar tak i disse utfordringene.
Databaser er uunnværlige for å drive applikasjonene som er fundamentale for moderne virksomheter. For å kunne levere stadig bedre tjenester, må disse databasene være robuste, pålitelige og effektive. Amazon Web Services (AWS) forenkler datahåndtering for bedrifter og bidrar dermed til økt kundetilfredshet.
AWS Aurora er en skybasert tjeneste som illustrerer dette. Den benytter klyngevolumer for effektiv databehandling og sikrer nødbackup.
Hva er Amazon Aurora?
Amazon Aurora er en skybasert databasetjeneste som er fullt ut kompatibel med de populære open-source databasene MySQL og PostgreSQL. Aurora understøtter all funksjonalitet fra MySQL og gir «drop-in» kompatibilitet med applikasjoner som er designet for disse databasene.
Aurora er skapt for kunder som ønsker en fullt administrert databasetjeneste som kombinerer kostnadseffektiviteten og enkelheten til open-source databaser med ytelsen som vanligvis finnes i kommersielle databaser.
Med Aurora oppnås ytelse som er opptil fem ganger raskere enn tradisjonell MySQL og tre ganger bedre enn PostgreSQL. Amazon RDS håndterer oppgaver som klargjøring, sikkerhetskopiering og gjenoppretting. Dette eliminerer behovet for forhåndskostnader, da du betaler kun en månedlig avgift.
Det unike med Aurora er dens evne til å levere enestående operasjonell ytelse og funksjonalitet for bedrifter, til en brøkdel av kostnaden sammenlignet med kommersielle alternativer.
Aurora leverer overlegen ytelse, tilgjengelighet, sikkerhet og pålitelighet globalt. Siden lanseringen i 2014 har Aurora vært en av de raskest voksende tjenestene i AWS» portefølje.
Hva brukes Amazon Aurora til?
Den imponerende veksten til Aurora er drevet av stor interesse fra en rekke bransjer. Det har vært stor interesse fra finanssektoren, programvare- og internettbedrifter, samt underholdnings-, spill- og detaljhandelssektoren de siste 12 månedene.
Kunder velger å migrere til Aurora MySQL og Aurora PostgreSQL for å konsolidere sine eksisterende MySQL- og PostgreSQL-databaser. Vi ser også en betydelig overgang fra eldre databaseplattformer som Oracle eller Microsoft SQL Server til Aurora PostgreSQL.
Disse kundene har blitt frustrerte over høye lisensavgifter og bindinger til utdaterte databaseteknologier. Kunder i rask vekst søker smidig og hurtig skalering på tvers av regioner. De ser også etter bedre integrasjon med AWS-tjenester.
Fordeler med Amazon Aurora
Her er noen av fordelene ved å bruke Amazon Aurora:
Skalerbarhet
Med autoskalering kan lagringskapasiteten utvides automatisk etter behov, og reduseres igjen ved lavere belastning.
Kostnadseffektiv
Du betaler kun for den prosessorkraften og lagringsplassen du faktisk benytter. Det er ingen forhåndsgebyrer, og betalingen foregår månedlig.
Sikkerhet
Amazon VPC lar deg isolere nettverket databasen din kjører på for økt sikkerhet.
AWS Key Management Service brukes til å generere krypteringsnøkler for å beskytte dine data.
Høy tilgjengelighet og holdbarhet
Du kan opprette kopier av Aurora i flere tilgjengelighetssoner, noe som øker driftssikkerheten.
Aurora er en global database som enkelt kan distribueres i ulike AWS-regioner, noe som kan redusere les-/skrivehastighet lokalt.
Støtte for migrasjon
For å migrere din lokale database til Aurora, kan du anvende verktøy som pg_dump eller MySQL dump.
Fullt administrert
Aurora er brukervennlig. Du kan enkelt konfigurere en instans via AWS RDS-konsollen. Amazon Cloudwatch sørger for overvåkning uten ekstra kostnad.
Du slipper å bekymre deg for klargjøring, oppdatering eller oppgradering av programvaren. Amazon håndterer dette for deg.
De beste egenskapene til Amazon Aurora
Her er noen av de fremtredende funksjonene til Amazon Aurora:
Skalerbarhet: Databasen tilpasser seg automatisk i størrelse basert på lagringsbehov. Volumet kan øke med opptil 10 GB per trinn, og nå et maksimum på 128 TB. Dette sikrer smidig lagringshåndtering.
Høy gjennomstrømning: Tester har vist en femdobling i gjennomstrømning. Aurora bruker både programvare- og maskinvareteknikker for å optimalisere minne, prosessering og nettverk. Dette forbedrer ytelsen og konsistensen ved bruk av distribuerte systemteknikker som quorum.
Overvåkning og reparasjon av instanser: Amazon RDS overvåker kontinuerlig databasens helse og ytelse, samt de underliggende EC2-instansene. Ved feil i databasen eller tilhørende prosesser, starter Amazon RDS den automatisk på nytt.
Kryptering: Aurora gir høy sikkerhet ved å la deg kryptere databasen med nøkler du kontrollerer via AWS Key Management Service. SSL-kryptering beskytter også data under overføring.
Enkel å bruke: Du kan enkelt opprette en ny Amazon Aurora DB-instans via Amazon RDS Management Console, API-kall eller CLI. Aurora DB-instanser kommer med forhåndskonfigurerte parametere og innstillinger for hver DB-instans type.
Kostnadseffektiv: Du betaler kun for det du faktisk bruker, uten noen forhåndskostnader eller gebyrer. Månedlig betaling er enkel og praktisk.
Migreringsstøtte: For å migrere din lokale database til Aurora, kan du bruke kommandoer som pg-dump eller MySQL dump.
Aurora er fullt administrert: Du kan begynne å bruke det umiddelbart. Du trenger bare å opprette en instans via AWS RDS-konsollen eller et API-kall. Vedlikehold og oppgraderinger håndteres av Amazon.
Amazon Aurora-arkitektur
Arkitekturen til Aurora-databasen er bygget rundt et tradisjonelt DBMS-system. Den gjenbruker mange komponenter som transaksjonsbehandling, søkemotor og gjenopprettingsmekanismer.
Aurora er et nytt DBMS som overgår tradisjonelle tilnærminger. Det introduserer forbedringer av eksisterende DBMS for å øke tilgjengeligheten, påliteligheten og skalerbarheten.
Disse forbedringene inkluderer:
- Et primært replikaoppsett.
- Ekstern lagring av data med replikeringsmuligheter.
- Loggføring av endringer på ekstern disk.
Aurora-arkitekturen tillater skalering av lagringslag i tradisjonelle relasjonsdatabaser.
Aurora sender endringslogger til lagringslaget for behandling. Lagringslaget oppretter, lagrer og tar sikkerhetskopier av de nyeste versjonene av sidene til S3.
Bildekreditt: AWS
Ved utskalering er det kun nødvendig å opprette flere databasemotorinstanser og koble dem til det eksisterende lagringslaget. Dette eliminerer flaskehalsen som kan oppstå ved datareplikering ved å overføre oppgavene til lagringslaget for parallell behandling.
Dette muliggjør flere nye funksjoner som:
- Øyeblikkelig krasjgjenoppretting uten behov for å spille av logger fra siste sjekkpunkt.
- Raske failovers da lagringslaget håndterer informasjonen om hvilken replikadatabase som har den nyeste loggføringen.
- Tilbakesporing som gjør det mulig å gjenopprette data til bestemte tidspunkter uten å måtte gjenopprette et sjekkpunkt fra S3.
Sette opp Amazon Aurora
Her er trinnene for å konfigurere Amazon Aurora:
#1. Logg inn på AWS-administrasjonskonsollen og åpne RDS.
#2. Klikk på «opprett database».
#3. Velg Amazon Aurora som motortype.
#4. Velg ønsket Aurora MySQL-versjon.
#5. Opprett en DB-klyngeidentifikator og angi brukernavn og passord.
#6. Velg instanskonfigurasjon og om du vil opprette replika.
#7. Velg ønskede tilkoblingsalternativer.
#8. Velg en eksisterende VPC-sikkerhetsgruppe eller opprett en ny.
#9. Aktiver forbedret overvåkning og velg ønskede alternativer.
#10. Klikk på «opprett database».
#11. Du har opprettet Amazon Aurora-databasen.
Prismodell: Amazon Aurora
Aurora Serverless ACUer v2 koster $0,12 per time, som er det dobbelte av prisen for klargjorte Aurora ACUer. Dette innebærer:
- Minimum driftskostnad: 4 ACUer, $0,48 per time eller $350 per måned.
- Ved automatisk skalering er minimumsøkningen 30 sekunder eller $0,0005 for en halv ACU.
Den månedlige kostnaden for Aurora Serverless V2 er $350. Hver automatisk skaleringshendelse vil bli belastet med minst $0,0005. Selv om tilsvarende Aurora-kapasitet koster $175 per måned, vil det ikke gi responsiv serverløs automatisk skalering.
Brukskasser: Amazon Aurora
#1. Programvare som en tjeneste (SaaS)
Aurora støtter multitenant-arkitekturer med fleksibel lagring og instansskalering. Dette gir bedrifter muligheten til å fokusere på applikasjonsutvikling fremfor databaseadministrasjon.
#2. Spillformål
Aurora fungerer som en relasjonsdatabase med høy gjennomstrømning, massiv lagringskapasitet og høy tilgjengelighet.
#3. Bedriftsapplikasjon
Amazon Aurora er kompatibel med alle bedrifter som allerede bruker en relasjonsdatabase. Aurora er kostnadseffektivt og kan redusere kostnadene med opptil 90% sammenlignet med andre alternativer.
Auroras kompatibilitet med MySQL og PostgreSQL
Amazon Aurora er designet for høy ytelse, global tilgjengelighet og full kompatibilitet med MySQL og PostgreSQL. Standardverktøy gjør det enkelt å migrere databaser fra Aurora. Du kan også kjøre eldre SQL Server-apper med Babelfish for Aurora PostgreSQL, med minimale kodeendringer.
Amazon Aurora fungerer med standard import/eksportverktøy for PostgreSQL, som pg_dump eller pg_restore. Du kan også opprette en ny Aurora-tabell ved hjelp av et Amazon RDS eller MySQL DB-snapshot.
DB-snapshots fullføres vanligvis raskt, men tiden det tar vil være avhengig av datamengden og formatet.
Amazon Aurora vs. Amazon RDS
Arkitektur design
RDS lar deg installere en databasemotor på Amazon EC2 manuelt, men overlater klargjøring og vedlikehold til AWS. RDS tilbyr funksjoner som automatisk failover og sikkerhetskopiering. RDS benytter Amazon EBS-volumer til å lagre logg- og databasedata.
Auroras databaselagring er pålitelig og feiltolerant. Lagringssystemet er uavhengig av instansene. Data lagres i seks kopier med 10 GB biter, fordelt på tre tilgjengelighetssoner. Selv om du bare har én Aurora-instans, er det fortsatt seks kopier av dataene dine.
Opptreden
RDS bruker SSD-lagring for forbedret I/O-gjennomstrømningsytelse, med to SSD-alternativer: ett for OLTP-applikasjoner med høy ytelse, og ett for generell bruk.
Aurora gir opptil dobbelt så høy ytelse som PostgreSQL og fem ganger høyere ytelse enn standard MySQL på sammenlignbar maskinvare. Auroras ytelse er mer konsistent.
Databasemotorstøtte
RDS er kompatibel med MySQL, PostgreSQL, MariaDB, Microsoft SQL Server og Oracle.
Aurora er kompatibel med PostgreSQL og MySQL. Du kan bruke eksisterende verktøy og applikasjoner på begge uten endringer.
Holdbarhet og tilgjengelighet
Aurora har en lagringsmodell som muliggjør kontinuerlig sikkerhetskopiering og gjenoppretting med svært lav RPO. Dette gjør den mer pålitelig enn RDS.
Data er holdbare i Aurora, med flere kopier. Hver Aurora-klynge har seks lagringsnoder fordelt på tre AZ-er. Selv med bare én beregningsnode finnes det flere kopier av dataene dine.
Motstandsdyktighet
Auroras arkitektur gjør den mer motstandsdyktig enn RDS og raskere til å komme seg etter feil. Ved krasj kan Aurora gjenopprette raskt.
Oppbevaring
RDS-lagringsautoskalering utvider lagringskapasiteten til 64 TiB (16 TiB for SQL Server) ved økt belastning, uten nedetid.
Aurora øker automatisk lagringen fra minimum 10 GB til maksimalt 128 TiB i trinn på 10 GB uten ytelsesforringelse.
Skalerbarhet
Vertikal skalering: RDS og Aurora kan skalere minne og prosessorkraft til 244 GiB RAM og 32 virtuelle CPUer.
Aurora Auto Scaling Dynamic justerer dynamisk antall Aurora-replikaer med enkeltmasterreplikering. RDS støtter IKKE denne automatiske skaleringen.
Replikering
RDS kan ha opptil fem kopier, og replikeringen er tregere enn Aurora.
Aurora kan ha opptil 15 replikaer og replikeringen tar kun noen få sekunder. Aurora er raskere å skalere fordi nye lesekopier raskt kan legges til.
Failover
I RDS må failover til en lesereplika skje manuelt, som kan føre til tap av data. Multi-AZ (Standby Instance) kan automatisere failover og forhindre tap av data.
Aurora bruker failover automatisk for å lese replikaer, for å hindre tap av data. Aurora har også en raskere failover-tid.
Klyngeendepunkter
RDS har et klyngeendepunkt for skriveforespørsler, som er DNS-pekeren til gjeldende hoveddatabaseinstans. RDS endrer endepunktet til den nye hoveddatabasen via en enkel DNS-endring under failover.
Auroras klyngeendepunkt er tilgjengelig for skriveforespørsler og fungerer som en belastningsbalanser for lesereplikasjoner. Dette endepunktet kan brukes til å svare på lesespørsmål.
Sikkerhetskopiering
RDS oppretter og lagrer sikkerhetskopier av DB-instanser i sikkerhetskopieringsvinduet til DB-instansen. RDS tar et snapshot av DB-instansen som et lagringsvolum og sikkerhetskopierer alle databaser.
Aurora sikkerhetskopierer klyngevolumer automatisk og gjenoppretter data så lenge sikkerhetskopieringsperioden varer. Sikkerhetskopieringen er kontinuerlig og inkrementell, slik at du raskt kan gjenopprette ethvert tidspunkt innenfor sikkerhetskopieringsperioden.
Oppsummering i tabell:
Amazon Aurora | Amazon RDS | |
Lagring | Utvider fra 10 GB til 128 TB | Tillater 64 TB for de fleste motorer, 16 TB for SQL Server |
Minne og prosessorkraft | Skalerer til 32 vCPUer og 244 GiB RAM | Samme som Aurora |
Støtte for databasemotorer | MySQL og PostgreSQL | Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL og Amazon Aurora |
Replikaer | Femten replikaer | Fem kopier |
Priser | Avhenger av I/O-operasjoner, prøveperiode uten minimumsgebyr | Avhenger av I/O-operasjoner. Prøveperiode uten minimumsgebyr |
Amazon Aurora vs. DynamoDB
Holdbarhet og tilgjengelighet
DynamoDB replikerer data til flere fysiske noder i flere tilgjengelighetssoner for høy holdbarhet og tilgjengelighet ved katastrofer. Driften fortsetter selv om en kopi er nede. SSD-er øker pålitelighet og holdbarhet.
Sikkerhetskopier og gjenoppretting
DynamoDB tilbyr sikkerhetskopiering ved behov samt Point-in-time backup (PITR), som gir tilgang til enhver databasetilstand. DynamoDB kan sikkerhetskopiere alle mengder data uten å påvirke ytelse og tilgjengelighet. Sikkerhetskopiering tar kort tid, og AWS tillater sikkerhetskopiering med kun et API-kall.
Amazon Auroras sikkerhetskopieringsprosess ligner DynamoDB, og skjer uten avbrudd. Sikkerhetskopiene lagres i en S3-bøtte. Aurora lager automatisk sikkerhetskopier på 30 minutter hvis det ikke angis et sikkerhetskopieringsvindu.
Adgangskontroll
DynamoDB støtter IAM-brukere og roller med detaljerte retningslinjer for databaserettigheter. Amazon Aurora har et lignende tillatelsessystem.
Aurora gir MySQL- og PostgreSQL-kompatible grensesnitt for tilkobling til databasen.
DynamoDB er en regional tjeneste, ikke begrenset av VPC, mens Aurora DB-klynger må etableres i en VPC. Du kan bruke VPC-sikkerhetsgruppene til å kontrollere hvilke enheter som har tilgang til databasen.
Oppsummering i tabell:
Amazon Aurora | DynamoDB | |
Type database | Relasjonsdatabase (MySQL og PostgreSQL) | NoSQL-database |
Replikering | Multi-region, Single-master | Multi-region, Multi-master |
Failover | Replika kan oppgraderes til primær på et minutt | Høy tilgjengelighet |
Replikering forsinkelse | Mindre enn 1 sekund | Sub millisekunder |
Konklusjon
Vi går inn i en ny æra for relasjonsdatabaser, og Aurora er bare begynnelsen. Kundene har vist stor interesse. Ledere i bransjer som Capital One, Dow Jones, Netflix og Verizon migrerer sine databaser til Aurora, inkludert MySQL- og PostgreSQL-versjoner.