¿Google Sheets como base de datos? Un almacén JSON más simple para tu app

Si buscaste Google Sheets as a database alternative, quieres el camino más corto y fiable desde código funcional hasta una URL pública — sin montar servidores, sin aprender un panel cloud interminable ni introducir una tarjeta de crédito antes de tener un solo usuario. Esta guía explica exactamente cómo hacerlo con jsdeck, cuáles son los compromisos y cuándo otra herramienta es genuinamente la mejor opción. Seremos prácticos: pasos reales, comandos reales y limitaciones honestas.
Qué es realmente el datastore de jsdeck
Es un almacén clave-valor JSON por app. Cada registro tiene una key de cadena, un value JSON arbitrario, tres columnas de índice de cadena opcionales (idx1–idx3) para filtrar y una marca de tiempo updatedAt. Lo lees y escribes mediante una pequeña API REST directamente desde tu frontend estático, o a través del cliente npm @jsdeck/toolkit. No hay servidor que ejecutar, parchear ni escalar por tu parte.
Por qué importa para Google Sheets as a database alternative
La mayoría de prototipos no necesitan Postgres. Necesitan guardar un objeto de configuración, persistir una puntuación alta, almacenar una lista de envíos o recordar lo que hizo un usuario la última vez. Un almacén JSON encaja en ese punto dulce: mantienes los datos con la misma forma que el estado de tu app, sin la ceremonia de esquema, migraciones o pool de conexiones de una base de datos completa.
Modos y control de acceso
El datastore funciona en uno de dos modos. En public_read, cualquiera puede leer registros pero las escrituras requieren tu clave store_. En private, lecturas y escrituras requieren la clave. Las peticiones PUT tienen límite de tasa por IP. La clave es un secreto compartido adecuado para datos no sensibles de la app — nunca pongas secretos reales en código del lado del cliente.
Ejemplo: guardar y cargar JSON
// Save
await fetch('https://jsdeck.com/api/v1/public/data/YOUR-SLUG/records/settings', {
method: 'PUT',
headers: {
'Authorization': 'Bearer store_YOUR_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ value: { theme: 'dark', lang: 'en' } }),
});
// Load
const res = await fetch('https://jsdeck.com/api/v1/public/data/YOUR-SLUG/records/settings');
const { value } = await res.json();
Datos por usuario con filas owner
¿Necesitas que cada visitante tenga sus propios datos privados? Combina el datastore con visitor auth. Tras iniciar sesión recibes un token de sesión; escribe un registro con visibility: "owner" y esa fila solo será legible y escribible por ese usuario. La clave store_ sola no puede leerla. Eso hace posibles demos restringidas y apps simples por usuario sin un backend completo.
Cuándo no encaja
Sé honesto contigo sobre el modelo de datos. El datastore no es la herramienta adecuada para datos relacionales con joins, migraciones de esquema o transacciones; no ofrece suscripciones en tiempo real, funciones o triggers en el servidor, búsqueda de texto completo ni almacenamiento de archivos/blobs. Su modelo de consulta es «clave más hasta tres índices de cadena (combinados con AND)», no SQL arbitrario. Si necesitas eso, opta por Postgres/Supabase o un backend completo.
A quién va dirigido y cuándo no usar jsdeck
Buen encaje: frontends estáticos, single-page apps, demos, portfolios, MVPs, exportaciones generadas por IA y apps que necesitan un poco de persistencia JSON o inicio de sesión ligero para visitantes.
No encaja: apps que requieren un servidor Node en ejecución continua, renderizado en el servidor en tiempo de petición, backends WebSocket, secretos privados en el servidor, trabajos en segundo plano o una base de datos relacional completa. Para eso, una plataforma como las alternativas del hub de comparativas te servirá mejor — y eso es elegir con criterio, no un compromiso.
Preguntas frecuentes
¿Es realmente gratuita la alternativa a Google Sheets como base de datos?
Sí. jsdeck ofrece hosting estático gratuito con HTTPS para proyectos como este, sin tarjeta de crédito para empezar. Funciones opcionales como el datastore y visitor auth están disponibles cuando las necesites.
¿Necesito un servidor para usar el datastore?
No. El datastore es una API REST alojada a la que llamas directamente desde tu frontend estático. No hay nada que ejecutar, escalar ni parchear por tu parte.
¿Cómo mantengo privados los datos de cada usuario?
Usa visitor auth y escribe registros con visibility: "owner". Esas filas solo son accesibles con el token del propietario, no con la clave compartida del datastore.
Próximos pasos
- Explora más guías en el hub del datastore
- Sigue la guía de primeros pasos para desplegar tu primera app
- Lee la documentación para desarrolladores sobre datastore, cuentas seguras (auth API) y detalles de despliegue por CLI