AWS Relasjonsdatabaser: Sammenligning av Oracle, Aurora, SQL Server, MySQL & MariaDB

Oversikt over Relasjonsdatabaser i Skyen

Tidligere var relasjonsdatabaser standardvalget for de fleste programvareprosjekter, uavhengig av bedriftens størrelse. I dag er mangfoldet større, med økt tilgjengelighet av NoSQL, in-memory databaser og data lakes. Likevel, når bedrifter vurderer å flytte sine lokale databaser til skyen, fremstår relasjonsdatabaser fortsatt som det mest praktiske alternativet.

Vi skal nå utforske flere databaser som kan være aktuelle for en slik overgang:

  • Oracle
  • Aurora
  • Microsoft SQL Server
  • MySQL og PostgreSQL
  • MariaDB

Jeg vil redegjøre for deres unike egenskaper, fordeler og ulemper, samt se på typiske bruksområder. Til slutt vil jeg dele mine tanker om hvordan du kan velge riktig database for ditt spesifikke behov.

AWS Oracle DB

Kilde: aws.amazon.com

Oracle DB har i flere tiår vært den ledende kommersielle databasen. Selskaper som trengte en robust og høyytelses databaseløsning, valgte ofte Oracle DB. Dette var det gode grunner til.

Hvordan den skiller seg

Oracle er en kraftfull plattform med mange funksjoner, som egner seg for et bredt spekter av konfigurasjoner og krav. Den har etablert seg som den foretrukne løsningen for de som trenger topp pålitelighet, skalerbarhet og vedlikeholdsvennlighet i en lokal infrastruktur.

Hovedfordeler

Her er noen av de viktigste fordelene ved å velge et så veletablert system som Oracle:

✅ Utmerket støtte og alternativer for effektiv sikkerhetskopiering og gjenoppretting.

✅ Omfattende muligheter for ytelsesjustering, selv etter at løsningen er satt i produksjon. Støtte- og vedlikeholdsaktiviteter er enkle å konfigurere og svært effektive.

✅ Høy grad av tilpasning. Med Oracles mange funksjoner, har systemintegratorer frihet til å skape et robust system som inkluderer akkurat de funksjonalitetene plattformen din krever. Dette omfatter triggere, partisjoner, underpartisjoner, automatiserte primærnøkkelsekvenser, visninger, øyeblikksbilder, databegrensninger, unike nøkler, kombinerte nøkler, fremmednøkler og sammensatte indekser – den støtter alt.

✅ Lettvint administrasjon med dedikerte konsoller, dashbord og verktøy utviklet av Oracle for administratorer.

✅ Støtte for store flerbrukermiljøer, hvor Oracle kan håndtere tusenvis av aktive brukere samtidig.

De viktigste ulempene

Oracle DB er svært fleksibel for vertikal skalering av ytelse, men mer begrenset ved horisontal skalering. Det er enkelt å oppgradere CPU, minne og lagring på en klynge-DB.

Men ved rask vekst av data, som ofte skjer i skyen, kan ytelsesflaskehalser bli mer fremtredende og vanskelige å løse. Å spre data over flere klynger og forvente dynamisk vekst blir da et sentralt behov. Her kan Oracle DB virke begrensende for fremtidige behov.

Kostnader er også en faktor. Oracle DB har mange funksjoner, men mange av dem medfører en kostnad. Dette gjelder spesielt hvis du bruker flere klynger og fysiske oppgraderinger er nødvendig. Programvarejusteringer av datamodellen er da ikke lenger nok, og for å få tilgang til flere verktøy og funksjoner må du kjøpe en bedriftslisens, noe som øker de allerede høye kostnadene.

Oracle DB er heller ikke en innebygd AWS-tjeneste, så du får ikke full støtte fra AWS, men må forholde deg til Oracle-støtte. Dette betyr at du må håndtere problemstillinger knyttet til både Oracle og AWS separat, med to ulike supportteam.

Når du bør velge

Å velge den skybaserte versjonen av Oracle DB er et naturlig valg hvis du allerede bruker Oracle DB lokalt. Det vil gjøre migreringen til skyen enklere.

Velg AWS Oracle DB i følgende tilfeller:

  • Du forventer at sky-DB-en skal støtte de samme prosessene og funksjonalitetene som den lokale versjonen på lang sikt.
  • Du planlegger ikke å integrere DB-en med mange AWS-tjenester raskt.
  • Du forventer ikke en betydelig økning i datavolum i nær fremtid.
  • Du trenger et stort utvalg av funksjoner, og det ville være vanskelig å miste noen av dem når du flytter til skyen.
  • Systemet ditt må støtte hundrevis av aktive brukere samtidig (eller flere).

Eksempel på bruk

  • Store telekommunikasjonssystemer for fakturering, CRM og mellomvaredata.
  • Tilpassede DB-implementeringer for bildatabasesystemer, integrert med ulike tilpassede verktøy eller tredjepartsverktøy.
  • Ferdige systemløsninger for bankindustrien, hvor Oracle allerede er en del av løsningen, som deretter integreres med ytterligere tilpassede DB-komponenter.

AWS Aurora DB

Kilde: aws.amazon.com

Aurora er på mange måter det motsatte av Oracle, selv om det fortsatt er en relasjonsdatabase.

Hvordan den skiller seg

Aurora DB er en innebygd databasetjeneste i AWS. AWS gir full støtte og kontinuerlig utvikling, og integrerer den tett med resten av AWS-økosystemet.

Aurora DB har ikke like mange funksjoner som Oracle, men den er utviklet for skyen. Etterhvert som AWS videreutvikler Aurora, kan funksjonsgapet bli mindre.

Aurora har allerede overgått Oracle på mange områder, spesielt når det gjelder integrasjon med andre AWS-skytjenester. Aurora er designet for massiv datainnhenting og vekst, med sterk horisontal skalerbarhet.

Hovedfordeler

De viktigste fordelene med Aurora DB:

✅ Fleksibel utvidelse av skrivebeskyttede DB-kopier, som kan opprettes på sekunder. Disse deler samme DB-logger som hoveddatabasen, slik at opprettelse av nye skrivebeskyttede databaser ikke krever synkronisering av alle data.

✅ Tilpasset stor datavekst, med horisontal skalering som en sterk funksjon. Du kan enkelt legge til nye klynger og utvide skalerbarheten på tvers av forskjellige tilgjengelighetssoner. Aurora er effektiv for rask henting av store datamengder.

✅ Du kan velge mellom server eller serverløs modus, hvor serverløs gir fleksibilitet og kostnadsoptimalisering, selv om noen funksjoner mangler.

✅ Automatisk sikkerhetskopiering og enkel gjenoppretting til et bestemt tidspunkt. Med skyens fordeler kan Aurora enkelt ta daglige sikkerhetskopier og raskt gjenopprette hele databasen med minimal nedetid.

✅ Støtte for enten MySQL eller PostgreSQL DB-motor.

De viktigste ulempene

  • Selv om Aurora er den mest funksjonsrike native relasjonsdatabasen i AWS, henger den fortsatt etter Oracle. Dette er forståelig, da Oracle har hatt lengre tid på å utvikle sine funksjoner. Men Aurora forbedres stadig.
  • Det finnes ikke en direkte lokal ekvivalent til Aurora DB. Selv om gamle databaser bygget på MySQL eller PostgreSQL kan være kompatible, er de ikke det samme. Dette gjør migrering mer komplisert, og du må tilpasse og implementere prosesser for å overføre data fra lokale systemer til Aurora DB i riktig format.
  • AWS-begrensninger kan i noen tilfeller gjøre det vanskeligere å velge Aurora DB. Det er mulig å omgå disse, men det kan kreve investeringer i refaktorering, noe som øker migrasjonskostnadene sammenlignet med andre databasemål.

Når du bør velge

Aurora DB er et godt valg som standard relasjonsdatabase i AWS, spesielt hvis:

  • Du skal bygge et skysystem fra bunnen av basert på en relasjonsdatabase.
  • Du trenger høy kompatibilitet og integrasjon med mange forskjellige AWS-tjenester.
  • Du forventer en betydelig økning i datavolum i nær fremtid.
  • Du planlegger å starte flere POC-prosjekter, hvor du kan utnytte fordelene med en serverløs relasjonsdatabase.

Eksempel på bruk

  • En serverløs plattform for å analysere store mengder infrastrukturdata.
  • Bruk av maskinlæringsmodeller for å behandle informasjon fra data lakes og generere forretningsprognoser.
  • Netflix bruker Aurora DB for raske, parallelle spørringer i sine katalogdata.

AWS Microsoft SQL DB

Kilde: aws.amazon.com

Denne databasen er på noen måter sammenlignbar med Oracle, da den også ble utviklet før skyen, og mange lokale brukere planlegger å migrere til skyen med MS SQL DB som kilde.

Hvordan den skiller seg

Til tross for likhetene, har MS SQL DB hatt mindre utbredelse enn Oracle DB. Fra mitt personlige perspektiv, har jeg jobbet med flere Oracle-prosjekter, men kun et fåtall der MS SQL DB var involvert. Personlig foretrekker jeg Oracle fremfor MS SQL DB.

Uansett, mange selskaper bruker MS SQL DB som hoveddatabase.

Hovedfordeler

Hovedfordelene med MS SQL DB:

✅ God integrasjon med andre Microsoft-tjenester og programvare.

✅ Enkel tilpasning med kodeutvidelser, for det meste i form av Javascript-moduler. Dette er nyttig for komplekse forretningsprosesser og jobber som skal planlegges i databasen.

✅ Relativt enkel administrasjon (i hvert fall sammenlignet med Oracle DB).

✅ Mer hensiktsmessig i Azure-skyøkosystemet, hvor den er et mer naturlig valg og mer kompatibel med andre skytjenester.

De viktigste ulempene

  • Som med Oracle DB, må støtte og feilsøking skje via dedikerte MS SQL-støtteteam.
  • Mindre mangfold av funksjonsstøtte sammenlignet med Oracle DB eller Aurora DB.
  • Ikke egnet for et stort antall aktive brukere.
  • Horisontal skalerbarhet er et enda større problem enn med Oracle DB.

Når du bør velge

MS SQL DB er et godt valg hvis du skal migrere en eksisterende lokal MS SQL DB til skyen uten for mye omstendelighet. Du forventer heller ikke stor grad av integrasjon med andre AWS-tjenester.

MS SQL DB kan da fungere som en fullt administrert database i AWS-skyen med ubegrenset lagring og forbedret horisontal skalerbarhet og høy tilgjengelighet sammenlignet med lokale alternativer.

Eksempel på bruk

  • En mellomplattform for tilpasset integrasjon av ulike databasesystemer (selv Oracle DB).
  • Mindre prosjekter der kostnaden er en viktig faktor og budsjettet er begrenset (og ikke tillater en fullverdig Oracle DB-løsning).

AWS MySQL og PostgreSQL DB

Kilde: aws.amazon.com

Disse databasene er begge åpen kildekode (selv om de nå er kjøpt opp av større selskaper), noe som har både fordeler og ulemper.

De er ikke like funksjonsrike som andre alternativer, spesielt i sin opprinnelige form. Selv om du fortsatt kan bruke dem i AWS-infrastruktur i denne formen, er det kanskje ikke det mest praktiske.

Hvordan den skiller seg

Når du flytter en lokal DB (MySQL eller PostgreSQL) til AWS-skyen, kan du like gjerne bruke Aurora direkte med MySQL- eller PostgreSQL-motoren, og få alle fordelene med Aurora DB.

Det vil kreve litt ekstra innsats i migrasjonsfasen, men det vil være marginalt. Fordelene ligger i kostnadene, og de egner seg best for små prosjekter der robusthet ikke er det viktigste.

De viktigste ulempene

  • Begge er begrenset i funksjonalitet, og du må være forberedt på begrensede muligheter for vedlikehold og administrasjon.
  • Ikke egnet for store prosjekter med mange aktive brukere.
  • Ikke optimalt for løsninger med høye ytelseskrav og konstant ytelsesjustering.

Når du bør velge

  • Hvis kostnad er det viktigste og budsjettet er svært begrenset.
  • Hvis prosjektet er lite.
  • Hvis datavolumet er lite og det ikke er planer om betydelig vekst.

Eksempel på bruk

  • Personlige prosjekter der kostnadene skal være så lave som mulig.
  • Små POC-prosjekter for å teste et konsept.
  • Prosjekter for små bedrifter med små datamengder.
  • For små SaaS-prosjekter som ikke krever omfattende databasebelastning.

AWS MariaDB

Kilde: aws.amazon.com

MariaDB er en åpen kildekode-database utviklet av tidligere MySQL-utviklere (etter MySQLs oppkjøp av Oracle).

Når det gjelder kompatibilitet, vil en hvilken som helst MySQL DB fungere fint i MariaDB.

Hvordan den skiller seg

Funksjonsmessig er det ikke mange forskjeller fra MySQL, men den er åpen kildekode.

Teknisk sett er det mange nyttige funksjoner som er tilgjengelige i MariaDB, men ikke i MySQL.

De viktigste ulempene

Ganske likt MySQL.

Når du bør velge

  • Hvis du ønsker å beholde din nåværende MariaDB-implementering og ikke ønsker å migrere til Aurora DB, uansett årsak.
  • Hvis du ønsker en åpen kildekode databaseløsning i AWS-skyøkosystemet.

Eksempel på bruk

Ganske likt MySQL.

Oppsummering

På samme måte som Oracle DB var standardløsningen i den lokale verden, ser det ut til at Aurora DB er i ferd med å ta denne plassen i AWS-skyen. Det er den løsningen som ligner mest, sett fra funksjonssettets perspektiv.

Selv om du ikke er ute etter de mest avanserte løsningene, er det betryggende å vite at det er enkle alternativer for å flytte eksisterende databaser til AWS-skyen.

Med en slik overgang vil du automatisk få funksjoner som du kanskje har manglet tidligere. Bedre lagringsmuligheter, høy tilgjengelighet og horisontal skalerbarhet er standardfunksjoner i skymiljøet.