Эта статья — перевод оригинальной статьи «Introducing storage on Vercel»

Также я веду телеграм канал «Frontend по‑флотски», где рассказываю про интересные вещи из мира разработки интерфейсов.

Вступление

Теперь доступны Vercel KV, Vercel Postgres, Vercel Blob и Vercel Edge Config.

Данные - неотъемлемая часть веба. Поскольку фреймворки JavaScript и TypeScript как никогда упрощают серверную обработку данных "точно в срок", пришло время сделать базы данных первоклассной частью фронтенд-облака Vercel.

Сегодня мы рады объявить о том, что на Vercel теперь доступен набор решений для бессерверного хранения данных на базе лучших поставщиков инфраструктуры в отрасли.

  • Vercel KV: бессерверное решение Redis, простое и долговечное, на базе Upstash

  • Vercel Postgres: Бессерверная база данных SQL, созданная для фронтенда, на базе Neon

  • Vercel Blob: Решение для загрузки и обслуживания файлов, работающее на базе Cloudflare R2

Почему сейчас?

В связи с потребностью в производительности и персонализации фреймворки становятся серверно-ориентированными и edge-first. Примером этого сдвига являются серверные компоненты React и внедрение потоковой инфраструктуры в наши среды выполнения. Эти возможности позволяют как никогда легко получать данные из базы данных или других источников данных в самом серверном компоненте.

Одновременно с этим, по мере того как мир переходит от монолитных архитектур к композитным, нет недостатка в вариантах бэкендов и баз данных. Но для новых проектов выбор все еще может быть довольно сложным.

Стремясь стать сквозным решением для создания веб-приложений, мы внедряем решения, которые открыты, просты в использовании и масштабируются так же эффективно, как и наши фронтенды.

Vercel KV: долговечная база данных Redis

Хранилище ключевых значений, такое как Redis, является одним из наиболее распространенных инструментов, к которым обращаются разработчики при управлении такими вещами, как ограничение скорости, управление сессиями или состояние приложения.

Сегодня мы представляем Vercel KV, бессерверную, совместимую с Redis, простую в использовании и высокопрочную базу данных. Vercel KV позволяет создавать базы данных, совместимые с Redis, которые можно записывать в сеть Vercel и считывать из нее в указанных вами регионах, причем конфигурация практически не требуется.

import kv from '@vercel/kv';

export async function getPrefs() {
  const prefs = await kv.get('prefs');
  return prefs || {};
}

export async function updatePrefs(prefs: Record<string, string>) {
 return kv.set('prefs', prefs);
}

Мы сотрудничаем с Upstash, чтобы предоставить инструментарий, разработанный для бессерверного использования, который по умолчанию сохраняет данные в памяти и на диске. Это означает, что его можно использовать для сохранения состояния без риска потери данных при падении сервера.

Vercel Postgres: Сложные данные - это просто

PostgreSQL является предпочтительным способом работы с реляционными данными для многих разработчиков. В сотрудничестве с компанией Neon мы представили Vercel Postgres, первую бессерверную базу данных SQL, созданную для облака фронтенда.

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>
  );
}

Vercel Postgres - это полностью управляемая, масштабируемая, отказоустойчивая база данных, обеспечивающая высокую производительность и низкую задержку для ваших веб-приложений. Vercel Postgres разработан для бесшовной работы с Next.js App Router и Server Components и другими фреймворками, такими как Nuxt и SvelteKit, что позволяет легко получать данные из базы данных Postgres для отображения динамического контента на сервере со скоростью статического.

Вы можете использовать Vercel Postgres для запроса, вставки, обновления или удаления данных непосредственно внутри ваших серверных компонентов React, предоставляя вам мощные мутации данных на основе сервера и меньшее количество JavaScript на стороне клиента.

Vercel Blob: Простое хранение файлов на границе

Vercel Blob - это быстрое, простое и эффективное решение для хранения файлов в облаке. Он предоставляет простой, но мощный API для хранения данных, построенный полностью на веб-стандартах без необходимости конфигурировать сегменты памяти или внедрять тяжелые SDK.

import { put } from '@vercel/blob';

export const runtime = 'edge';

export async function PUT(request: Request) {
  const { url } = await put('avatars/user-12345.png', request.body, { access: 'public' });
 
  return Response.json({ url });
}

Vercel Blob может хранить такие файлы, как изображения, PDF, CSV или другие неструктурированные данные. Используйте Vercel Blob для:

  1. Файлы, которые вы обычно храните во внешних файловых хранилищах, таких как Amazon S3. Если ваш проект размещен на Vercel, вы можете легко получить доступ к этим файлам и управлять ими через Vercel Blob

  2. Файлы, которые программно загружаются или генерируются во время сборки, для отображения и загрузки, такие как аватары, скриншоты, изображения обложки и видео.

  3. Большие файлы, такие как видео и аудио, чтобы воспользоваться преимуществами глобальной сети

Начало работы

Это опирается на наши существующие интеграции с такими партнерами по базам данных, как Supabase, PlanetScale и MongoDB.

Хранилище Vercel от первого лица позволяет разработчикам легко управлять своими потребностями в хранении данных на фронтенде, не заботясь об инфраструктуре. Пользователи Hobby и Pro могут начать работу с Vercel KV и Vercel Postgres уже сегодня.

В настоящее время Vercel Blob находится в стадии приватного бета-тестирования и скоро будет запущен. Зарегистрируйтесь, чтобы получить ранний доступ. Узнайте больше о ценах, ограничениях и использовании в документации.

Комментарии (0)