En un mundo dirigido por datos, nosotros como desarrolladores hemos recurrido a esquemas para ayudar a describir y organizar esos datos. Pero ¿qué sucede cuando tienes un montón de esquemas para hacer un seguimiento? En esta charla aprenderás el papel de todos los diferentes esquemas en una API de GraphQL.
Esquemas en todas partes: Entendiendo GraphQL, Bases de Datos y Prisma
Video Summary and Transcription
¡Bienvenido a la charla! Como desarrolladores, gestionamos y comprendemos los datos con los que el mundo funciona. Cada esquema individual en tu infraestructura define tus datos en el contexto de su propio dominio. El esquema de Prisma se utiliza para generar migraciones y crear una asignación entre la base de datos y la API, permitiendo interacciones seguras en cuanto a tipos. El esquema de GraphQL permite a los clientes consultar de forma segura la base de datos a través de la API. Al utilizar Prisma y GraphQL Code Generator, puedes lograr un entorno de extremo a extremo seguro en cuanto a tipos.
1. Introducción a la Gestión y Modelado de Datos
¡Bienvenidos a la charla! Como desarrolladores, gestionamos y entendemos los datos en los que se basa el mundo. El modelado de datos puede ser desafiante, especialmente cuando se trata de datos de diversas fuentes. Los esquemas proporcionan una forma de representar modelos de datos, pero la proliferación de esquemas ha planteado la pregunta de la fuente de verdad.
Bienvenidos a todos. Muchas gracias por unirse a mí en esta charla. Estoy muy emocionado de darla en un formato de charla relámpago. Anteriormente, he dado la misma charla en un formato más extenso y la he condensado en las partes necesarias. Así que estoy deseando ver cómo va a ir esto. Si tienen alguna pregunta sobre la charla después de que la haya dado, no duden en enviarme un mensaje en Twitter y estaré encantado de responder cualquier pregunta que puedan tener. Pero antes de adentrarnos en el meollo de esta charla, hablemos del concepto más amplio de que el mundo mismo se basa en data, ya sea tu teléfono celular, ya sea que estés usando Facebook, o tal vez tu refrigerador o cualquier cosa que esté conectada a internet, todo funciona con data y como desarrolladores, en realidad es nuestro trabajo gestionarlo. Así que es una gran responsabilidad que recae sobre nuestros hombros, pero eso es a lo que nos comprometimos cuando nos convertimos en desarrolladores, gestionar estos data, hacer algo con ellos y proporcionarlos en un formato que otros programas puedan utilizar. Así que la conclusión de todo esto es que para gestionar un conjunto de data, debes tener algún tipo de conocimiento sobre su estructura y su propósito. Debes saber por qué estás tratando con tus data y por qué estás haciendo lo que estás haciendo en el código de tu aplicación con tus data. Así que para revisar esta declaración original, no solo es nuestro trabajo gestionar estos data en los que se basa el mundo, sino que también es nuestro trabajo entenderlos al menos en cierta medida. Y esto es difícil porque en general,data es difícil de modelar. Como personas técnicas, tenemos muchas cosas en marcha. Estamos haciendo muchas cosas técnicas. Estamos desarrollando aplicaciones. Tenemos mucho conocimiento que mantener en nuestras mentes. No hay mucho espacio para entender todo el dominio de data de cualquier industria en la que estemos trabajando en ese momento. Así que hay un par de razones más por las que tu data es difícil de modelar, a medida que tu data fluye a través de diferentes áreas de tu aplicación, debes saber cómo interactuar con este data. Por lo tanto, debe ser modelado de una manera que funcione con diferentes partes de tu aplicación. Tu modelo de data puede cambiar a medida que tu aplicación evoluciona. A medida que surgen nuevos requisitos en tu industria, es posible que debas evolucionar tu modelo un poco y hacerlo de una manera segura para tu aplicación puede ser difícil a veces. Otro motivo, y este es importante, es que tu data puede no haber sido modelada por ti. Y también revisaría esto para decir que tu data probablemente no fue modelada por ti. Probablemente estés consumiendo data de otra persona y lo estés utilizando en tu propia aplicación.
Por todas estas razones, nosotros como desarrolladores ideamos esta idea de esquemas, que es una forma de representar clara y concisamente tu modelo de data. Pero aún hay un problema, incluso con los esquemas. Los esquemas están en todas partes, por lo que hemos resuelto el problema de poder modelar nuestros data de una manera que tenga sentido. Pero ahora que hemos encontrado una buena solución, la estamos utilizando en todas partes y el propósito original del esquema se ha perdido. Entonces, lo que se supone que debe ser el esquema es una fuente de verdad de cómo se ve tu data. Pero a medida que comienzas a agregar diferentes esquemas en todas partes, surge la pregunta, ¿ahora cuál es la fuente de verdad? Esto provoca el problema de que ahora tienes múltiples fuentes percibidas de verdad, y cada esquema puede describir tu data de manera un poco diferente, lo que probablemente plantea la pregunta, ¿cuál es la fuente de verdad? Y además, cada esquema tiene un diferente
2. Gestión de Datos y Definición de Esquemas
Cada esquema individual en tu infraestructura define tus datos en el contexto de su propio dominio. Analizaremos el esquema de la base de datos, que está escrito en un lenguaje de descripción de datos. Prisma tiene su propio lenguaje, el lenguaje de esquema de Prisma, que permite un modelado más fácil del esquema de la base de datos. El esquema de GraphQL es diferente al esquema de la base de datos, ya que define lo que expone la API, no los propios datos.
3. Mapeo de Esquemas de Prisma y GraphQL
El esquema de Prisma se utiliza para generar migraciones y crear un mapeo entre la base de datos y la API, permitiendo interacciones seguras en cuanto a tipos. El esquema de GraphQL permite a los clientes consultar de forma segura la base de datos a través de la API. Al completar los vacíos con herramientas como Prisma y GraphQL Code Generator, se pueden generar tipos para el frontend basados en el esquema de GraphQL. Cuando se utilizan correctamente todos los esquemas y herramientas, se logra un entorno seguro en cuanto a tipos de extremo a extremo. Gracias por acompañarme hoy para discutir las diferencias entre los esquemas. Si tienes alguna pregunta adicional, no dudes en contactarme en Twitter.