vs

EJDB vs UnQLite

EJDB: Embeddable JSON document database in C, with a JQL query language and optional HTTP/WebSocket server. UnQLite: Embedded, transactional key-value and JSON document engine in a single C file, with Jx9 scripting.

key differences

  • EJDB is primarily a document database; UnQLite is key-value.
  • Transactions: EJDB offers limited ACID; UnQLite offers full.
  • Only EJDB has secondary indexes.
  • Only UnQLite has transactions, in-memory.

choose ejdb for

  • +Embedded JSON storage in desktop or IoT apps
  • +Mobile apps needing a local document store
  • +Lightweight local services with an HTTP API

best at · Embedded, Mobile/offline, IoT

choose unqlite for

  • +Embedded devices and firmware needing local storage
  • +Desktop or game apps storing JSON state
  • +Local caches inside native services

best at · Embedded, IoT, Coordination

overview
Primary model
Document
Key-Value
Also supports
–
Document
Type
Embedded library
Embedded library
Status
Active
Active
Developer
Softmotions (Anton Adamansky)
Symisc Systems
First release
2012
2013
Latest version
2.95 (Oct 22, 2026)
1.2.1 (May 1, 2026)
License
Open source (permissive)MIT License
Open source (permissive)BSD 2-Clause
Free tier
✓
✓
popularity
WhichDB Score
4.5
4.1
Rank
#401
#419
GitHub stars
1.5K
2.3K
Stack Overflow questions
–
–
scale & guarantees
Comfortable data size
Small (≤ 100 GB)
Small (≤ 100 GB)
Horizontal scaling
None
None
Multi-region
None
None
ACID
Limited
Full
Consistency
Strong
Strong
Schema
Schemaless
Schemaless
Architecture
Embedded, Single node
Embedded, In memory
deployment
Self-hosted
✓
✓
Vendor-managed cloud
—
—
Serverless
—
—
Embedded
✓
✓
Edge
—
—
Clouds
–
–
capabilities
Transactions
—
✓
Joins
—
—
Secondary indexes
✓
—
Full-text search
—
—
Vector search
—
—
Geospatial
—
—
JSON
✓
✓
Change data capture
—
—
Triggers
—
—
Stored procedures
—
—
Materialized views
—
—
TTL / expiry
—
—
Pub/Sub
—
—
Columnar storage
—
—
In-memory
—
✓
Durable persistence
✓
✓
Compression
—
—
Encryption at rest
—
—
Role-based access
—
—
Time travel
—
—
Branching
—
—
Online schema changes
✓
✓
Streaming ingest
—
—
Offline sync
—
—
Runs in WebAssembly
—
—
interfaces
Query languages
JQL
Jx9, Key-value C API
Client languages
C, JavaScript, Java, Swift, Dart, Kotlin
C, C++, Python
Best for
Embedded, Mobile/offline, IoT, Coordination
Embedded, IoT, Coordination, Edge

EJDB vs UnQLite: FAQ

What is the difference between EJDB and UnQLite?

EJDB: Embeddable JSON document database in C, with a JQL query language and optional HTTP/WebSocket server. UnQLite: Embedded, transactional key-value and JSON document engine in a single C file, with Jx9 scripting. EJDB is primarily a document database; UnQLite is key-value. Transactions: EJDB offers limited ACID; UnQLite offers full. Only EJDB has secondary indexes.

When should I choose EJDB over UnQLite?

Choose EJDB for embedded JSON storage in desktop or IoT apps, mobile apps needing a local document store and lightweight local services with an HTTP API. Choose UnQLite for embedded devices and firmware needing local storage; desktop or game apps storing JSON state; and local caches inside native services.

Is EJDB or UnQLite more popular?

EJDB ranks #401 on the WhichDB Score (4.5/100) and UnQLite ranks #419 (4.1/100). Popularity is not fit: check the requirements that matter for your project.

Are EJDB and UnQLite open source?

Yes. EJDB is open source. License: MIT License. Yes. UnQLite is open source. License: BSD 2-Clause.