Подключение Postgres
Подключение Hyperdrive к базе данных PlanetScale Postgres.
← Hyperdrive (Postgres & MySQL) / hyperdrive
Создавайте базы данных PlanetScale Postgres или MySQL вместе с глобально распределёнными приложениями на Workers.
Cloudflare сотрудничает с PlanetScale ↗ чтобы предоставлять Workers базы данных Postgres и MySQL (Vitess), размещённые на PlanetScale. Hyperdrive подключается Workers к базам данных PlanetScale со встроенным пулом соединений и кешированием запросов для более высокой производительности.
Используйте преимущества обоих продуктов: создавайте решения с учётом глобального распределения Workers и оптимизируйте региональный доступ к данным. Чтобы начать, создайте базу данных PlanetScale в панели управления Cloudflare.
Перейдите в Создайте базу данных PlanetScale ↗Вы также можете создать базу данных PlanetScale с оплатой через Cloudflare из командной строки с помощью PlanetScale CLI ↗ (pscale), используя Wrangler чтобы авторизовать платёжную часть запроса Cloudflare. Для этого требуется pscale v0.313.0 или новее.
Создайте авторизацию для выставления счетов:
npx wrangler hyperdrive planetscale signatureЭта команда выводит полезную нагрузку в формате JSON:
{
"account_id": "<ACCOUNT_ID>",
"timestamp": "<TIMESTAMP>",
"signature": "<SIGNATURE>"
}pscale database create принимает эту полезную нагрузку через свой --cloudflare-billing флаг. Передача @- заставляет PlanetScale CLI считывать его из стандартного ввода. Мы рекомендуем этот способ вместо передачи подписи в качестве аргумента командной строки:
npx wrangler hyperdrive planetscale signature | \
pscale database create <DATABASE_NAME> \
--org <PLANETSCALE_ORG> \
--engine postgresql \
--cloudflare-billing @- \
--format jsonpscale database create по умолчанию использует Vitess, поэтому передайте --engine postgresql для базы данных Postgres, а --format json рекомендуется, если выходные данные обрабатываются агентом.
Ваши учетные данные PlanetScale остаются известны только вам и pscale. Wrangler авторизует только сторону биллинга Cloudflare.
Подпись представляет собой криптографически подписанный токен, который разрешает создание базы данных с оплатой через ваш аккаунт Cloudflare. Обращайтесь с ней как с учётными данными и никому не передавайте.
См. документация PlanetScale ↗ для параметров pscale database create поддерживает.
С Workers вы создаёте приложение, которое можно развернуть в любой точке глобальной сети Cloudflare, охватывающей 330+ городов. Развёртывание выполняется в один шаг, и пользователи в новых регионах получают доступ к приложению без развёртывания региональной инфраструктуры.
Вычисления Workers выполняются близко к вашим пользователям, обеспечивая низкую задержку. PlanetScale Postgres предоставляет региональные базы данных для управляющего слоя приложения или любых централизованных данных, которые не вписываются в модель распределения на периферии Cloudflare. Используйте её для таких данных, как клиенты, биллинг, настройки аккаунта и другие реляционные данные.
Hyperdrive служит связующим звеном между Workers и PlanetScale: он объединяет соединения с базой данных в пул и использует Cloudflare Кеш для подходящих запросов на чтение, чтобы приложение оставалось быстрым, даже если база данных централизована.
Выполняется рядом с пользователем. Когда пользователь отправляет запрос, Cloudflare направляет его в ближайшую локацию. Ваш Worker выполняется именно там, поэтому обработка запроса начинается рядом с пользователем.
Проверьте наличие локально кешированных операций чтения. На том же сервере Cloudflare, который обрабатывает запрос Worker, Hyperdrive устанавливает соединение с вашей базой данных за считанные миллисекунды (p90 4 мс), чтобы клиент или драйвер базы данных мог сразу отправлять запросы. При установке соединения Hyperdrive выполняет TCP ↗ установлении соединения, TLS ↗ шифрование и аутентификацию клиента на одной локальной машине, что исключает сетевые циклы обмена данными и задержки при обращении к базе данных. После того как соединение с базой данных установлено, если Worker отправляет кэшируемый запрос на чтение и результат уже есть в кэше, Hyperdrive возвращает его, не покидая эту локацию.
Пересылка при необходимости с промежуточным кешированием. Если локальный кэшированный результат отсутствует или запрос нельзя кэшировать, Hyperdrive отправляет его через сеть Cloudflare в локацию, ближайшую к вашей базе данных PlanetScale. Там Hyperdrive проверяет ещё один кэш, прежде чем запрос попадёт в базу данных; этот кэш пополняется за счёт множества запросов к вашей базе данных, что повышает частоту попаданий в кэш по принципу, похожему на многоуровневое кэширование .
Обращайтесь к PlanetScale только при необходимости. Если результата нет ни в одном из кэшей, Hyperdrive отправляет запрос в PlanetScale, используя уже открытый пул соединений с базой данных. Операции записи и другие некэшируемые запросы всегда идут напрямую в PlanetScale, поэтому база данных остаётся источником достоверных данных. Несколько уровней кэширования снижают общую нагрузку на вашу базу данных.
Hyperdrive не сбрасывает кэш результатов чтения при записи вашим приложением в PlanetScale. Если для аутентификации, сессий, прав доступа или другого критичного сценария вашему приложению требуется согласованность чтения после записи, используйте для таких запросов отдельную конфигурацию Hyperdrive с отключённым кэшированием. См. Кеширование запросов для рекомендаций.
Выберите PlanetScale Postgres или MySQL и продолжайте использовать привычные драйверы баз данных, библиотеки объектно-реляционного отображения (ORM) и инструменты SQL.
Запускайте рабочие базы данных на инфраструктуре PlanetScale, которая обеспечивает производительность и надёжность, необходимые рабочие нагрузки клиентов ↗.
Используйте ветки для разработки ↗ чтобы протестировать изменения базы данных, аналитика запросов ↗ чтобы понять производительность запросов, и Сервер Model Context Protocol (MCP) ↗ чтобы предоставить агентам доступ к аналитическим данным о базе данных, и всё это без администратора баз данных (DBA).
Если вы создаёте базу данных PlanetScale через панель управления Cloudflare, оплата списывается с вашего аккаунта Cloudflare: в счёте Cloudflare появится отдельная строка с расходами на PlanetScale. Цены на PlanetScale одинаковы независимо от того, создаёте и используете вы базы данных через Cloudflare или покупаете их напрямую у PlanetScale. Подробнее о ценах см. тарифы PlanetScale ↗. Изучить использование биллинга по каждой базе данных можно через панель PlanetScale панель управления ↗.
Как получить поддержку по базе данных PlanetScale?
Поддержка баз данных PlanetScale, созданных через Cloudflare, предоставляется компанией PlanetScale на уровне Standard support или в рамках приобретённого вами плана поддержки PlanetScale. За помощью по базе данных PlanetScale обращайтесь к Поддержка PlanetScale ↗ с дополнительной информацией или напрямую свяжитесь с командой поддержки PlanetScale через портал поддержки PlanetScale ↗.
Как тарифицируется моя база данных PlanetScale?
Для аккаунтов Cloudflare с оплатой по факту использования база данных PlanetScale тарифицируется ежедневно, с момента создания и до удаления базы данных. Оплата взимается независимо от того, выполняете ли вы запросы и храните ли данные.
Подключение Hyperdrive к базе данных PlanetScale Postgres.
Подключение Hyperdrive к базе данных PlanetScale MySQL.
Создайте конфигурацию Hyperdrive и выполняйте запросы к базе данных из Workers.
Узнайте, как Hyperdrive объединяет соединения в пул и кеширует запросы.