Arquitectura de Supabase explicada con Postgres

Resumen

Supabase es una plataforma backend que te permite construir aplicaciones en un fin de semana y escalarlas a millones de usuarios, gracias a una arquitectura modular que gira en torno a una base de datos PostgreSQL. Si estás empezando en desarrollo backend o buscas una alternativa rápida a Firebase, entender cómo se conectan sus módulos te ahorrará semanas de configuración.

¿Por qué PostgreSQL es el corazón de Supabase?

Todo en Supabase nace desde una base de datos PostgreSQL. No es un detalle menor: este motor define cómo se generan los demás servicios y qué tan lejos puedes llevar tu aplicación.

Postgres aporta cuatro ventajas que sostienen la promesa de la plataforma:

  • Es 100% portable, así que puedes migrar tu proyecto sin quedar atrapado en un proveedor.
  • Permite automatizar procesos y construir lógica directamente en la base de datos.
  • Soporta reglas de seguridad a nivel de filas, conocidas como row-level security, para controlar el acceso celda por celda.
  • Escala con facilidad cuando tu aplicación crece.

En el centro están las políticas de acceso y las relaciones entre tablas, que dependen de un modelo de datos bien definido. Si tu modelo es sólido, todo lo demás encaja sin fricción.

¿Qué es row-level security en Supabase? Es un sistema de PostgreSQL que define reglas de acceso fila por fila, decidiendo quién puede leer, escribir o borrar cada registro según el usuario autenticado.

¿Cómo se generan las APIs automáticamente desde la base de datos?

Aquí viene lo interesante: cada vez que creas una tabla, Supabase genera un endpoint automáticamente. No tienes que escribir controladores ni configurar rutas.

Imagina que tienes tres tablas, countries, continents y cities. Cada una alimenta su propio endpoint con la información que cargas en columnas y celdas, y queda lista para consumirse desde tu front-end.

La plataforma te ofrece dos formas de consumir esa data:

  • Una API REST tradicional sobre HTTP request.
  • Una API GraphQL, ideal si tu front-end ya está construido con esa tecnología.

Esto significa que no desarrollas capa de API desde cero. Te apoyas en lo que Supabase entrega y te concentras en la lógica de tu producto.

¿Qué hace el storage de Supabase y cómo se conecta con todo lo demás?

El storage es el módulo encargado de archivos: imágenes, PDFs, videos, lo que tu aplicación necesite almacenar. Y también se apoya en Postgres.

Cada archivo que subes queda asociado a la base de datos mediante metadatos y reglas de acceso. La seguridad del storage usa el mismo row-level security de la base de datos, así que controlas con precisión quién puede leer, subir o eliminar archivos.

¿Para qué sirve el storage de Supabase? Sirve para guardar archivos como imágenes o videos vinculados a tu base de datos, con permisos de acceso definidos por fila y consumibles desde tus APIs.

En el proyecto de este curso vas a construir una aplicación basada en imágenes. El storage será el centro, la base de datos guardará la metadata y el front-end consumirá todo a través de una API.

¿Cómo se ve la arquitectura completa de Supabase?

Si unes las piezas, el mapa queda así:

  • La base de datos PostgreSQL está en el centro y alimenta a todos los servicios.
  • El storage recibe los archivos y se conecta a la base de datos mediante metadatos.
  • Las APIs REST y GraphQL exponen la información y soportan datos en real time cuando lo activas.

Existen funcionalidades más avanzadas como authentication, edge functions, real time y soporte para vectores que la plataforma ofrece para casos más complejos, incluyendo aplicaciones de inteligencia artificial. Esas las verás en el curso avanzado.

¿Por qué este enfoque te permite escalar sin dolores de cabeza?

Porque cada módulo depende del mismo núcleo. No tienes servicios desconectados peleando entre sí: tienes una base de datos central que define las reglas, y todo lo demás se construye encima de ella de forma coherente.

Con este mapa general ya entiendes cómo fluye la información dentro de Supabase y por qué puedes tener un backend completo sin construirlo desde cero. En la siguiente clase entrarás a Supabase Cloud y crearás tu primer proyecto, donde todo esto empezará a tomar forma real.

¿Qué parte de la arquitectura te genera más curiosidad para tu propio proyecto? Cuéntalo en los comentarios.