
Supabase eller Firebase: SQL, mobilverktyg och kostnad drar åt olika håll

Välj Supabase om appen behöver relationer mellan data, SQL-frågor och en väg att flytta databasen senare. Välj Firebase med Cloud Firestore om en mobilapp främst behöver dokumentdata, synkronisering offline och färdiga tjänster för pushnotiser och driftuppföljning. För en liten webbapp kan båda alternativen rymmas inom kostnadsfria kvoter.
Kostnaden skiljer sig när användningen växer. Supabase har abonnemang med separata gränser för bland annat lagring och trafik, medan Firestore även kan debitera databasoperationer över sina fria kvoter. För en app i Sverige behöver valet därför utgå från datamodellen, hur många dokument som läses, mängden filer och var tjänsterna körs.
Relationer i Postgres eller dokument i Firestore
Supabase passar en app där kunder, beställningar och produkter ofta behöver kopplas samman. Supabases plattformsjämförelse beskriver den egna tjänsten som byggd på Postgres, med SQL, främmande nycklar och möjlighet till egen drift; Cloud Firestore organiserar i stället data som dokument i samlingar. Relationer i Firestore kan kräva att samma uppgift lagras i flera dokument eller att appen gör flera frågor.
Om en kund ändrar adress blir skillnaden konkret. I en relationell modell kan beställningar hänvisa till kundposten, medan en dokumentmodell som kopierat adressen till varje beställning behöver en genomtänkt regel för vilka kopior som ska ändras. Det är en avvägning i appens datamodell, inte ett påstående om att varje SQL-fråga är snabbare: index, frågornas utformning och tillgänglig kapacitet påverkar också väntetiden.
Firestore har en annan styrka i mobilappar: klienterna kan arbeta med lokal cache och synkronisera ändringar när uppkopplingen återkommer. Det kan minska arbetet för ett flöde som måste fungera på tåget eller i områden med svag täckning. Med Supabase behöver appen själv få en strategi för lokal lagring och synkronisering om samma beteende krävs.
Vilken användning hamnar på fakturan?
Firebases prislista anger för Cloud Firestore Standard en fri kvot på 50 000 dokumentläsningar och 20 000 skrivningar per dag, 1 GiB databaslagring och 10 GiB utgående databastrafik per månad. Där listas Cloud Messaging och Crashlytics utan avgift, medan telefonautentisering debiteras per SMS. Firebase har också SQL Connect med Cloud SQL för PostgreSQL, men det är ett annat databas- och prisval än Firestore.
Supabases prislista anger obegränsat antal API-anrop på Free och Pro, medan Pro börjar på 25 dollar per månad och inkluderar 8 GB databasdisk, 100 GB fillagring och 250 GB vanlig utgående trafik. Över den inkluderade trafikmängden anges 0,09 dollar per GB. Ett gratisprojekt kan pausas vid inaktivitet; på Pro kan större databasinstanser och användning över andra gränser höja kostnaden.
Antalet Firestore-läsningar är inte alltid detsamma som antalet gånger en användare öppnar en skärm. Googles faktureringsregler räknar lästa dokument, indexposter för vissa frågor och nya läsningar när dokument i en aktiv lyssnares resultat ändras. En skärm med många uppdaterade poster kan därför kosta mer än ett flöde som hämtar ett enstaka dokument vid behov.
Tre villkorade arbetslaster
Exemplen nedan antar jämn användning under en månad med 30 dagar. De räknar bara de angivna posterna: autentisering, serverfunktioner, filoperationer, cache och kapacitetsval kan ändra en verklig faktura. Volymerna är antaganden för att visa hur prismodellerna slår, inte uppmätta appar.
- Enkel webbapp: Anta 10 000 Firestore-läsningar och 2 000 skrivningar per dag, 300 MB databasdata och 3 GB utgående databastrafik per månad. Dessa poster ligger inom Firestores fria kvoter. Motsvarande datamängd och trafik ryms också inom Supabase Free, om appen håller sig inom planens övriga gränser. Här får relationerna mellan data och behovet av offlinefunktioner större betydelse än en liten skillnad i den beräknade databaskostnaden.
- Medietung tjänst: Anta 80 GB lagrade filer och 300 GB vanlig, ej cachad utgående trafik per månad, medan databasen ryms inom respektive inkluderad nivå. På Supabase Pro är 50 GB trafik över den inkluderade mängden: 25 + 50 × 0,09 ger 29,50 dollar för abonnemanget och just denna trafikpost, före skatt och andra avgifter. För en Firebase Storage-bucket av typen *.firebasestorage.app anger prislistan 5 GB-månader fri lagring och 100 GB fria nedladdningar per månad. Exemplet lämnar därmed 75 GB-månader lagring och 200 GB nedladdningar att prissätta enligt relevant Google Cloud-region; filoperationer tillkommer i kalkylen.
- Mobilapp med pushnotiser: Anta 100 000 Firestore-läsningar och 5 000 skrivningar om dagen, 10 000 aktiva användare per månad och liten filtrafik. Om läsningarna fördelas jämnt blir 50 000 per dag avgiftsgrundande över den fria kvoten, eller 1,5 miljoner på 30 dagar; skrivningarna håller sig inom sin fria kvot. Cloud Messaging har ingen egen avgift för utskicken, men läsningarna kan kosta pengar. Supabase tar ingen avgift per API-anrop, men appen behöver en lösning för pushnotiser och kan behöva mer databaskapacitet än en billig plan ger.
Mediefiler och databasläsningar belastar alltså olika delar av fakturan. En jämförelse som bara använder antal användare missar både upprepade dokumentläsningar och stora nedladdningar. För Firebase varierar priser för användning över fria kvoter med produkt och region; Supabases angivna abonnemangspris är i dollar, så en svensk slutkostnad påverkas även av skatt och växelkurs.
Region och latens för svenska användare
Placeringen av databasen är mer användbar än ett generellt löfte om att någon av plattformarna är snabbast. Googles regionslista omfattar Stockholm och andra europeiska Firestore-platser; platsen för en skapad databasinstans kan inte ändras. För en svensk app spelar även placeringen av fillagring, serverfunktioner och användare roll.
En närliggande region kan minska nätverksdelen av svarstiden, men den totala väntan beror också på frågans arbete, antalet anrop och klientens uppkoppling. En enkel dokumentläsning och en SQL-fråga som kopplar flera tabeller utför olika arbete. Därför ger ett latensvärde från en annan världsdel ingen säker prognos för samma app i Sverige.
Vad blir svårast att flytta senare?
Postgres gör själva databasen mer portabel och Supabase kan köras i egen drift. Att flytta en färdig app omfattar ändå mer än tabeller: autentisering, filer, behörighetsregler och serverfunktioner måste också hanteras. För ett projekt som redan använder SQL och väntar sig fler relationer kan möjligheten att byta driftmiljö vara värdefull.
För en mobilapp som bygger på Firestores offlinesynkronisering, Cloud Messaging och Crashlytics ligger en större del av arbetet i Googles tjänster. Det kan vara ett rimligt val när dessa funktioner behövs från start, men en senare flytt kräver ersättningar för dem. Den avgörande kostnaden är därför ofta den förändring appen sannolikt behöver göra senare, inte bara priset för den första månadens trafik.
Läs också:
Relaterade artiklar


Notion eller Obsidian: offline betyder två helt olika saker

Vercel eller Cloudflare Pages: bandbredden kan bli den dyra raden

GitHub eller GitLab: gratis CI-minuter säger inte hela kostnaden

Azure OpenAI eller direkt API: dataplaceringen kan kosta 10 procent

Evernote eller OneNote: snabb fångst möter en friare arbetsyta
Prenumerera på vårt nyhetsbrev
Få de senaste nyheterna om Web3, AI och krypto direkt i din inkorg.