Analytics · Metabase
Data warehouse ligero para análisis ad-hoc · Módulo K de la auditoría
¿Por qué Metabase?
Supabase (Postgres) es excelente para el OLTP de la app. Pero cuando Juan quiera explorar "ventas por día de la semana por producto cruzado con clima y promociones activas" — queries complejas exploratorias — va a sufrir sin una capa analítica.
Metabase da exactamente eso: dashboards drag-and-drop sobre una réplica read-only de Supabase, sin tocar código cada vez.
Opción A · Cloud (recomendado)
- Crear cuenta en metabase.com
- Add database · PostgreSQL · pegar host + credenciales del usuario read-only (ver abajo)
- Importar los 5 dashboards desde `supabase/queries/metabase/`
Opción B · Self-host Docker
# docker-compose.yml
services:
metabase:
image: metabase/metabase:latest
ports: ["3000:3000"]
environment:
MB_DB_TYPE: postgres
MB_DB_DBNAME: metabase
MB_DB_USER: ${DB_USER}
MB_DB_PASS: ${DB_PASS}
MB_DB_HOST: ${DB_HOST}Setup SQL · usuario read-only en Supabase
CREATE USER metabase_readonly WITH PASSWORD '<contraseña-fuerte>'; GRANT CONNECT ON DATABASE postgres TO metabase_readonly; GRANT USAGE ON SCHEMA public TO metabase_readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO metabase_readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO metabase_readonly;
Dashboards pre-construidos
Las queries están en supabase/queries/metabase/*.sql — copiar/pegar en Metabase como "Questions".
Próximos pasos cuando pegues credenciales
1. Ejecutar el SQL de usuario read-only en Supabase SQL Editor
2. Crear proyecto en Metabase Cloud o levantar el Docker
3. Importar las 5 queries desde supabase/queries/metabase/
4. Opcional: sub-dominio metabase.juanchoconat.com apuntando al host