Vercel Postgres: Abordagem relacional no ambiente da Vercel
Recentemente, neste dia do trabalhador, a Vercel anunciou o Vercel Postgres, que é sua nova maneira de lidar com persistência no ambiente da Vercel.
Onde podemos criar uma aplicação FullStack usando, por exemplo, o Next.js com sua infra-estrutura provida pela própria Vercel, em parceria com a Neon, conseguem usar a arquitetura Serverless para prover um banco de dados PostgreSQL na sua infra.
É importante notar que assim como a [Supabase], por exemplo, a Neon tem um nível gratuito generoso. Onde poderás utilizar essa novidade para implementar um projeto pessoal, uma prova de conceito ou até um pequeno projeto em produção, com a escalabilidade da infra da Vercel.
Olhe como é um exemplo de código de implementação do Vercel Postgres:
import { sql } from '@vercel/postgres';
import { redirect } from 'next/navigation';
async function create(formData: FormData) {
'use server';
const { rows } = await sql`
INSERT INTO products (name)
VALUES (${formData.get('name')})
`;
redirect(`/product/${rows[0].slug}`);
}
export default function Page() {
return (
<form action={create}>
<input type="text" name="name" />
<button type="submit">Submit</button>
</form>
);
}
Note que nesse exemplo foi usado outra feature, o Server Actions, que será anunciado em breve(quando anunciar mudo esse trecho)
O mais deliçinha desta novidade é que poderemos escalar nossas aplicações com tolerância a falhas de banco de dados(afirma a Vercel), e com alta performace.
Dizendo a Vercel, essa proposta é desenhada para lidar perfeitamente com o Next.js App Router e com o Server Components, além de integrar também com outros frameworks, como Nuxt e SveltKit, obtendo dados e renderizando dinâmicamente o conteúdo do lado servidor com velocidade de uma aplicação estática.
A proposta é ótima, realmente interessante e com toda certeza eu irei utilizar nos meus projetos pessoais e POCs.