← Cloudflare Workers / workers / databases
Připojte se k databázím
Cloudflare Workers se může připojit k vašim datům a dotazovat se nad databázemi SQL i NoSQL, včetně:
- vlastní od Cloudflare D1, bezserverovou databázi založenou na SQL.
- Tradiční hostované relační databáze, včetně Postgres a MySQL, používající Hyperdrive (doporučeno) pro výrazné zrychlení přístupu.
- Bezserverové databáze, včetně Supabase, MongoDB Atlas, PlanetScale a Prisma.
SQL databáze D1
D1 je vlastní bezserverová databáze Cloudflare založená na SQL. Je optimalizovaná pro globální přístup z Workers a dokáže se škálovat pomocí více menších databází (10 GB), například na uživatele, tenanta nebo entitu. Stejně jako u některých jiných bezserverových databází se cena D1 odvíjí od počtu dotazů a nákladů na úložiště.
| Databáze | Knihovna nebo ovladač | Metoda připojení |
|---|---|---|
| D1 | Workers binding, integruje se s Prisma ↗, Drizzle ↗, a další ORM | Workers binding, REST API |
Tradiční SQL databáze
Tradiční databáze používají ovladače SQL, které využívají TCP sockety pro připojení k databázi. TCP je de facto standardní protokol, který mnoho databází, například PostgreSQL a MySQL, používá pro klientské připojení. Tyto ovladače jsou také široce kompatibilní s vašimi oblíbenými knihovnami ORM a query buildery.
Patří sem také serverless databáze kompatibilní s PostgreSQL nebo MySQL, jako například Supabase, Neon, nebo PlanetScale (buď MySQL nebo PostgreSQL), ke kterému lze přistupovat jak pomocí nativního TCP sockety a Hyperdrive nebo serverless ovladače založené na HTTP (podrobněji popsáno níže).
| Databáze | Integrace | Knihovna nebo ovladač | Metoda připojení |
|---|---|---|---|
| Postgres | Přímé připojení | node-postgres ↗,Postgres.js ↗ | TCP socket prostřednictvím databázového ovladače pomocí Hyperdrive pro optimální výkon (volitelné, doporučeno) |
| MySQL | Přímé připojení | mysql2 ↗, mysql ↗ | TCP socket prostřednictvím databázového ovladače pomocí Hyperdrive pro optimální výkon (volitelné, doporučeno) |
Bezserverové databáze
Bezserverové databáze mohou nabízet přímé připojení k podkladové databázi, nebo poskytovat proxy a ovladače založené na HTTP (známé také jako bezserverové ovladače).
U serverless databází PostgreSQL a MySQL se můžete k podkladové databázi připojit přímo pomocí nativních databázových ovladačů a ORM, které již znáte, a pro zrychlení připojení a sdružování databázových připojení použít Hyperdrive (doporučeno). Při použití Hyperdrive je fond připojení spravován napříč všemi regiony Cloudflare a optimalizován pro použití z Workers.
K připojení k HTTP proxy serverům spravovaným poskytovatelem databáze můžete také použít bezserverové knihovny ovladačů. Ty mohou pro tradiční SQL databáze nabízet také pooling připojení a podobně jako Hyperdrive snižovat počet roundtripů potřebných k navázání zabezpečeného připojení.
| Databáze | Knihovna nebo ovladač | Metoda připojení |
|---|---|---|
| PlanetScale ↗ | Hyperdrive (MySQL), Hyperdrive (PostgreSQL), @planetscale/database ↗ | mysql2, mysql, node-postgres, Postgres.js, nebo přes API pomocí klientské knihovny |
| Supabase ↗ | Hyperdrive, @supabase/supabase-js ↗ | node-postgres,Postgres.js, nebo přes API pomocí klientské knihovny |
| Prisma ↗ | prisma ↗ | API přes klientskou knihovnu |
| Neon ↗ | Hyperdrive, @neondatabase/serverless ↗ | node-postgres,Postgres.js, nebo přes API pomocí klientské knihovny |
| Hasura ↗ | API | GraphQL API přes fetch() |
| Upstash Redis ↗ | @upstash/redis ↗ | API přes klientskou knihovnu |
| TiDB Cloud ↗ | @tidbcloud/serverless ↗ | API přes klientskou knihovnu |
Jakmile nainstalujete potřebné balíčky, použijte API, která tyto balíčky poskytují, k připojení k databázi a provádění operací nad ní. Podrobné pokyny pro jednotlivé služby najdete v odkazech níže.
Ověřování
Pokud vaše databáze vyžaduje ověřování, použijte k bezpečnému uložení přihlašovacích údajů Wrangler secrets. Vytvořte secret ve svém projektu Cloudflare Workers pomocí následujícího wrangler secret příkaz:
wrangler secret put <SECRET_NAME>Poté ve svém kódu načtěte hodnotu tajného klíče pomocí následujícího úryvku kódu:
const secretValue = env.<SECRET_NAME>;Hodnotu secret použijte k ověření u externí služby. Pokud například externí služba vyžaduje k ověření API klíč nebo uživatelské jméno a heslo k databázi, zahrňte je pomocí knihovny nebo API dané služby.
Pro služby vyžadující ověřování mTLS použijte certifikáty mTLS pro předložení klientského certifikátu.
Další kroky
- Přečtěte si, jak se připojit k existující databáze PostgreSQL s Hyperdrive.
- Objevte další dostupné možnosti úložiště pro použití s Workers.
- Vytvoření vaší první databáze s Cloudflare D1.