SQL Server mot PostgreSQL, MySQL og Oracle: Hva bør du velge?

Skal et nytt system bygges på SQL Server, PostgreSQL, MySQL eller Oracle – eller skal det rett i skyen med Azure SQL? Alle er modne relasjonsdatabaser som klarer de fleste oppgaver godt, så valget avgjøres sjelden av rå ytelse. Det avgjøres av kostnad, kompetanse, verktøy, plattform og hvor godt databasen passer inn i resten av miljøet. Denne guiden sammenligner alternativene ærlig, med styrker og svakheter, og gir konkrete råd om når du bør velge hva.

Kort fortalt
  • SQL Server er sterkest i Microsoft-miljøer: .NET, Active Directory, Power BI og Windows-drift – og har svært gode verktøy.
  • PostgreSQL er gratis, standardnært og ekstremt utvidbart. Det er standardvalget for mange nye systemer, særlig på Linux og i skyen.
  • MySQL/MariaDB er enkle og utbredte for webapplikasjoner, men har færre avanserte funksjoner.
  • Oracle dominerer i store virksomheter med eksisterende Oracle-investeringer, men er dyrest.
  • Azure SQL gir SQL Server-motoren som tjeneste, uten servere å drifte.

Oversikt

SQL ServerPostgreSQLMySQLOracle
LisensKommersiell (gratis Express/Developer)Åpen kildekode (PostgreSQL License)Åpen kildekode (GPL) og kommersiellKommersiell (gratis Free/Express)
PlattformWindows, Linux, containereDe fleste operativsystemerDe fleste operativsystemerDe fleste operativsystemer
SQL-dialektT-SQLNær SQL-standarden, PL/pgSQLMySQL-dialektPL/SQL
Høy tilgjengelighetAvailability groups, failover clusterStrømmereplikering, verktøy som PatroniGroup Replication, InnoDB ClusterData Guard, RAC
AdministrasjonsverktøySSMS, svært modenpgAdmin, DBeaver m.fl.MySQL WorkbenchSQL Developer, Enterprise Manager
Administrert i skyenAzure SQL, AWS RDS, Google Cloud SQLAlle store skyleverandørerAlle store skyleverandørerOracle Cloud, AWS RDS

Microsoft SQL Server

Styrker

  • Verktøy: SQL Server Management Studio, grafiske kjøreplaner, Query Store og Extended Events gjør feilsøking og administrasjon tilgjengelig også for ikke-spesialister.
  • Microsoft-økosystemet: Tett integrasjon med .NET og Entity Framework, Windows-autentisering mot Active Directory, Power BI, Excel, Azure og Microsoft Fabric.
  • Ytelse og optimaliserer: Avansert spørringsoptimaliserer, columnstore og batch mode for analyse, In-Memory OLTP og stadig mer automatisk tuning (Intelligent Query Processing).
  • Høy tilgjengelighet i boksen: Availability groups og failover-clustering uten tredjepartsverktøy.
  • Sikkerhet: TDE, Always Encrypted, radnivåsikkerhet, revisjon og Ledger.
  • Profesjonell støtte og et stort marked av konsulenter og DBA-er.

Svakheter

  • Kostnad: Lisensene for Standard og særlig Enterprise er en betydelig post, og reglene for virtualisering kan være kompliserte. Se guiden om lisensiering.
  • Windows-arven: Linux-versjonen er solid, men noen funksjoner og mye av økosystemet er fortsatt Windows-sentrert.
  • Leverandørbinding: T-SQL og funksjoner som SQL Server Agent gjør det krevende å bytte plattform senere.
  • Utvidbarhet: Mindre fleksibelt enn PostgreSQL når det gjelder egne datatyper, indekstyper og utvidelser.

PostgreSQL

PostgreSQL har de siste årene blitt den mest populære databasen blant utviklere, og er standardvalget for mange nye systemer.

  • Gratis og åpen uten begrensninger på kjerner, minne eller databasestørrelse, og uten lisensrevisjoner.
  • Utvidelser: PostGIS for geodata, pgvector for vektorsøk og KI, TimescaleDB for tidsserier, og mange flere. Du kan lage egne datatyper, operatorer og indekstyper.
  • Rike datatyper: Sterk støtte for JSONB med indeksering, matriser, intervaller og fulltekstsøk.
  • Standardnært: Ligger tett opp mot SQL-standarden, noe som gjør kunnskapen overførbar.

Svakhetene er særlig driftsmessige: Høy tilgjengelighet med automatisk failover krever tredjepartsverktøy som Patroni. PostgreSQLs MVCC-modell krever at VACUUM fungerer godt, og tabeller med mye oppdatering kan «svulme» hvis det ikke følges opp. Hver tilkobling er en egen prosess, så mange samtidige tilkoblinger krever ofte en tilkoblingspool som PgBouncer. Verktøyene for ytelsesanalyse er gode, men mindre helhetlige enn i SQL Server.

MySQL og MariaDB

MySQL (eid av Oracle) og forgreningen MariaDB er ryggraden i en stor del av webben – fra WordPress til store nettsteder. De er enkle å installere, raske på enkle lese- og skriveoperasjoner, og støttes av alle webhotell og skyleverandører. Moderne MySQL har vindusfunksjoner, CTE-er og JSON, men har tradisjonelt vært svakere på komplekse analytiske spørringer, avanserte indekstyper og strenge datatyperegler enn SQL Server og PostgreSQL. Godt valg for webapplikasjoner med enkel datamodell, særlig i LAMP-miljøer.

Oracle Database

Oracle er den største kommersielle databasen og står sterkt i store virksomheter, offentlig sektor, bank og finans. Real Application Clusters (RAC) lar flere servere dele samme database, og Data Guard gir avansert katastrofeberedskap. Oracle er svært kapabel, men også klart dyrest, og lisensreglene – særlig for virtualisering – er beryktet kompliserte. For de fleste nye prosjekter uten eksisterende Oracle-miljø er det vanskelig å forsvare kostnaden.

Azure SQL og SQL Server i skyen

Microsoft tilbyr SQL Server-motoren i flere skyvarianter:

  • Azure SQL Database: Én database som tjeneste. Microsoft står for backup, oppdateringer og høy tilgjengelighet. Støtter ikke alle funksjoner på instansnivå, som SQL Server Agent og spørringer mellom databaser.
  • Azure SQL Managed Instance: Nesten full kompatibilitet med lokal SQL Server, inkludert Agent og flere databaser per instans. Egnet for å flytte eksisterende systemer.
  • SQL Server i Azure VM: Full kontroll, som lokalt, men på skyinfrastruktur. Lisens kan inngå i timeprisen eller tas med (Azure Hybrid Benefit).

Også AWS (RDS for SQL Server) og Google Cloud (Cloud SQL) tilbyr administrert SQL Server, men Azure har flest funksjoner og best lisensvilkår for SQL Server.

Ytelse: hvem er raskest?

Det korte svaret er at det sjelden er databasemotoren som avgjør. Alle de store databasene håndterer tusenvis av transaksjoner i sekundet og tabeller på milliarder av rader på vanlig maskinvare – hvis datamodellen, indeksene og spørringene er gode. Forskjellene merkes i spesifikke arbeidsmengder: SQL Server og Oracle har svært sterke optimaliserere for komplekse spørringer og analyse, PostgreSQL er sterk på avanserte datatyper og utvidelser, og MySQL er effektiv på enkle oppslag. Benchmarker fra leverandørene sier lite om ditt system. Test med dine egne data og spørringer.

Totalkostnad, ikke bare lisens

Lisensprisen er bare én del av regnestykket. Ta med:

  • Kompetanse: Hva kan utviklerne og driftsfolkene i dag? Et team med lang SQL Server-erfaring blir mer produktivt på SQL Server enn på en ny plattform, og omvendt.
  • Drift: Tid til backup, overvåking, oppdateringer og høy tilgjengelighet. Med en administrert skytjeneste flyttes mye av dette til leverandøren.
  • Verktøy og integrasjoner: Rapportering, ETL, overvåking og eksisterende systemer som skal snakke med databasen.
  • Støtte: Hvem ringer du når produksjonsdatabasen er nede klokken tre om natten?
  • Exitkostnad: Hvor dyrt blir det å bytte senere?

Hva bør du velge?

Velg SQL Server når …

  • du bygger på .NET og Microsoft-plattformen, og miljøet allerede er Windows og Active Directory,
  • du trenger høy tilgjengelighet og avansert sikkerhet uten å sette sammen tredjepartsverktøy,
  • teamet kan SQL Server, eller du er avhengig av programvare som krever det,
  • data skal videre til Power BI, Excel eller Microsoft Fabric.

Velg PostgreSQL når …

  • du vil unngå lisenskostnader og leverandørbinding,
  • miljøet er Linux, containere og Kubernetes,
  • du trenger geodata (PostGIS), vektorsøk eller andre spesialiserte utvidelser,
  • du bygger et nytt system uten føringer fra eksisterende plattform.

Velg MySQL eller MariaDB når …

  • du lager en tradisjonell webapplikasjon med enkel datamodell,
  • du bruker programvare bygget for MySQL, som WordPress.

Velg Oracle når …

  • virksomheten allerede har Oracle-lisenser, kompetanse og systemer,
  • du trenger RAC eller andre funksjoner som bare finnes der.

Bytte fra SQL Server til PostgreSQL – eller omvendt

En migrering mellom databaser er mer enn å flytte tabeller. Datatyper er ulike (datetime2 mot timestamp, nvarchar mot text, bit mot boolean), og lagrede prosedyrer, funksjoner og triggere må skrives om fra T-SQL til PL/pgSQL. Sortering og sammenligning av tekst oppfører seg forskjellig – SQL Server er som regel ufølsom for store og små bokstaver, PostgreSQL er det ikke. Bruker applikasjonen et ORM som Entity Framework Core og lite rå SQL, er jobben betydelig enklere. Microsofts verktøy SQL Server Migration Assistant (SSMA) hjelper i retning SQL Server, og verktøy som pgloader og AWS Schema Conversion Tool i retning PostgreSQL.

Vanlige spørsmål

Er SQL Server Express et godt gratis alternativ til PostgreSQL?

For små systemer, ja – særlig i Microsoft-miljøer. Men Express har grenser for databasestørrelse, minne og kjerner, og mangler SQL Server Agent. Vokser systemet, må du betale for Standard. PostgreSQL har ingen slike grenser.

Kan Entity Framework Core brukes med alle disse?

Ja. EF Core har offisielle eller godt vedlikeholdte leverandører for SQL Server, PostgreSQL (Npgsql), MySQL, Oracle og SQLite. Koden blir i stor grad lik, men migreringer og rå SQL er databasespesifikke.

Hva med NoSQL?

Dokumentdatabaser, nøkkel-verdi-lagre og grafdatabaser løser andre problemer enn relasjonsdatabaser, og brukes ofte i tillegg. Les mer i artiklene om NoSQL-databaser og grafdatabaser.

Les også