Acceso a la Base de Datos en el Edge con Cloudflare Workers & Prisma

This ad is not shown to multipass and full ticket holders
React Advanced
React Advanced 2026
October 23 - 26, 2026
London, UK & Online
Upcoming event
React Advanced 2026
React Advanced 2026
October 23 - 26, 2026. London, UK & Online
Bookmark
Rate this content

Las funciones Edge están llevando al límite la computación serverless, pero con nuevas herramientas, vienen nuevos desafíos. Debido a sus limitaciones, las funciones Edge no permiten conectarse a bases de datos populares como PostgreSQL y MySQL. En esta charla, aprenderás cómo puedes conectar e interactuar con tu base de datos desde Cloudflare Workers usando el Prisma Data Proxy.


Puedes consultar las diapositivas de la charla de Alex aquí. 

This talk has been presented at Node Congress 2022, check out the latest edition of this JavaScript Conference.

FAQ

El borde es una forma de cómputo sin servidor que está distribuido y se implementa en la red de centros de datos de CloudFlare, permitiendo ejecutar el código de tu aplicación mucho más cerca de tu usuario.

Los trabajadores de CloudFlare son más ligeros y distribuidos, utilizando el motor V8 para ejecutar código de aplicación, lo que reduce el tiempo de inicio y la latencia en comparación con las plataformas sin servidor tradicionales que utilizan contenedores completos.

Dado que el motor V8 solo admite conexiones basadas en HTTP y las bases de datos tradicionales dependen de conexiones TCP de larga duración, esto genera un desafío para conectar bases de datos desde los trabajadores de CloudFlare, que son sin estado y pueden agotar rápidamente las conexiones disponibles.

Prisma ofrece el Proxy de Datos de Prisma, que actúa como un intermediario entre tu aplicación serverless y tu base de datos, ayudando a gestionar grupos de conexiones y evitar agotar los límites de conexiones que podrían provocar solicitudes fallidas.

Prisma aumenta la productividad y la confianza del desarrollador al ofrecer un modelo de datos legible y seguro en cuanto a tipos, soporte para autocompletado y una API robusta para interactuar con la base de datos, funcionando con diversos sistemas de bases de datos.

La migración involucra inicializar Prisma en el proyecto, modelar los datos en Prisma, cargar los datos existentes en la base de datos y refactoring la aplicación para utilizar Prisma Client para realizar consultas a la base de datos.

Prisma Studio es una interfaz gráfica de usuario moderna e intuitiva que permite visualizar y manipular datos de tu base de datos de manera sencilla, siendo uno de los tres componentes principales de Prisma.

Alex Ruheni
Alex Ruheni
31 min
17 Feb, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla discute el acceso a bases de datos en el edge con CloudFlare workers y los desafíos de las plataformas serverless. Explora soluciones para el acceso a bases de datos, incluidas soluciones específicas de CloudFlare y el uso de Prisma data proxy. Se presenta el kit de herramientas Prisma y una demostración, mostrando cómo convertir una aplicación para usar una base de datos. Se explica el proceso de configuración de Prisma Data Platform y el despliegue de la aplicación en CloudFlare workers. La charla concluye con ideas sobre el uso de bases de datos y las diferencias entre serverless, CDN y el Edge.

1. Introduction to Cloud Flarewalkers

Short description:

Hola, amigos. Hoy hablaré sobre el acceso a bases de datos en el edge con Cloud Flarewalkers. Discutiremos qué es, cómo es diferente de las plataformas serverless tradicionales y los dolores de crecimiento del serverless. Los trabajadores de CloudFlare ejecutan tu código de aplicación mucho más cerca de tu usuario, que incluso podría estar en la misma ciudad. Los trabajadores de CloudFlare son significativamente más ligeros porque la plataforma está construida sobre el motor V8. Los trabajadores de CloudFlare también ofrecen un alto rendimiento, con un tiempo de inicio más corto y menor latencia. Sin embargo, conectarse a bases de datos sigue siendo un desafío desde los trabajadores de CloudFlare debido a las limitaciones del motor V8.

Hola, amigos. Hoy hablaré sobre el acceso a bases de datos en el edge con Cloud Flarewalkers. Mi nombre es Alex, y soy un defensor de desarrolladores en Prisma. No dudes en contactarme después de la charla si tienes alguna pregunta, o simplemente cualquier pregunta o para conectar.

Esta charla se dividirá en cuatro secciones. La primera parte será sobre Cloud Flarewalkers, o el edge. Discutiremos qué es, cómo es diferente de las plataformas serverless tradicionales y los dolores de crecimiento del serverless. La segunda sección echará un vistazo a Prisma y al Prisma Data Proxy, explorando cómo el Data Proxy te ayuda a interactuar con tu base de datos en el edge. Y la tercera parte, o la tercera sección, será la parte emocionante, donde tendremos una demostración. Migraremos una aplicación usando un archivo JSON para almacenar y recuperar citas, y moveremos los datos a una base de datos y la desplegaremos en el edge. Finalmente, haremos un resumen de la charla al final. Y por ahora, vamos a ello.

Entonces, ¿qué es el edge? Parece ser una palabra de moda que se usa mucho, pero ¿qué significa? El edge es una forma de computación serverless que está distribuida. Y en el contexto de los trabajadores de CloudFlare, se despliega en la red de datos de CloudFlare centros.

Ahora que entiendes qué es el edge, y cómo funciona CloudFlare, echemos un vistazo a cómo los trabajadores de CloudFlare son diferentes de los serverless tradicionales. Como mencioné antes, está distribuido. Las funciones serverless tradicionales se despliegan en centros de datos o regiones específicas. Y en contraste, los trabajadores de CloudFlare ejecutan tu código de aplicación mucho más cerca de tu usuario, que incluso podría estar en la misma ciudad. Los trabajadores de CloudFlare también son significativamente más ligeros porque la plataforma está construida sobre el motor V8. Es el mismo motor que impulsa los navegadores basados en Chromium como Chrome y Edge, y también el runtime de Node.js. Así que cada vez que se invoca tu trabajador de CloudFlare, en lugar de aprovisionar un contenedor intacto para tu función serverless, el trabajador de CloudFlare inicia un aislamiento V8 que es significativamente más pequeño. Y si has oído hablar del problema de inicio en frío en serverless, entonces entiendes por qué esta es una tecnología emocionante.

Así que los trabajadores de CloudFlare también ofrecen un alto rendimiento. Esto se suma a los dos primeros puntos. Porque el entorno es significativamente más ligero, lo que lleva a un tiempo de inicio más corto, o incluso posiblemente ninguno. Y también experimentarías una menor latencia cada vez que invoques tu función porque se invocaría desde el centro de datos más cercano a ti. Ahora sé que todo esto suena encantador, pero los trabajadores de CloudFlare todavía sufren los mismos problemas que las funciones serverless tradicionales en el contexto de las bases de datos. Así que conectarse a bases de datos sigue siendo un desafío desde los trabajadores de CloudFlare. Esto se debe a que el motor V8 solo admite el envío de conexiones basadas en HTTP.

2. Challenges and Solutions for Database Access

Short description:

Diferentes bases de datos tienen diferentes implementaciones para conectarse a ellas, lo que puede ser caótico. Las conexiones a bases de datos en entornos serverless pueden agotarse fácilmente, causando que las solicitudes fallen. Las posibles soluciones incluyen soluciones específicas de CloudFlare, usar Postgres para convertir una base de datos existente en una API RESTful, modificar los controladores de Postgres y MySQL para usar HTTP con Deno, y usar el proxy de datos de Prisma.

Esto se convierte en un problema. Las diferentes bases de datos presentan diferentes implementaciones de las interfaces de cómo puedes conectarte a ellas, lo cual es todo caótico y está en marcha. Las conexiones a bases de datos también son con estado, mientras que los entornos serverless son sin estado, lo que significa que puedes agotar fácilmente las conexiones a bases de datos porque cada trabajador crea un nuevo grupo de conexiones. Y cuando te quedas sin conexiones, las solicitudes en tu aplicación comenzarían a fallar.

Entonces, ¿cómo puedes resolver este problema? Bueno, tienes varias opciones disponibles, al igual que en el resto del ecosistema de JavaScript. Una opción sería optar por soluciones específicas de CloudFlare, como el almacén de valores clave de los trabajadores y los objetos duraderos. La segunda opción, si tienes una base de datos existente, podrías usar Postgres, que convierte tu base de datos Postgres existente en una API RESTful. Otra opción sería convertir, usar los controladores de Postgres y MySQL y modificarlos para usar HTTP con Deno, creo. Y finalmente, el núcleo de esta charla, que es el proxy de datos de Prisma y esta charla se centrará en esto, pero siéntete libre de probar las otras opciones por ti mismo también.

Así que Prisma es un ORM de próxima generación con seguridad de tipos para NodeJS que funciona con JavaScript y TypeScript. Soporta varias bases de datos como SQLite, MySQL, Postgres, SQL Server, y también CockroachDB y MongoDB, que aún están en vista previa. Los beneficios principales de Prisma son que aumenta la productividad al permitir a los desarrolladores consultar datos de maneras naturales y familiares, y también proporcionando un modelo de datos legible para humanos. Prisma también aumenta la confianza del desarrollador con la seguridad de tipos, la autocompletación, y la API robusta para interactuar con tu base de datos. Así que incluso si no usas TypeScript en tu proyecto, la mayoría de los editores proporcionarán autocompletación para tus consultas de base de datos cuando estés usando Prisma.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
The talk discusses the importance of supply chain security in the open source ecosystem, highlighting the risks of relying on open source code without proper code review. It explores the trend of supply chain attacks and the need for a new approach to detect and block malicious dependencies. The talk also introduces Socket, a tool that assesses the security of packages and provides automation and analysis to protect against malware and supply chain attacks. It emphasizes the need to prioritize security in software development and offers insights into potential solutions such as realms and Deno's command line flags.
Cargadores ESM: Mejorando la carga de módulos en Node.js
JSNation 2023JSNation 2023
22 min
Cargadores ESM: Mejorando la carga de módulos en Node.js
Top Content
ESM Loaders enhance module loading in Node.js by resolving URLs and reading files from the disk. Module loaders can override modules and change how they are found. Enhancing the loading phase involves loading directly from HTTP and loading TypeScript code without building it. The loader in the module URL handles URL resolution and uses fetch to fetch the source code. Loaders can be chained together to load from different sources, transform source code, and resolve URLs differently. The future of module loading enhancements is promising and simple to use.
El Estado de Node.js 2025
JSNation 2025JSNation 2025
30 min
El Estado de Node.js 2025
Top Content
The speaker covers a wide range of topics related to Node.js, including its resilience, popularity, and significance in the tech ecosystem. They discuss Node.js version support, organization activity, development updates, enhancements, and security updates. Node.js relies heavily on volunteers for governance and contribution. The speaker introduces an application server for Node.js enabling PHP integration. Insights are shared on Node.js downloads, infrastructure challenges, software maintenance, and the importance of update schedules for security.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
There is a need for a standard library of APIs for JavaScript runtimes, as there are currently multiple ways to perform fundamental tasks like base64 encoding. JavaScript runtimes have historically lacked a standard library, causing friction and difficulty for developers. The idea of a small core has both benefits and drawbacks, with some runtimes abusing it to limit innovation. There is a misalignment between Node and web browsers in terms of functionality and API standards. The proposal is to involve browser developers in conversations about API standardization and to create a common standard library for JavaScript runtimes.
Diagnostics de Node.js listos para usar
Node Congress 2022Node Congress 2022
34 min
Diagnostics de Node.js listos para usar
This talk covers various techniques for getting diagnostics information out of Node.js, including debugging with environment variables, handling warnings and deprecations, tracing uncaught exceptions and process exit, using the v8 inspector and dev tools, and generating diagnostic reports. The speaker also mentions areas for improvement in Node.js diagnostics and provides resources for learning and contributing. Additionally, the responsibilities of the Technical Steering Committee in the TS community are discussed.
Viviendo al Límite
React Advanced 2021React Advanced 2021
36 min
Viviendo al Límite
The Talk discusses the future of React and introduces new APIs, including streaming rendering and server components. React Suspense allows for asynchronous loading of components and data fetching. The use of serverless computing, specifically Cloudflare Workers, is explored as a way to improve performance. The Talk emphasizes the potential for simplifying the React ecosystem and the excitement about the new API.

Workshops on related topic

Construyendo un Sistema RAG en Node.js: Bases de Datos Vectoriales, Embeddings y Chunking
Node Congress 2025Node Congress 2025
98 min
Construyendo un Sistema RAG en Node.js: Bases de Datos Vectoriales, Embeddings y Chunking
Featured Workshop
Alex Korzhikov
Pavlik Kiselev
2 authors
Los Modelos de Lenguaje Grande (LLMs) son poderosos, pero a menudo carecen de conocimiento en tiempo real. La Generación Aumentada por Recuperación (RAG) cierra esta brecha al obtener información relevante de fuentes externas antes de generar respuestas. En esta masterclass, exploraremos cómo construir un pipeline RAG eficiente en Node.js utilizando feeds RSS como fuente de datos. Compararemos diferentes bases de datos vectoriales (FAISS, pgvector, Elasticsearch), métodos de embedding y estrategias de prueba. También cubriremos el papel crucial del chunking: dividir y estructurar datos de manera efectiva para un mejor rendimiento de recuperación.Requisitos Previos- Buen entendimiento de JavaScript o TypeScript- Experiencia con Node.js y desarrollo de API- Conocimientos básicos de bases de datos y LLMs son útiles pero no requeridos
Agenda📢 Introducción a RAG💻 Demo - Aplicación de Ejemplo (RAG con Feeds RSS)📕 Bases de Datos Vectoriales (FAISS, pgvector, Elasticsearch) y Embeddings🛠️ Estrategias de Chunking para Mejor Recuperación🔬 Pruebas y Evaluación de Pipelines RAG (Precisión, Recall, Rendimiento)🏊‍♀️ Consideraciones de Rendimiento y Optimización🥟 Resumen y Preguntas y Respuestas
Construir un MCP (Model Context Protocol) en Node.js
JSNation US 2025JSNation US 2025
97 min
Construir un MCP (Model Context Protocol) en Node.js
Featured Workshop
Julián Duque
Julián Duque
Model Context Protocol (MCP) introduce un enfoque estructurado para la gestión de contexto de LLM que aborda las limitaciones en los métodos de prompting tradicionales. En esta masterclass, aprenderás sobre el Model Context Protocol, su arquitectura y cómo construir y usar un MCP con Node.jsTabla de Contenidos:¿Qué es el Model Context Protocol?Tipos de MCPs (Stdio, SSE, HTTP Streaming)Comprendiendo Herramientas, Recursos y PromptsConstruyendo un MCP con el SDK Oficial de TypeScript en Node.jsDesplegando el MCP en la Nube (Heroku)Integrando el MCP con Tu Herramienta de IA Favorita (Claude Desktop, Cursor, Windsurf, VS Code Copilot)Consideraciones de Seguridad y Mejores Prácticas
Modelado de Bases de Datos Relacionales para GraphQL
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Modelado de Bases de Datos Relacionales para GraphQL
Top Content
Workshop
Adron Hall
Adron Hall
En esta masterclass profundizaremos en el modelado de datos. Comenzaremos con una discusión sobre varios tipos de bases de datos y cómo se mapean a GraphQL. Una vez que se haya establecido esa base, el enfoque se desplazará a tipos específicos de bases de datos y cómo construir modelos de datos que funcionen mejor para GraphQL en varios escenarios.
Índice de contenidosParte 1 - Hora 1      a. Modelado de Datos de Bases de Datos Relacionales      b. Comparando Bases de Datos Relacionales y NoSQL      c. GraphQL con la Base de Datos en menteParte 2 - Hora 2      a. Diseño de Modelos de Datos Relacionales      b. Relación, Construcción de Tablas Multijoin      c. Complejidades de Consulta de Modelado de Datos Relacionales y GraphQL
Prerrequisitos      a. Herramienta de modelado de datos. El formador utilizará dbdiagram      b. Postgres, aunque no es necesario instalar esto localmente, ya que estaré utilizando una imagen de Dicker de Postgres, de Docker Hub para todos los ejemplos      c. Hasura
Masterclass de Node.js
Node Congress 2023Node Congress 2023
109 min
Masterclass de Node.js
Top Content
Workshop
Matteo Collina
Matteo Collina
¿Alguna vez has tenido dificultades para diseñar y estructurar tus aplicaciones Node.js? Construir aplicaciones que estén bien organizadas, sean probables y extensibles no siempre es fácil. A menudo puede resultar ser mucho más complicado de lo que esperas. En este evento en vivo, Matteo te mostrará cómo construye aplicaciones Node.js desde cero. Aprenderás cómo aborda el diseño de aplicaciones y las filosofías que aplica para crear aplicaciones modulares, mantenibles y efectivas.

Nivel: intermedio
Construir y Desplegar un Backend Con Fastify & Platformatic
JSNation 2023JSNation 2023
104 min
Construir y Desplegar un Backend Con Fastify & Platformatic
Top Content
WorkshopFree
Matteo Collina
Matteo Collina
Platformatic te permite desarrollar rápidamente GraphQL y REST APIs con un esfuerzo mínimo. La mejor parte es que también te permite desatar todo el potencial de Node.js y Fastify siempre que lo necesites. Puedes personalizar completamente una aplicación de Platformatic escribiendo tus propias características y plugins adicionales. En la masterclass, cubriremos tanto nuestros módulos de Open Source como nuestra oferta en la Nube:- Platformatic OSS (open-source software) — Herramientas y bibliotecas para construir rápidamente aplicaciones robustas con Node.js (https://oss.platformatic.dev/).- Platformatic Cloud (actualmente en beta) — Nuestra plataforma de alojamiento que incluye características como aplicaciones de vista previa, métricas integradas e integración con tu flujo de Git (https://platformatic.dev/). 
En esta masterclass aprenderás cómo desarrollar APIs con Fastify y desplegarlas en la Platformatic Cloud.
Construyendo un Servidor Web Hiper Rápido con Deno
JSNation Live 2021JSNation Live 2021
156 min
Construyendo un Servidor Web Hiper Rápido con Deno
Top Content
Workshop
Matt Landers
Will Johnston
2 authors
Deno 1.9 introdujo una nueva API de servidor web que aprovecha Hyper, una implementación rápida y correcta de HTTP para Rust. El uso de esta API en lugar de la implementación std/http aumenta el rendimiento y proporciona soporte para HTTP2. En este masterclass, aprende cómo crear un servidor web utilizando Hyper en el fondo y mejorar el rendimiento de tus aplicaciones web.