Softmotions/ejdb logo

Softmotions/ejdb

Free

:snowboarder: EJDB2 — Embeddable JSON Database engine C library. Simple XPath like query language (JQL).

FreeFree tier
Type
Open Source

About Softmotions/ejdb

EJDB2 is an embeddable JSON database engine written in C, published under the MIT license. It features a single-file database, online backup support, a powerful query language (JQL) inspired by XPath and Unix shell pipes, collection joins, HTTP REST/WebSocket endpoints, and native language bindings. The engine is powered by IOWOW, a persistent key/value storage engine, and supports macOS, iOS, Linux, Windows, and FreeBSD. It is well-tested and used in various heavily loaded deployments.

Key Features

Embeddable C library with C11 API
Single file database storage
Online backups support
Powerful JQL query language inspired by XPath and Unix pipes
Collection joins support
HTTP REST and WebSocket endpoints (powered by IWNET)
Native language bindings
Powered by IOWOW persistent key/value storage engine
Cross-platform: macOS, iOS, Linux, Windows, FreeBSD
Open source under MIT license

Pros & Cons

Pros
  • Lightweight and embeddable with no external dependencies
  • Simple yet expressive query language (JQL) for JSON documents
  • Supports online backups and collection joins
  • Cross-platform compatibility
  • Open source with permissive MIT license
  • Well-tested in production environments
Cons
  • Issues tracker is disabled; community support limited to pull requests
  • Not designed for complex relational queries or massive clusters
  • Learning curve for JQL syntax if new to XPath-like querying

Best For

Embedding a JSON database in applications and devicesServer and backend development with low-latency data storageMobile and IoT applications (iOS, Linux, etc.)Prototyping and production deployments requiring a lightweight, schema-less database

FAQ

What is EJDB2?
EJDB2 is an embeddable JSON database engine written in C, available under the MIT license. It provides a single-file database, a powerful query language (JQL), and supports HTTP REST and WebSocket APIs.
What platforms does EJDB2 support?
EJDB2 supports macOS, iOS, Linux, Windows, and FreeBSD.
How do I build EJDB2 from source?
Building requires a C compiler (gcc or clang) and pkgconf/pkg-config. Use the provided build.sh script with Autark. For example: ./build.sh --prefix=~/.local
Is EJDB2 free to use?
Yes, EJDB2 is open source and released under the permissive MIT license.