← Cloudflare D1 / d1 / platform
Ceny
D1 účtuje na základě:
- Použití: Dotazy, které spustíte proti D1, se počítají jako přečtené řádky, zapsané řádky, nebo obojí (u transakcí či dávek).
- Scale-to-zero: Neplatíte za hodiny ani jednotky kapacity. Pokud proti své databázi nespouštíte dotazy, neplatíte za výpočetní výkon.
- Úložiště: Platíte pouze za úložiště nad rámec zahrnutého limity vašeho plánu.
Fakturační metriky
| Workers Free | Workers Paid | |
|---|---|---|
| Přečtené řádky | 5 milionů / den | Prvních 25 miliard / měsíc zahrnuto + $0.001 / milion řádků |
| Zapsané řádky | 100,000 / den | Prvních 50 milionů / měsíc zahrnuto + $1.00 / milion řádků |
| Úložiště (za uložený GB) | 5 GB (celkem) | Prvních 5 GB zahrnuto + $0.75 / GB-mo |
Definice
- Přečtené řádky měří, kolik řádků dotaz přečte (proskenuje), bez ohledu na velikost jednotlivých řádků. Pokud máte například tabulku s 5000 řádky a spustíte
SELECT * FROM tablejako úplné procházení tabulky (full table scan), počítalo by se to jako 5,000 přečtených řádků. Dotaz, který filtruje podle neindexovaný sloupec může vašemu Workeru vrátit méně řádků, přesto ale musí pro určení vracené podmnožiny přečíst (proskenovat) více řádků. - Zapsané řádky měří, kolik řádků bylo zapsáno do databáze D1. Mezi operace zápisu patří
INSERT,UPDATE, aDELETE. Každá z těchto operací se započítává do zapsaných řádků. Dotaz, kterýINSERT10 řádků douserstabulky by se počítal jako 10 zapsaných řádků. - Operace DDL (například
CREATE,ALTER, aDROP) se používají k definování nebo úpravě struktury databáze. Mohou se podílet na kombinaci čtených i zapisovaných řádků. Své využití proto pečlivě sledujte pomocí dostupných nástrojů (meta objekt, GraphQL Analytics API, nebo Cloudflare dashboard ↗). - Velikost řádku ani počet sloupců v řádku neovlivňuje způsob počítání řádků. Řádek o velikosti 1 KB a řádek o velikosti 100 KB se počítají jako jeden řádek.
- Definice indexy na vaší tabulce (tabulkách) snižuje počet řádků, které dotaz načte při filtrování podle tohoto indexovaného pole. Pokud je například
userstabulka má index na sloupci s časovým razítkemcreated_at, dotazSELECT * FROM users WHERE created_at > ?1by potřeboval přečíst jen část tabulky. - Indexy přidávají při zápisu do indexovaného sloupce další zapsaný řádek, protože se zapisují dva řádky: jeden do samotné tabulky a jeden do indexu. Výkonnostní přínos indexu a snížení počtu čtených řádků však tento dodatečný zápis téměř vždy vyváží.
- Úložiště se počítá v gigabajtech uložených za měsíc a vychází ze součtu všech databází ve vašem účtu. Do spotřebovaného úložiště se počítají jak tabulky, tak indexy.
- Limity plánu Free se resetují každý den v 00:00 UTC. Měsíční zahrnuté limity se resetují podle data obnovy vašeho měsíčního předplatného, které se určuje podle dne, kdy jste se poprvé přihlásili k odběru.
- Za přenos dat (egress) ani propustnost (bandwidth) u dat, ke kterým se přistupuje z D1, se neúčtují žádné poplatky.
- Replikace čtení neúčtuje za čtecí repliky nic navíc. Fakturace probíhá na základě stejného využití, tedy podle
rows_readarows_writtenvašimi dotazy.
Často kladené dotazy
Časté dotazy týkající se cen D1:
Bude mít D1 vždy plán Free?
Ano, plán Workers Free bude vždy zahrnovat možnost bezplatně vytvářet prototypy a experimentovat s D1.
Co se stane, když překročím denní limity na čtení a zápis nebo celkový limit úložiště v plánu Free?
Jakmile váš účet dosáhne denních limitů na čtení a/nebo zápis, nebudete moci proti D1 spouštět dotazy. D1 API vrátí vašemu klientovi chyby oznamující, že jste překročili denní limity. Jakmile dosáhnete zahrnutého limitu úložiště, budete muset smazat nepoužívané databáze nebo vyčistit zastaralá data, než budete moci vkládat nová data, vytvářet nebo měnit tabulky či vytvářet indexy a triggery.
Přechod na plán Workers Paid tyto limity odstraní, obvykle během několika minut.
Co se stane, když překročím měsíční zahrnuté čtení, zápisy a/nebo úložiště v placeném plánu?
Za dodatečná čtení, zápisy a úložiště vám bude účtováno podle metriky cen D1.
Jak si mohu odhadnout (budoucí) vyúčtování?
Každý dotaz vrací meta objekt, který obsahuje celkový počet přečtených řádků (rows_read) a zapsané řádky (rows_written) tímto dotazem. Například dotaz, který provádí úplné procházení tabulky (například SELECT * FROM users) z tabulky s 5000 řádky by vrátil rows_read hodnotu 5000:
"meta": {
"duration": 0.20472300052642825,
"size_after": 45137920,
"rows_read": 5000,
"rows_written": 0
}Ty jsou také součástí D1 Cloudflare dashboard ↗ a analytické API, což vám umožňuje přiřadit objemy čtení a zápisu ke konkrétním databázím, časovým obdobím nebo obojímu.
Účtuje D1 poplatek za přenos dat / odchozí provoz?
Ne.
Účtuje D1 poplatek navíc za další výpočetní výkon?
D1 samo o sobě neúčtuje za dodatečný výpočetní výkon. Workers, které dotazují D1 a zpracovávají výsledky, například serializují výsledky do JSON nebo spouštějí dotazy, se účtují za Ceny Workers, kromě specifického využití D1.
Počítají se dotazy spuštěné z dashboardu nebo z Wrangleru (CLI) jako zpoplatněné využití?
Ano, všechny dotazy spuštěné v databázi, včetně vkládání dat (INSERT) stávající data do nové databáze, procházení tabulky (SELECT * FROM table) nebo vytváření indexů se počítá jako čtení, nebo zápis.
Mohu použít index ke snížení počtu řádků načtených dotazem?
Ano, index můžete použít ke snížení počtu řádků, které dotaz načte. Vytváření indexů pro nejčastěji dotazované tabulky a filtrované sloupce snižuje množství skenovaných dat a zároveň zlepšuje výkon dotazů. Pokud máte zátěž s převahou čtení (což je nejběžnější případ), může to být obzvlášť výhodné. Zápis do sloupců, na které odkazuje index, přidá alespoň jeden (1) další zapsaný řádek kvůli aktualizaci indexu, což je ale obvykle vyváženo snížením počtu přečtených řádků díky výhodám indexu.
Přispívá nově vytvořená databáze nebo prázdná tabulka bez řádků k mému úložišti?
Ano, i když jen minimálně. Prázdná tabulka zabírá alespoň několik kilobajtů v závislosti na počtu sloupců (šířce tabulky). Prázdná databáze zabírá přibližně 12 KB úložiště.