~/VibeHandbook
PDF gratis

Cloudflare

developers.cloudflare.com

D1

Qué es

Imagina una hoja de cálculo con filas y columnas bien ordenadas a la que tu aplicación puede hacerle preguntas precisas, como "muéstrame todos los pedidos pagados de junio". D1 es la sin servidor de Cloudflare —ese almacén de tablas organizado y consultable— construida sobre SQLite. ("Sin servidor" significa que no hay servidores que tengas que configurar ni mantener funcionando; el proveedor se encarga de todo eso.) SQL (Structured Query Language, lenguaje de consulta estructurado) es el lenguaje estándar para hacerle preguntas a una base de datos. Creas una base de datos, la vinculas (bind) a un Worker o a un proyecto de Pages, y la consultas con SQL sencillo a través de una pequeña (Application Programming Interface, interfaz de programación de aplicaciones — el conjunto de comandos que invocas). No hay servidores que dimensionar ni pools de conexiones que gestionar: Cloudflare se encarga del almacenamiento, la replicación y el escalado, y tú pagas por las filas que lees y escribes.

Fortalezas

  • SQL de verdad (dialecto SQLite) — SELECT, JOIN, transacciones e índices conocidos.
  • Sin servidor: sin aprovisionamiento, sin límites de conexión, escala hasta cero.
  • Integración estrecha con Workers y Pages mediante un único binding.
  • La replicación de lectura coloca copias cerca de los usuarios para lecturas de baja latencia.
  • Económico para cargas de trabajo típicas de aplicaciones, con un nivel gratuito utilizable.

Contrapartidas

  • Semántica de SQLite: los conjuntos de datos enormes y la concurrencia de escritura muy intensa no son su punto fuerte.
  • Los límites de tamaño por base de datos implican que los datos muy grandes pueden necesitar sharding (dividir en varias bases de datos) o R2 (el almacenamiento de archivos de Cloudflare).
  • Es más nuevo que Postgres/MySQL, así que las herramientas y el ecosistema todavía están madurando.
  • Se accede mejor desde el ; usarlo desde fuera de Cloudflare es menos natural.

Cuándo usarlo

Elige D1 para los datos de aplicación en un proyecto alojado en Cloudflare: registros de usuarios, contenido, ajustes, metadatos de — cualquier cosa que encaje en un modelo relacional y viva junto a tu aplicación de Workers o Pages.

Encaje con vibe coding

D1 es una opción predeterminada sólida cuando un ya está construyendo sobre Workers, porque la base de datos, el esquema y las consultas viven todos en el mismo proyecto. Pídele al agente que mantenga las migraciones en archivos .sql versionados y que las aplique con Wrangler, para que el esquema sea reproducible. El binding convierte la consulta en una sola línea dentro del handler.

# wrangler.toml
[[d1_databases]]
binding = "DB"
database_name = "app-db"
database_id = "your-d1-id"
# Create a DB and run a migration
npx wrangler d1 create app-db
npx wrangler d1 execute app-db --file=./schema.sql