7 August 2024

Wat is Supabase?

Supabase biedt een realtime database en directe API's, die de manier waarop ontwikkelaars web- en mobiele applicaties creëren, transformeren.

The cover image of the blog

Begrijpen van Supabase

Supabase wordt vaak omschreven als een open-source alternatief voor Firebase, maar die simpele vergelijking vertelt niet het hele verhaal. Supabase herinterpreteert het backend-as-a-service-model met een fundament dat volledig is gebaseerd op open tools en bekende standaarden. Voor ontwikkelaars die de voorkeur geven aan SQL-databases, transparantie en de mogelijkheid tot zelfhosting, is Supabase een uitstekende optie, met een unieke balans tussen kracht en toegankelijkheid.

In de kern combineert Supabase de bouwstenen van een moderne backend (authenticatie, opslag, API's en realtime data) en combineert deze met PostgreSQL, een van de meest robuuste relationele databases ter wereld. Het resultaat is een tool die direct vertrouwd aanvoelt voor iedereen die met SQL heeft gewerkt, maar tegelijkertijd dezelfde snelheid en eenvoud biedt die Firebase populair hebben gemaakt.

TL;DR

  • Supabase is een open-source backend-as-a-service gebaseerd op PostgreSQL en biedt authenticatie, opslag, API's en realtime data zonder vendor lock-in.
  • PostgreSQL in de kern betekent dat u ACID-compliance, complexe query's, joins en een volwassen relationele database krijgt in plaats van propriëtaire NoSQL-oplossingen.
  • Automatisch gegenereerde REST API's worden direct aangemaakt wanneer u tabellen toevoegt, beveiligd door beveiligingsbeleid op rijniveau op databaseniveau.
  • Ingebouwde authenticatie ondersteunt OAuth 2.0, e-maillogins, magic links en externe providers, waarbij alle gebruikersgegevens transparant in uw database worden opgeslagen.
  • Realtime abonnementen zenden databasewijzigingen uit naar verbonden clients, mogelijk gemaakt door het native replicatiesysteem van PostgreSQL.
  • Edge Functions bieden serverloze logica dicht bij gebruikers, draaiend op Deno met TypeScript-ondersteuning en directe databasetoegang.
  • Prijzen op basis van gebruik met een royale gratis tier, een transparant dashboard met metrische gegevens en de mogelijkheid om rekenkracht en opslag onafhankelijk te schalen.
  • Volledig open source en zelf te hosten, waardoor u volledige controle over uw infrastructuur en de mogelijkheid om te migreren zonder platformbeperkingen

Wat maakt Supabase anders?

Open source by design: In tegenstelling tot propriëtaire platformen is Supabase volledig open source. Elk onderdeel, van de database tot de authenticatielaag, kan worden geïnspecteerd, aangepast en zelf gehost. Dit betekent dat u nooit aan een leverancier vastzit en volledige controle over uw infrastructuur behoudt wanneer u die nodig heeft.

PostgreSQL in de kern: Door te bouwen op PostgreSQL in plaats van een propriëtaire NoSQL-oplossing, geeft Supabase u toegang tot tientallen jaren aan databasevolwassenheid: ACID-compliance, externe sleutels, triggers, opgeslagen procedures en extensies. U werkt met een beproefd systeem dat enkele van 's werelds grootste applicaties aanstuurt.

Gebouwd voor ontwikkelaars: Supabase geeft prioriteit aan de ontwikkelaarservaring zonder in te leveren op flexibiliteit. Automatisch gegenereerde API's, typeveilige clientbibliotheken en realtime abonnementen zorgen ervoor dat u sneller kunt leveren, terwijl directe SQL-toegang ervoor zorgt dat u nooit wordt beperkt door frameworkbeperkingen. De Supabase SQL-editor biedt bijvoorbeeld een overzichtelijke, browsergebaseerde manier om migraties te beheren of complexe query's te schrijven zonder het dashboard te verlaten.

Services van Supabase Core

PostgreSQL-database

Supabase maakt gebruik van PostgreSQL, waarmee u data kunt bevragen met standaard SQL. Ontwikkelaars kunnen joins, transacties en complexe query's uitvoeren zonder een nieuw datamodel te leren. Dit maakt het eenvoudiger om de data-integriteit te behouden en relaties te analyseren op een manier die schaalbaar is met uw app. Het rijke extensie-ecosysteem van PostgreSQL is ook beschikbaar; of u nu full-text zoeken, geospatiale query's of tijdreeksgegevens nodig hebt, u kunt extensies rechtstreeks binnen uw Supabase-project inschakelen.

Directe API's

Elke keer dat u een tabel aanmaakt, genereert Supabase automatisch RESTful-eindpunten. U kunt direct beginnen met het verzenden en ontvangen van gegevens, zonder back-endcode te schrijven. Deze API's zijn beveiligd met beveiligingsbeleid op rijniveau, wat betekent dat toegangscontrole op databaseniveau wordt gedefinieerd en consistent wordt gehandhaafd op alle eindpunten. Voor apps die live updates nodig hebben, bevat Supabase ook een realtime engine die wordt aangestuurd door de replicatiefuncties van PostgreSQL, waardoor het perfect is voor samenwerkingstools of dashboards die direct worden bijgewerkt.

Supabase Auth

Authenticatie in Supabase is gebaseerd op OAuth 2.0 en ondersteunt e-maillogins, magic links en externe providers zoals Google, GitHub en Azure. Supabase Auth integreert direct met uw database, waardoor u volledige controle hebt over hoe en waar gebruikersgegevens zich bevinden. Het is een compleet identiteitssysteem dat transparant blijft: er is geen verborgen black box, alleen rijen en tabellen die u kunt zien en beheren. Gebruikerssessies, vernieuwingstokens en metadata worden allemaal opgeslagen in uw database, waardoor u eenvoudig aangepaste workflows kunt bouwen of authenticatiegebeurtenissen kunt controleren.

Supabase Storage

Als u werkt met applicaties die afbeeldingen, video's of documenten bevatten, biedt Supabase veilige objectopslag die direct is gekoppeld aan uw databaseregels. U kunt de toegang beheren met PostgreSQL's beveiliging op rijniveau, waardoor u bestandsrechten eenvoudig kunt synchroniseren met gebruikersgegevens. U kunt bestanden ook direct transformeren (bijvoorbeeld door de grootte van afbeeldingen te wijzigen of de opmaak te wijzigen) zonder externe service. Opslagbuckets kunnen worden geconfigureerd als openbaar of privé, en met vooraf ondertekende URL's kunt u tijdelijke toegang tot beveiligde bestanden delen.

Supabase Edge Functions

Serverloze logica wordt afgehandeld via Supabase Edge Functions. Dit zijn lichtgewicht functies die dicht bij uw gebruikers draaien voor respons met lage latentie. Ze zijn ideaal voor webhooks, betalingsverwerking of aangepaste gegevensverwerking. Omdat ze worden aangestuurd door Deno, krijgt u direct toegang tot moderne JavaScript- en TypeScript-ondersteuning. Edge Functions kunnen rechtstreeks communiceren met uw database en andere Supabase-services, waardoor ze ideaal zijn voor het uitbreiden van uw applicatielogica zonder aparte infrastructuur te beheren.

Realtime-updates

Het realtime systeem van Supabase verzendt datawijzigingen naar verbonden clients. Het ondersteunt aanwezigheidsregistratie, berichten en collaboratieve updates, allemaal functies die steeds belangrijker worden voor interactieve webapps. U kunt zich abonneren op databasewijzigingen op tabel- of rijniveau, waardoor reactieve interfaces worden geactiveerd die automatisch worden bijgewerkt wanneer onderliggende data verandert. Dit wordt mogelijk gemaakt door het native replicatiesysteem van PostgreSQL, wat consistentie en betrouwbaarheid garandeert.

Prijzen van Supabase

Supabase hanteert een prijsmodel op basis van gebruik, gebaseerd op transparante resourcelimieten. Het platform biedt een royale gratis tier, ontworpen voor ontwikkeling en kleine projecten, met databaseruimte, bestandsopslag, bandbreedte en authenticatieverzoeken. Dit maakt het praktisch om applicaties te bouwen en te lanceren zonder directe kostenproblemen.

Betaalde abonnementen schalen langs twee primaire dimensies: basisresources en rekenkracht. Basisresources omvatten databaseopslag, bestandsopslag, bandbreedte en API-verzoeken. Rekenkracht (de verwerkingscapaciteit van uw PostgreSQL-instantie) kan onafhankelijk worden geschaald op basis van de prestatiebehoeften van uw applicatie. Deze scheiding betekent dat u niet gedwongen wordt te veel te betalen voor rekenkracht wanneer u alleen meer opslag nodig heeft, of andersom.

Wat het prijsmodel van Supabase transparant maakt, is dat alle gebruiksgegevens zichtbaar zijn in uw dashboard. Databasegrootte, API-aanroepen, bandbreedte en functieaanroepen worden in realtime bijgehouden, zodat u geen onverwachte rekeningen krijgt. Als u uw abonnementslimieten nadert, weet u precies wat er wordt verbruikt en waar. Overschrijdingen worden voorspelbaar in rekening gebracht en u kunt bestedingslimieten instellen om onverwachte kosten te voorkomen.

Extra functies zoals dagelijkse back-ups, point-in-time herstel en prioriteitsondersteuning zijn beperkt tot betaalde abonnementen, maar de kernfunctionaliteit, inclusief automatisch gegenereerde API's, authenticatie en realtime abonnementen, blijft op elk niveau beschikbaar. Voor organisaties die een dedicated infrastructuur nodig hebben of zelf moeten hosten, biedt Supabase ook enterprise-abonnementen met aangepaste SLA's, compliance-ondersteuning en white-glove onboarding. Dankzij het open-source karakter van het platform kunt u de volledige stack ook zelf beheren als u volledige controle over de kosten en infrastructuur wenst.

Waarom kiezen voor Supabase?

Supabase vertegenwoordigt een verschuiving in de manier waarop ontwikkelaars back-endinfrastructuur benaderen door prioriteit te geven aan openheid, SQL-kennis en controle voor ontwikkelaars, zonder het gemak van managed services op te offeren. Door te bouwen op PostgreSQL en open-sourcetools, biedt het de snelle ontwikkelervaring van platforms zoals Firebase, terwijl uw data, logica en infrastructuur toegankelijk en draagbaar blijven.

Voor teams die waarde hechten aan transparantie, relationele datamodellering en de mogelijkheid om te schalen zonder vendor lock-in, biedt Supabase een pragmatische weg vooruit. Of u nu een prototype van een nieuw idee maakt, een productieapplicatie bouwt of migreert van een bedrijfseigen platform, Supabase biedt de basis om vandaag snel te handelen en tegelijkertijd de flexibiliteit te behouden om morgen te evolueren. De backend-infrastructuur is ontworpen voor ontwikkelaars die zowel snelheid als inhoud willen.

Leer alles over Supabase en meer met onze uitgebreide gids over tools en integraties voor moderne webontwikkeling.