INTEGRITY Dokumentace

Ceny

D1 účtuje na základě:

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

  1. 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 table jako ú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ů.
  2. Zapsané řádky měří, kolik řádků bylo zapsáno do databáze D1. Mezi operace zápisu patří INSERT, UPDATE, a DELETE. Každá z těchto operací se započítává do zapsaných řádků. Dotaz, který INSERT 10 řádků do users tabulky by se počítal jako 10 zapsaných řádků.
  3. Operace DDL (například CREATE, ALTER, a DROP) 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).
  4. 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.
  5. 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 users tabulka má index na sloupci s časovým razítkem created_at, dotaz SELECT * FROM users WHERE created_at > ?1 by potřeboval přečíst jen část tabulky.
  6. 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áží.
  7. Ú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.
  8. 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.
  9. Za přenos dat (egress) ani propustnost (bandwidth) u dat, ke kterým se přistupuje z D1, se neúčtují žádné poplatky.
  10. Replikace čtení neúčtuje za čtecí repliky nic navíc. Fakturace probíhá na základě stejného využití, tedy podle rows_read a rows_written vaš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ě.