Skip to main content

Limits

Technical limits for EdgeBase Database. Limits marked configurable can be changed in edgebase.config.ts. All others are platform constraints.

Storage

LimitValueNotes
Single-instance DB block (default D1)10 GB / databaseCloudflare D1 database size limit
Dynamic DB block (DO-backed SQLite)10 GB / instanceSQLite-backed Durable Object storage limit
Docker / Node.jsDisk-boundLimited only by available disk space

Operations

LimitDefaultConfigurableNotes
Batch size (inserts + updates + deletes)500 per requestNoAll-or-nothing transaction via transactionSync()
batch-by-filter per iteration500 rowsNoSDK auto-repeats until processed === 0 (max 100 iterations)
insertMany chunk size500NoSDK auto-chunks; each chunk is an independent transaction
Rule evaluation timeout50 msNoFail-closed — timeout = deny
OR filter conditions5 per .or() groupNo
Default page size20 rowsYeslimit query parameter
Max page sizeNo enforcement (default 20, recommended max 500)NoBatch operations enforce 500-item limit separately

Backend-Specific Cloudflare Limits

These apply when you deploy on Cloudflare Edge.

BackendLimitValueNotes
D1Queries per Worker invocation1,000Relevant to raw SQL or unusually chatty server-side flows
D1Simultaneous open connections per Worker invocation6Relevant to admin.d1() or custom SQL usage
D1 / DO SQLiteMax columns per table100Cloudflare SQLite platform limit
D1 / DO SQLiteMax row or BLOB size2 MBIncludes large JSON/text payloads
D1 / DO SQLiteMax SQL statement length100 KBMostly relevant to raw SQL and generated queries
D1 / DO SQLiteMax bound parameters per query100Mostly relevant to raw SQL
D1 / DO SQLiteMax LIKE / GLOB pattern length50 bytesInherited Cloudflare SQLite safeguard

Schema

LimitValueNotes
Auto fieldsid, createdAt, updatedAtAuto-injected if not defined; type override not allowed, only false to disable
ID formatUUID v7Client-specified IDs allowed
FTS tokenizertrigramSupports CJK languages; configured per table in fts field
Cross-DB-block JOINsNot supportedEach DB block is a separate SQLite database
Multi-statement DB block transactionsNot supportedUse batch APIs; DB block CRUD is not an exposed raw BEGIN/COMMIT surface
Destructive schema changesMigration requiredALTER TABLE DROP COLUMN, type changes, etc. require explicit migrations

Rate Limiting

GroupDefaultKeyConfigurable
db100 req / 60sIPYes
global10,000,000 req / 60sIPYes

Service Key requests bypass EdgeBase's app-level rate limits entirely.

That bypass behavior is the same across all Admin SDKs.

Self-hosting

When running on Docker or Node.js, Cloudflare-specific D1 and Durable Object storage ceilings do not apply. Storage is limited only by disk space. API-level limits such as batch size, default page size, and access-rule behavior remain the same.