← Cloudflare D1 / d1 / platform
Limity
| Funkce | Limit |
|---|---|
| Databáze na účet | 50,000 (Workers Paid) 1 / 10 (Free) |
| Maximální velikost databáze | 10 GB (Workers Paid) / 500 MB (Free) |
| Maximální úložiště na účet | 1 TB (Workers Paid) 2 / 5 GB (Free) |
| Time Travel doba trvání (obnovení k určitému okamžiku) | 30 dní (Workers Paid) / 7 dní (Free) |
| Maximální počet operací obnovení pomocí Time Travel | 10 obnovení za 10 minut (na databázi) |
| Dotazy na jedno vyvolání Workeru (čtení limity subrequestů) | 1000 (Workers Paid) / 50 (Free) |
| Maximální počet sloupců v tabulce | 100 |
| Maximální počet řádků v tabulce | Neomezeno (kromě limitů úložiště na jednotlivou databázi) |
Maximální řetězec, BLOB nebo velikosti řádku tabulky |
2,000,000 bajtů (2 MB) |
| Maximální délka příkazu SQL | 100,000 bajtů (100 KB) |
| Maximální počet vázaných parametrů na dotaz | 100 |
| Maximální počet argumentů na funkci SQL | 32 |
Maximální počet znaků (bajtů) v LIKE nebo GLOB vzor |
50 bajtů |
| Maximální počet bindings na skript Workers | Přibližně 5,000 3 |
| Maximální doba trvání dotazu SQL | 30 sekund 4 |
Maximální import souboru (d1 execute) velikost |
5 GB 5 |
Cloudflare také nabízí další úložná řešení, jako je Workers KV, Durable Objects, a R2. Každý produkt má odlišné výhody a limity. Další informace najdete v Zvolte datový nebo úložný produkt a zjistíte, která možnost úložiště je vhodná pro váš případ použití.
Často kladené dotazy
Časté dotazy týkající se limitů D1:
Kolik práce dokáže databáze D1 zvládnout?
D1 je navrženo pro horizontální škálování napříč více menšími (10 GB) databázemi, například databázemi pro jednotlivé uživatele, nájemce nebo entity. D1 vám umožňuje vytvářet aplikace s tisíci databázemi bez dodatečných nákladů, protože cena vychází pouze z nákladů na dotazy a úložiště.
Úložiště
Každá databáze D1 může uchovávat až 10 GB dat.
Souběžnost a propustnost
Každá jednotlivá databáze D1 je svou podstatou jednovláknová a zpracovává dotazy postupně, jeden po druhém.
Maximální propustnost přímo souvisí s dobou trvání vašich dotazů.
- Pokud váš průměrný dotaz trvá 1 ms, můžete provést přibližně 1,000 dotazů za sekundu.
- Pokud váš průměrný dotaz trvá 100 ms, můžete provést 10 dotazů za sekundu.
Databáze, která přijímá příliš mnoho souběžných požadavků, je nejprve zařadí do fronty. Pokud se fronta zaplní, databáze vrátí chyba „overloaded“.
Každá jednotlivá databáze D1 je podporována jedním Durable Object. Při použití Replikace pro čtení D1 ↗ každá instance repliky je samostatný Durable Object a tyto pokyny platí pro každou instanci repliky nezávisle.
Výkon dotazů
Výkon dotazů je nejdůležitějším faktorem propustnosti. Orientačně platí:
- Čtecí dotazy jako
SELECT name FROM users WHERE id = ?s vhodným indexem naidbude trvat méně než jednu milisekundu doby trvání SQL. - Zápisové dotazy jako
INSERTneboUPDATEmohou trvat několik milisekund doby trvání SQL a závisí na počtu zapsaných řádků. Zápisy musí být trvale uloženy na několika místech, více informací najdete na jak D1 interně ukládá data ↗. - Migrace dat, jako je velká
UPDATEneboDELETEovlivňující miliony řádků je nutné spouštět po dávkách. Jediný dotaz, který se pokusí najednou upravit stovky tisíc řádků nebo stovky MB dat, překročí limity provádění. Rozdělte práci na menší části (například zpracovávejte po 1 000 řádcích), abyste zůstali v limitech platformy.
Chcete-li zajistit, aby vaše dotazy byly rychlé a efektivní, používejte vhodné indexy ve svém databázovém schématu SQL.
CPU a paměť
Operace nad databází D1, včetně provádění dotazů a serializace výsledků, probíhají v rámci Limity CPU a paměti platformy Workers.
Překročení těchto limitů nebo dosažení jiných limitů platformy způsobí chyby. Přečtěte si seznam chyb D1 s dalšími podrobnostmi.
Kolik současných připojení může Worker k D1 otevřít?
Pro každé volání Workeru můžete současně otevřít až šest připojení (k D1).
Další informace o souběžných připojeních Workeru najdete v Současně otevřená spojení.
Poznámky pod čarou
-
Maximální počet databází na účet lze na žádost navýšit u plánů Workers Paid a Enterprise, s podporou milionů až desítek milionů databází (nebo více) na účet. Postup pro požádání o navýšení limitu najdete na této stránce. ↩
-
Maximální úložiště na účet lze na žádost navýšit u plánů Workers Paid a Enterprise. Postup pro požádání o navýšení limitu najdete na této stránce. ↩
-
Jeden skript Workeru může mít až 1 MB metadat skriptu. Binding je definován jako vazba na prostředek, například databázi D1, KV namespace, proměnná prostředí, nebo tajný klíč. Každá vazba na prostředek zabírá přibližně 150 bajtů, velikost proměnných prostředí a tajných klíčů se ale řídí velikostí zadané hodnoty. Bez proměnných prostředí můžete k jednomu skriptu Workeru navázat až přibližně 5 000 databází D1. ↩
-
Požadavky na Cloudflare API musí být vyřízeny do 30 sekund. Tento časový limit se proto vztahuje i na celé dávkové volání. ↩
-
Importovaný soubor se nahraje do R2. Více informací najdete v Limit nahrávání R2. ↩