Supabase es un backend-as-a-service (BaaS) construido alrededor de PostgreSQL. En pocas palabras: creas un proyecto, Supabase te proporciona una base de datos SQL completa, un sistema de autenticación, almacenamiento de archivos y funciones serverless, todo accesible mediante APIs listas para usar. Esta lección sienta las bases antes de que toques nada.
Lo que Supabase no es
Antes de continuar, una aclaración útil: Supabase no es Firebase.
Firebase (Google) utiliza Firestore, una base de datos NoSQL orientada a documentos. Supabase, en cambio, se apoya en PostgreSQL: una base de datos relacional de verdad, con tablas, columnas tipadas, joins, foreign keys y toda la potencia de SQL.
Si alguna vez has escuchado "Supabase es el Firebase open source", es una buena analogía de partida, pero tiene sus límites. El modelo de datos es fundamentalmente distinto. Con Supabase, escribes SQL (o dejas que las APIs lo hagan por ti), defines esquemas y estableces restricciones. Es más estructurado, más predecible y frecuentemente más adecuado para aplicaciones serias.
Los 4 bloques de Supabase
Cada proyecto de Supabase está compuesto por cuatro servicios integrados que funcionan conjuntamente.
Database - Es el núcleo. Una instancia PostgreSQL completa, con extensiones activables (pgvector, PostGIS, etc.), copias de seguridad y una interfaz Realtime para escuchar cambios en tiempo real.
Auth - Gestión de usuarios y sesiones. Email y contraseña, magic link, OAuth (Google, GitHub, Apple...), teléfono. Los usuarios están vinculados a la base de datos, lo que permite proteger tus datos mediante reglas a nivel de fila (RLS, lo veremos más adelante).
Storage - Almacenamiento de archivos (imágenes, vídeos, documentos). Totalmente integrado con Postgres: los permisos de archivos siguen las mismas reglas RLS que tus tablas.
Edge Functions - Funciones serverless desplegadas lo más cerca posible de tus usuarios. Escritas en TypeScript (Deno), se ejecutan en la infraestructura de Supabase en varias regiones.
Por qué Supabase es interesante
Tres razones concretas:
Open source. Todo el código de Supabase es público en GitHub. No estás encerrado en una caja negra. Si Supabase desapareciera mañana (hipotético), conservas tu PostgreSQL y puedes migrar.
Self-hostable. Puedes ejecutar Supabase en tu propio servidor mediante Docker Compose. La versión cloud (supabase.com) es la más sencilla para empezar, pero existe la opción de alojamiento propio si tienes restricciones de cumplimiento normativo o de coste. Ten en cuenta que el self-hosting te hace responsable del mantenimiento, las copias de seguridad y la seguridad.
SQL de acceso directo. Puedes consultar tu base de datos con cualquier cliente PostgreSQL estándar. Supabase no te encierra en sus propias herramientas: psql, TablePlus, DBeaver, todo funciona.
