Explorando Bases de Datos Modernas en Aplicaciones React

Rate this content
Bookmark

Las bases de datos tradicionales a menudo obstaculizan el flujo de trabajo de los desarrolladores de React. Nuevos enfoques, incluidas las soluciones serverless, están revolucionando el manejo de datos en aplicaciones React. Esta charla explora cómo los paradigmas modernos de bases de datos permiten la seguridad de tipos de extremo a extremo, crean flujos de trabajo ergonómicos y apoyan la iteración rápida. Aprende cómo estas bases de datos de próxima generación se integran con React para simplificar el desarrollo y aumentar la productividad, ayudándote a construir aplicaciones más eficientes y de mejor rendimiento.

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Aleksandra Sikora
Aleksandra Sikora
31 min
25 Oct, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Voy a hablar sobre bases de datos modernas en el ecosistema de React. El trabajo de desarrollo solía ser simple, con desarrolladores de front-end y backend trabajando por separado. Sin embargo, con el auge de Node.js y frameworks de full stack como Next.js, el ecosistema ha evolucionado. Ahora, los desarrolladores de front-end a menudo escriben código de backend, y las bases de datos se han convertido en un componente crucial. En esta charla, exploraremos las soluciones modernas y sus fortalezas cuando se trata de bases de datos. Discutiremos los cambios en el mundo de las bases de datos y cómo React y otros frameworks han facilitado el acceso a las bases de datos. Las bases de datos serverless simplifican la complejidad de gestionar bases de datos, pero hay consideraciones como el vendor lock-in y opciones de personalización limitadas. Las bases de datos de IA con funcionalidad de vectores proporcionan búsquedas más profundas en datos no estructurados. Las bases de datos multimodales como SurrealDB permiten diferentes tipos de datos en un solo almacenamiento. Herramientas como Prisma, Drizzle y EdgeDB proporcionan buena seguridad de tipos y facilidad de uso. EdgeDB es una base de datos relacional de grafos que combina SQL y GraphQL, facilitando la consulta de relaciones. La selección de bases de datos no es permanente, y es importante considerar las necesidades del usuario y mantenerse informado sobre las tendencias modernas. La adopción temprana de bases de datos de vanguardia conlleva riesgos, pero también soporte a tiempo completo. Usar la mejor herramienta para el trabajo es crucial, y se recomienda probar nuevos trucos para datos específicos.

1. Introduction to Modern Databases in React

Short description:

Voy a hablar sobre bases de datos modernas en el ecosistema de React. El trabajo de desarrollo solía ser simple, con desarrolladores de front-end y backend trabajando por separado. Sin embargo, con el auge de Node.js y frameworks full stack como Next.js, el ecosistema ha evolucionado. Ahora, los desarrolladores de front-end a menudo escriben código de backend, y las bases de datos se han convertido en un componente crucial. En esta charla, exploraremos las soluciones modernas y sus fortalezas cuando se trata de bases de datos.

Voy a hablar sobre bases de datos modernas en el ecosistema de React. Y primero, unas pocas palabras más sobre mí. Actualmente dirijo la experiencia del desarrollador en HDB. Anteriormente trabajé mucho con código abierto en Bleach.js y también alrededor de GraphQL en The Guild y antes en Hasura. Puedes encontrarme en Twitter como Alexandra says. Así que si tienes alguna pregunta o quieres hablar sobre cualquier cosa relacionada con bases de datos, no dudes en ponerte en contacto. O puedes visitar mi sitio web personal, alexandra.codes.

Así que no hace mucho tiempo, el trabajo de desarrollo era simple. Teníamos desarrolladores de front-end en el mundo de la UI, y teníamos desarrolladores de backend tratando con bases de datos, servidores, y así sucesivamente. Y había este muro entre ellos. Y cuando quería construir una característica, el flujo era como el equipo de diseño diseñaría la aplicación, luego el equipo de backend diseñaría la API, luego todos tendrían que discutir sobre la API, y luego los desarrolladores de front-end tendrían que esperar tal vez unas pocas semanas para que el equipo de backend terminara, luego podrían comenzar su trabajo. Y si había alguna inconsistencia, el trabajo comenzaría de nuevo.

Pero luego algo interesante sucedió en 2009 con el desarrollo de Node.js, porque de repente los desarrolladores de JavaScript podían escribir código de servidor también. Y eso cambió ligeramente el ecosistema. La pila mean era muy popular, así que Mongo, Express, Angular, y Node. Y luego también apareció Next.js en 2016. Y en 2019, Next.js introdujo rutas de API, lo que lo convirtió en un framework full stack. Y ahora también quiero que eches un vistazo a algunos de los años recientes. Así que en 2020, ese también fue un punto donde mucho cambió en el ecosistema de desarrollo. Así que tuvimos Prisma beta que de alguna manera llevó al desarrollo de algunas herramientas, por ejemplo, Bit.js, donde podías importar código de servidor directamente en tus componentes de cliente y ejecutarlo sin temer que se filtrara al navegador. Y luego también tuvimos algunos frameworks como Redwood, T3 con trpc-remix. Y en 2022, Next.js 14 anunció la integración con componentes de servidor de React. Así que con todos esos cambios del ecosistema cambiando y los frameworks evolucionando hacia full stack, el panorama de las bases de datos también cambió. Así que ahora que podemos saltar dentro y fuera de nuestros servidores dentro de nuestro front-end, dentro de nuestros componentes de cliente, podemos mover este límite de red como nos convenga. Así que con eso, ahora podemos explorar algunas de las soluciones modernas y sus fortalezas cuando se trata de bases de datos.

Y eso es especialmente importante porque los desarrolladores de front-end están escribiendo más a menudo código de backend hoy en día, y React es ahora un framework full stack. Entonces, ¿cuál es el componente más importante del backend? Es una base de datos. Y esa es la base de nuestra aplicación donde almacenamos nuestros datos y esos datos impulsan nuestras características. Y no voy a darte una receta sobre cómo elegir la mejor base de datos para tu proyecto, porque esa decisión puede ser un poco más matizada que solo mirar las características. Hay algunas decisiones como relacional, no relacional, OLAP versus OLTP.

2. Overview of Changes in the Databases World

Short description:

En esta parte, discutiremos los cambios en el mundo de las bases de datos y cómo React y otros frameworks han facilitado el acceso a las bases de datos. Exploraremos los desafíos y soluciones para configurar bases de datos y los beneficios de usar soluciones que simplifican el proceso.

Verás, es difícil de pronunciar, así que son muchas decisiones. Y esas decisiones deben tomarse, como, muy temprano, porque son costosas de revertir. Pero en lugar de eso, espero darte una visión general de lo que puedes esperar en 2024 y cuáles son algunas de las características que puedes tener en cuenta al mirar bases de datos. Porque la verdad es que, no solo en el mundo de los frameworks, mucho ha cambiado, sino también en el mundo de las bases de datos. Y si no estás, como, siguiendo el mundo de las bases de datos, podría ser, como, ya sabes, hay algunos tradicionales, como Postgres o MySQL. Pero la verdad es que tenemos muchos de ellos. Como, hay bromas de que hay una nueva base de datos cada semana. Y la cosa es que esas bases de datos tradicionales, realmente no pueden seguir el ritmo de cómo React u otros frameworks construidos sobre React han cambiado. Porque muchas cosas se han vuelto más fáciles. Y ahora podemos, por ejemplo, en este código con React Server Components, podemos acceder a la base de datos directamente en nuestro componente cliente. Y eso parece divertido, eso parece fácil. Pero luego hay una pregunta, como, ¿qué es esta DB? ¿De dónde viene? ¿Y cómo configurarla? Así que, esas decisiones y soluciones que hacen que esas decisiones sean más fáciles es algo de lo que quiero hablar. Porque las bases de datos son bastante difíciles, y hay mucho bajo la superficie que no realmente necesitamos preocuparnos cuando estamos construyendo aplicaciones. Y hay soluciones que de alguna manera nos quitan esta carga.

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

TypeScript y la Base de Datos: ¿Quién Posee los Tipos?
TypeScript Congress 2022TypeScript Congress 2022
27 min
TypeScript y la Base de Datos: ¿Quién Posee los Tipos?
Top Content
The Talk discusses the use of TypeScript and SQL together in software development. It explores different approaches, such as using an ORM like TypeORM or a schema generator like pg2ts. Query builders like connects JS and tools like PGTyped are also discussed. The benefits and trade-offs of using TypeScript and SQL are highlighted, emphasizing the importance of finding a middle ground approach.
Nunca usaría un ORM
JSNation 2023JSNation 2023
29 min
Nunca usaría un ORM
Top Content
Welcome to a talk on Object-Relational Mapping (ORM) and its potential pitfalls. The speaker discusses issues with modals and the MVC pattern, as well as the benefits of structuring code around system features instead. They introduce PlatformaticDB as a solution for easy backend development, showcasing its deployment and testing capabilities. The talk also covers integrating with Next.js, writing custom SQL queries, and the speaker's plans for future support and database compatibility.
Acceso a la base de datos en el Edge con Cloudflare Workers y Prisma
Node Congress 2022Node Congress 2022
31 min
Acceso a la base de datos en el Edge con Cloudflare Workers y Prisma
This Talk discusses database access on the edge with CloudFlare workers and the challenges of serverless platforms. It explores solutions for database access, including CloudFlare-specific solutions and using Prisma data proxy. The Prisma toolkit and demo are showcased, demonstrating how to convert an application to use a database. The process of setting up Prisma Data Platform and deploying the application to CloudFlare workers is explained. The Talk concludes with insights on database usage and the differences between serverless, CDN, and the Edge.
Lleva la búsqueda basada en IA a tu aplicación web
JSNation 2023JSNation 2023
31 min
Lleva la búsqueda basada en IA a tu aplicación web
The Talk discusses the use of machine learning in search engines, specifically focusing on semantic search and vector embeddings. It explores the integration of JavaScript and machine learning models, using Weaviate as an open-source vector database. The Talk demonstrates how to connect to Weaviate, query data, and perform machine learning queries. It also highlights the benefits of Weaviate, such as its superior developer experience and performance. Additionally, the Talk addresses customization options, data privacy concerns, and the varying effectiveness of different machine learning models.
Persistencia de Remix con DynamoDB
Remix Conf Europe 2022Remix Conf Europe 2022
41 min
Persistencia de Remix con DynamoDB
DynamoDB is a next-generation key-value database that is low-latency, scalable, and easy to use. It offers advantages such as local development options, a generous free tier, and fast performance. Common misconceptions about DynamoDB being expensive or hard to learn are debunked. The Talk covers topics like basic modeling, separating concerns, working with DynamoDB in Remix, and building a DynamoDB client. Overall, DynamoDB is a powerful database that integrates well with Remix and provides efficient data access patterns.
Software Local-Primero Con ElectricSQL
React Advanced 2023React Advanced 2023
29 min
Software Local-Primero Con ElectricSQL
Local-first software allows for instant display of data to the user, offering zero latency and offline functionality. It simplifies data synchronization and enables real-time multi-user sync. Popular tools like Facebook Messenger and Google Workspace apps have adopted this pattern. Electric SQL provides a drop-in sync layer for existing applications, combining real-time functionality with conflict-free offline capabilities. Local-first software replaces APIs and microservices with a standardized replication protocol, simplifying state management and reducing server load.

Workshops on related topic

Cómo Resolver Problemas del Mundo Real con Remix
Remix Conf Europe 2022Remix Conf Europe 2022
195 min
Cómo Resolver Problemas del Mundo Real con Remix
Featured Workshop
Michael Carter
Michael Carter
- ¿Errores? Cómo renderizar y registrar tus errores del servidor y del clientea - Cuándo devolver errores vs lanzar excepcionesb - Configurar servicios de registro como Sentry, LogRocket y Bugsnag- ¿Formularios? Cómo validar y manejar formularios de varias páginasa - Usar zod para validar los datos del formulario en tu acciónb - Pasar por formularios de varias páginas sin perder datos- ¿Atascado? Cómo solucionar errores o funciones faltantes en Remix para que puedas continuara - Usar patch-package para solucionar rápidamente tu instalación de Remixb - Mostrar herramienta para gestionar múltiples parches y seleccionar solicitudes de extracción abiertas- ¿Usuarios? Cómo manejar aplicaciones de varios inquilinos con Prismaa - Determinar el inquilino por el host o por el usuariob - Base de datos múltiples o base de datos única/múltiples esquemasc - Asegura que los datos del inquilino siempre estén separados de los demás
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
WorkshopFree
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
Escalando tu base de datos con ReadySet
Node Congress 2023Node Congress 2023
33 min
Escalando tu base de datos con ReadySet
WorkshopFree
Aspen Smith
Nick Marino
2 authors
La base de datos puede ser una de las partes más difíciles de escalar en una aplicación web. Muchos proyectos terminan utilizando sistemas de caché ad-hoc que son complejos, propensos a errores y costosos de construir. ¿Qué pasaría si pudieras implementar un sistema de caché listo para usar para mejorar el rendimiento y la optimización de consultas sin necesidad de realizar cambios en el código de tu aplicación?
Únete a los desarrolladores Aspen Smith y Nick Marino para ver cómo puedes cambiar una línea de configuración en tu aplicación y utilizar ReadySet para escalar el rendimiento de tus consultas en órdenes de magnitud hoy mismo.
Crear una aplicación React Native de pila completa con Oracle 23ai
React Summit 2024React Summit 2024
37 min
Crear una aplicación React Native de pila completa con Oracle 23ai
WorkshopFree
Doug Drechsel
Doug Drechsel
En este masterclass, configurarás un entorno de pila completa local y crearás una aplicación móvil React Native que se ejecuta en esa pila.
Agenda:- Instalar el contenedor Docker de Oracle 23ai- Construir y ejecutar Parse Server con el nuevo adaptador de almacenamiento de Oracle- Construir y ejecutar una aplicación móvil React Native de Walking History en la pila
Walking History es una aplicación React Native que te permite caminar por la ciudad de Nueva York (o simularlo en un emulador de dispositivos) y te muestra la atracción o punto de interés más cercano.
Construyendo una aplicación en tiempo real con Remix y Supabase
Remix Conf Europe 2022Remix Conf Europe 2022
156 min
Construyendo una aplicación en tiempo real con Remix y Supabase
Workshop
Jon Meyers
Jon Meyers
Supabase y Remix hacen que sea fácil construir aplicaciones fullstack. En este masterclass, vamos a aprender cómo usar Supabase para implementar autenticación y autorización en una aplicación en tiempo real con Remix. Únete a Jon Meyers mientras construye esta aplicación desde cero y demuestra cómo puedes aprovechar el poder de las bases de datos relacionales!
Construyendo un backend serverless nativo de GraphQL con Fauna
GraphQL Galaxy 2021GraphQL Galaxy 2021
143 min
Construyendo un backend serverless nativo de GraphQL con Fauna
WorkshopFree
Rob Sutter
Shadid Haque
2 authors
¡Bienvenido a Fauna! Este masterclass ayuda a los desarrolladores de GraphQL a construir aplicaciones de alto rendimiento con Fauna que se escalan a cualquier tamaño de base de usuarios. Comienzas con lo básico, utilizando solo el playground de GraphQL en el panel de Fauna, luego construyes una aplicación completa de pila completa con Next.js, agregando funcionalidad a medida que avanzas.

En la primera sección, Comenzando con Fauna, aprendes cómo Fauna crea automáticamente consultas, mutaciones y otros recursos basados en tu esquema de GraphQL. Aprendes cómo realizar tareas comunes con GraphQL, cómo usar el lenguaje de consulta de Fauna (FQL) para realizar tareas más avanzadas.

En la segunda sección, Construyendo con Fauna, aprendes cómo Fauna crea automáticamente consultas, mutaciones y otros recursos basados en tu esquema de GraphQL. Aprendes cómo realizar tareas comunes con GraphQL, cómo usar el lenguaje de consulta de Fauna (FQL) para realizar tareas más avanzadas.