MongoDB eller PostgreSQL?
PostgreSQL med JSONB dekker i dag mange av tilfellene man tidligere valgte MongoDB for, samtidig som du beholder relasjoner og transaksjoner. MongoDB har fortsatt sine styrker i horisontal skalering over mange servere og ekte skjemafrihet. Ta utgangspunkt i Postgres, og velg Mongo når dokumentmodellen og skalaen virkelig tilsier det.
MongoDB mot PostgreSQL er ikke samme type valg som mellom to databaser av samme slag. Det er et veivalg mellom to paradigmer: dokumenter mot relasjoner. Den som allerede har strevd med SQL mot NoSQL, kjenner igjen spørsmålet, men her får det konkrete produktnavn, og svaret har forskjøvet seg de siste årene. Slik står saken i 2026.
Postgres JSONB har flyttet grensen
Lenge var argumentet for MongoDB enkelt: Relasjonsdatabaser tvang deg inn i et stivt skjema, og trengte du fleksible dokumenter, måtte du gå til en dokumentdatabase. Det argumentet har blitt svakere.
PostgreSQL kan i dag lagre og søke i JSON-dokumenter via JSONB, effektivt og med god ytelse. I praksis betyr det at du kan blande: strukturerte tabeller med relasjoner for kjernen og dokumentlignende felt der dataene virkelig trenger å være fleksible, i samme database. Mange produkter som tidligere ville ha valgt MongoDB for fleksibilitetens skyld, klarer seg i dag utmerket på Postgres, uten å gi opp transaksjoner og relasjoner for resten av dataene.
Det er den aller viktigste endringen i denne sammenligningen. Postgres har spist seg inn på det som var MongoDBs hjemmebane.
Det MongoDB fortsatt har
Men MongoDB er ikke blitt overflødig. Det finnes fortsatt tydelige tilfeller der dokumentmodellen og Mongos arkitektur vinner.
- Horisontal skalering i praksis. MongoDB er bygget fra grunnen av for å spres over mange servere og sluke svært store datamengder. Trenger du virkelig å skalere bredt ut, er det en av MongoDBs sterkeste sider.
- Ekte skjemafrihet. Når datastrukturen varierer så kraftig mellom poster at et skjema blir en tvangstrøye, passer en rendyrket dokumentdatabase bedre enn å tøye en relasjonsmodell.
- Dokumenter som naturlig form. Når data i bunn og grunn er frittstående dokumenter som sjelden må kobles mot andre data, ligger Mongos modell nær måten du uansett tenker på dataene.
Poenget er at dette er spesifikke styrker, ikke generelle. JSONB i Postgres holder for moderat dokumentfleksibilitet; Mongo kommer til sin rett når dokumentene og skalaen er selve kjernen i produktet.
Lisens- og driftsmodeller
Utover paradigmet skiller databasene seg også i hvordan de kjøres og lisensieres, og det er verdt å ta med i vurderingen.
| Aspekt | MongoDB / PostgreSQL |
|---|---|
| Administrert skytjeneste | Atlas (Mongo) mot administrert Postgres hos praktisk talt alle skyleverandører |
| Leverandøravhengighet | Mongo styres av ett selskap; Postgres er bredt uavhengig |
| Kompetanse | Postgres bygger på SQL, som er utbredt; Mongo krever erfaring med eget spørrespråk |
Atlas er MongoDBs egen skytjeneste der leverandøren tar seg av drift og skalering for dere. Tilsvarende administrert Postgres tilbys av alle store skyleverandører. Begge fjerner driftsbyrden. En forskjell som er verdt å merke seg, er at Postgres er bredt uavhengig og støttes av mange aktører, mens MongoDBs retning styres av ett enkelt selskap og dets lisensvalg, noe å ha i bakhodet med tanke på langsiktig innlåsing.
Typiske prosjektprofiler
Så hvilket valg passer for hvilket prosjekt? Et par vanlige profiler:
- Blandede forretningsdata (kunder, ordrer og fakturaer med tydelige relasjoner, pluss enkelte fleksible felt): PostgreSQL, gjerne med JSONB for de variable delene.
- Enorme mengder frittstående dokumenter som skal skaleres bredt og sjelden kobles mot andre data: MongoDB kommer til sin rett.
- Usikker og kraftig varierende struktur i en tidlig fase: Dokumentmodellen kan gi fart, men vei det mot at Postgres JSONB ofte strekker til.
En vanlig feil er å velge Mongo tidlig «for fleksibilitetens skyld» og så måtte bygge relasjoner for hånd når dataene likevel viser seg å henge sammen. Har du blandede behov, er Postgres som regel det tilgivende valget.
Slik velger du
Ta utgangspunkt i PostgreSQL. Med JSONB dekker den både strukturerte og en god del dokumentlignende data, og den er tilgivende når kravene endrer seg. Velg MongoDB bevisst når dokumentmodellen og den horisontale skalaen virkelig er kjernen i det du bygger, ikke som standardvalg.
Ønsker dere hjelp til å velge riktig database for akkurat produktet deres, ser vi i Weapp gjerne på datamodellen som en del av systemarbeidet. Ta kontakt, så drøfter vi valget før det sementeres i koden.
Ofte stilte spørsmål
Hva er den grunnleggende forskjellen på MongoDB og PostgreSQL?
De representerer to paradigmer. PostgreSQL er en relasjonsdatabase: Data ligger i tabeller med fast skjema og relasjoner mellom dem. MongoDB er en dokumentdatabase: Data lagres som frittstående dokumenter med fleksibel struktur. Forskjellen avgjør hvordan du modellerer data, og hva databasen gir deg gratis i form av konsistens, spørringer og skalering.
Hva er JSONB, og hvorfor spiller det en rolle her?
JSONB er PostgreSQLs måte å lagre og søke i JSON-dokumenter effektivt på, direkte i en relasjonsdatabase. Det betyr at du kan få dokumentlignende fleksibilitet for de delene som trenger det, mens resten av dataene fortsatt er strukturert med relasjoner og transaksjoner. Det dekker mange av behovene som tidligere drev frem valget av MongoDB.
Når er MongoDB riktig valg?
Når data naturlig er dokumenter som sjelden kobles mot andre data, når skjemaet virkelig varierer kraftig mellom poster, eller når du trenger å spre enorme datamengder horisontalt over mange servere. Det er rendyrkede styrker. Er behovet derimot blandet, med både dokumenter og relasjoner, heller det ofte mot Postgres og JSONB.
Hva er forskjellen på Atlas og administrert Postgres?
Atlas er MongoDBs egen skytjeneste der leverandøren tar seg av drift, skalering og backup av Mongo-databasen din. Administrert Postgres (managed Postgres) er tilsvarende for PostgreSQL og tilbys av praktisk talt alle skyleverandører. Begge sparer dere for driftsarbeid. Forskjellen ligger mer i databaseparadigmet og lisensmodellen enn i selve bekvemmeligheten.
Kan man bruke begge i samme system?
Ja, det forekommer. En relasjonsdatabase kan bære kjernedataene i virksomheten mens en dokumentdatabase håndterer en del der skjemaet virkelig varierer. Men ikke innfør et nytt databaseparadigme uten god grunn: Hvert ekstra system koster drift og kompetanse. Ofte kommer man lenger med Postgres alene enn man tror, takket være JSONB.