Sections
Getting started
CLI flags & config
SQL
DDLDMLSELECTFunctions & expressionsTransactions
Clients
HTTP APINative driversPostgreSQL / MySQL wire protocolBinary RPC
Features
RBAC (multi-user)Embeddings (semantic search)File importBackupsDemo showcase mode and .fdb management
Operations
DeploymentArchitectureFileDB on Windows: tray and autostart
Reference
FileDB vs PostgreSQL / MySQL
AI
AI Features: overviewAI Chat and AI AgentSmart Export and AI Import MappingEmbeddings and Hybrid SearchAI setup: providers and presets
Dashboards
Dashboards: overviewDatasets and chartsNo-Code query builderDashboards AI assistantWidgets, grid and filtersPublic links and exportLayout, text cards and KPI comparison

FileDB vs PostgreSQL / MySQL

Category FileDB v2.47.0 PostgreSQL MySQL InnoDB
Wire protocol (psql/mysql, drivers) ✅ PG v3 + MySQL, no TLS
Dialect-accurate string escaping ✅ PG ('', backslash is a plain char) and MySQL (full set of backslash escapes + ''), consistent for single- and multi-row INSERT (v2.44)
ACID semantics ✅ WAL + undo-based MVCC, fsync durability (v2.40) ✅ MVCC ✅ MVCC
Crash recovery ✅ committed tx survive
Isolation levels ✅ 4 levels (v2.38) ✅ 4 levels ✅ 4 levels
Scalar functions ✅ 20+ ✅ dozens ✅ dozens
CASE WHEN
3+ way JOIN
LEFT/RIGHT/FULL OUTER ⚠️ two tables only
ALTER TABLE
Multi-column indexes
Overflow pages ✅ values up to ~MB ✅ TOAST ✅ overflow
WAL checkpoint ✅ auto + manual ✅ binlog
Salted password hashing ✅ PBKDF2-100k ✅ SCRAM ✅ caching_sha2
S3/Yandex/MinIO backup ✅ built-in SigV4 external pg_dump external mysqldump
Embeddings + vector search ✅ 4 providers via pgvector no
File import UI ✅ web UI + API via COPY / external via LOAD DATA
Built-in dashboards / BI ✅ datasets, charts, No-Code, AI assistant, public links (v2.14–v2.41) external tools (Metabase, Grafana, …) external tools
Consistent DB snapshot download from the UI ✅ (v2.42) external pg_dump external mysqldump
Read-only demo showcase mode ✅ (v2.42)
Window functions ✅ ROW_NUMBER/RANK/NTILE/LAG/LEAD/aggregates
CTEs (WITH ...) ⚠️ non-recursive (the '1 JOIN' limit was lifted in v2.40.1) ✅ incl. recursive ✅ incl. recursive
Foreign keys / CHECK ✅ enforced (v2.38/v2.39)
Triggers / stored procs
Views ✅ (v2.34, updatable since v2.35)
Replication ✅ streaming ✅ binlog
MVCC ✅ undo-based (v2.38)
External dependencies 0 C libraries C libraries
Binary size 9.8 MB ~50 MB ~200 MB

FileDB covers roughly 95% of a typical OLTP API. What's missing is functionality extensions (replication, triggers, stored procedures), not critical gaps for most embedded use cases.

Performance

Measured on commodity x86_64, NVMe SSD:

Operation Throughput Latency
Engine INSERT 764 rows/s 1.3 ms
Engine SELECT (full scan) 430k rows/s
Engine PK lookup 11 μs
HTTP INSERT via /api/query 160 rows/s 6.2 ms
HTTP COUNT(*) 5.8 ms

The bottleneck for INSERT is fsync() — 55% of the time, a correct ACID trade-off. HTTP overhead is roughly 5ms (JSON encode/decode + parsing). Under concurrent writes (1000 INSERTs × 10 goroutines, 200 UPDATEs × 10 goroutines) — zero lost writes, zero errors, race-detector clean.

← Previous
FileDB on Windows: tray and autostart
Next →
AI Features: overview