INTEGRITY Документация

Hyperdrive (Postgres и MySQL)

Превратите существующую региональную базу данных в глобально распределённую.

Доступно на планах Free и Paid

Hyperdrive, это сервис, который ускоряет запросы к существующим базам данных, обеспечивая более быстрый доступ к вашим данным из любой точки мира из Cloudflare Workers, независимо от местоположения ваших пользователей.

Hyperdrive поддерживает любую базу данных Postgres или MySQL, включая размещенные на AWS, Google Cloud, Azure, Neon и PlanetScale. Hyperdrive также поддерживает совместимые с Postgres базы данных, такие как CockroachDB и Timescale. Вам не нужно писать новый код или отказываться от привычных инструментов: Hyperdrive работает с вашим существующим кодом и используемыми вами инструментами.

Используйте данные подключения Hyperdrive в приложении Cloudflare Workers вместе с существующими драйверами баз данных и библиотеками объектно-реляционного отображения (ORM).

Примеры

PostgreSQL

import { Client } from "pg";

export default {
	async fetch(request, env, ctx): Promise<Response> {
		// Create a new client instance for each request. Hyperdrive maintains the
		// underlying database connection pool, so creating a new client is fast.
		const client = new Client({
			connectionString: env.HYPERDRIVE.connectionString,
		});

		try {
			// Connect to the database
			await client.connect();
			// Sample SQL query
			const result = await client.query("SELECT * FROM pg_tables");

			return Response.json(result.rows);
		} catch (e) {
			return Response.json({ error: e instanceof Error ? e.message : e }, { status: 500 });
		}
	},
} satisfies ExportedHandler<{ HYPERDRIVE: Hyperdrive }>;
	{
		"$schema": "node_modules/wrangler/config-schema.json",
		"name": "WORKER-NAME",
		"main": "src/index.ts",
		"compatibility_date": "2025-02-04",
		"compatibility_flags": [
			"nodejs_compat"
		],
		"observability": {
			"enabled": true
		},
		"hyperdrive": [
			{
				"binding": "HYPERDRIVE",
				"id": "<YOUR_HYPERDRIVE_ID>",
				"localConnectionString": "<ENTER_LOCAL_CONNECTION_STRING_FOR_LOCAL_DEVELOPMENT_HERE>"
			}
		]
	}

MySQL

import { createConnection } from 'mysql2/promise';

export default {
  async fetch(request, env, ctx): Promise<Response> {
    // Create a new connection on each request. Hyperdrive maintains the
    // underlying database connection pool, so creating a new client is fast.
    const connection = await createConnection({
		 host: env.HYPERDRIVE.host,
		 user: env.HYPERDRIVE.user,
		 password: env.HYPERDRIVE.password,
		 database: env.HYPERDRIVE.database,
		 port: env.HYPERDRIVE.port,

     // This is needed to use mysql2 with Workers
     // This configures mysql2 to use static parsing instead of eval() parsing (not available on Workers)
     disableEval: true
  });

  const [results, fields] = await connection.query('SHOW tables;');

  return new Response(JSON.stringify({ results, fields }), {
    headers: {
      'Content-Type': 'application/json',
      'Access-Control-Allow-Origin': '\*',
    },
  });
}} satisfies ExportedHandler<{ HYPERDRIVE: Hyperdrive }>;
	{
		"$schema": "node_modules/wrangler/config-schema.json",
		"name": "WORKER-NAME",
		"main": "src/index.ts",
		"compatibility_date": "2025-02-04",
		"compatibility_flags": [
			"nodejs_compat"
		],
		"observability": {
			"enabled": true
		},
		"hyperdrive": [
			{
				"binding": "HYPERDRIVE",
				"id": "<YOUR_HYPERDRIVE_ID>",
				"localConnectionString": "<ENTER_LOCAL_CONNECTION_STRING_FOR_LOCAL_DEVELOPMENT_HERE>"
			}
		]
	}
Начало работы

Возможности

Подключите свою базу данных

Подключите Hyperdrive к своей существующей базе данных и разверните Worker который выполняет к ней запросы.

поддержка PostgreSQL

Hyperdrive позволяет подключаться к любой базе данных PostgreSQL или совместимой с PostgreSQL.

Поддержка MySQL

Hyperdrive позволяет подключаться к любой базе данных MySQL.

Кеширование запросов

Кэширование, включённое по умолчанию, для самых частых запросов к вашей базе данных.


Workers

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

Pages

Разворачивайте динамические фронтенд-приложения в рекордные сроки.


Дополнительные ресурсы

Цены

Узнайте больше о тарификации Hyperdrive.

Лимиты

Узнайте больше об ограничениях Hyperdrive.

Storage options

Узнайте больше о вариантах хранения данных и баз данных, на основе которых можно строить решения с Workers.

Discord для разработчиков

Присоединяйтесь к сообществу Workers в Discord, чтобы задавать вопросы, делиться тем, что вы разрабатываете, и обсуждать платформу с другими разработчиками.

@CloudflareDev

Подпишитесь на @CloudflareDev в Twitter, чтобы узнавать об анонсах продуктов и новостях платформы Cloudflare для разработчиков.

Содержание

64 страницы, зеркалированные из документации Cloudflare для hyperdrive.

Pages

Основные понятия

Конфигурация

Примеры

Observability

Платформа

Справочник

Руководства