Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JSON
  3. EJDB

EJDB

MITCv2.73

EJDB2 is an embeddable JSON database engine with a simple XPath-like query language (JQL) for C applications.

GitHubGitHub
1.5k stars134 forks0 contributors

What is EJDB?

EJDB2 is an embeddable JSON database engine implemented as a C library, allowing developers to store, query, and manage JSON documents directly within their applications. It solves the need for a lightweight, self-contained database with a powerful query language (JQL) for filtering, updating, and joining JSON data without requiring a separate database server.

Target Audience

C/C++ developers building embedded systems, IoT applications, or server-side services that require efficient, in-process JSON document storage with query capabilities.

Value Proposition

Developers choose EJDB2 for its simplicity as a single-file embeddable database, its expressive JQL query language reminiscent of XPath, and its performance with configurable indexes—all while avoiding external dependencies.

Overview

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

Use Cases

Best For

  • Embedding a JSON database within C/C++ applications without external processes
  • Building lightweight IoT or edge computing devices with local JSON storage
  • Developing server-side services that need fast, indexed JSON querying
  • Prototyping or small projects requiring a simple, file-based JSON database
  • Creating REST or WebSocket APIs for JSON document management
  • Applications needing collection joins and complex JSON queries in an embedded context

Not Ideal For

  • Teams building distributed systems requiring horizontal scalability, as EJDB2 is designed for single-node, embedded use without built-in clustering.
  • Applications needing full SQL compliance or complex relational algebra, since JQL is JSON-specific and lacks features like subqueries or ACID transactions.
  • Projects where primary development is in high-level languages like Python or JavaScript without C bindings, due to its core C API requiring significant integration effort.
  • Scenarios requiring real-time analytics with advanced aggregation functions, as EJDB2 focuses on document storage and basic querying rather than built-in analytics.

Pros & Cons

Pros

Embeddable Simplicity

EJDB2 is a single-file database engine that integrates directly into C/C++ applications without external dependencies, making deployment straightforward, as highlighted in its GitHub description.

Powerful JQL Language

The JQL query language supports complex filtering, projections, sorting, and collection joins with an XPath-like syntax, detailed in the README with extensive examples for real-world use cases.

Configurable Indexing

Indexes on JSON fields optimize query performance for equality, range, and prefix matching, and the README provides heuristics for when to use indexes versus brute-force scans.

Built-in Network APIs

Includes HTTP REST and WebSocket endpoints with token-based authentication, enabling remote database access without additional server setup, as demonstrated in the network API section.

Cons

Limited Index Support

Indexes only benefit specific query operators (e.g., eq, in), and the README admits that in some cases, brute-force scans may perform better, adding complexity to query optimization.

C-Centric Integration Barrier

The core API is in C, requiring low-level memory management and making it cumbersome for developers in high-level language ecosystems without existing bindings or expertise.

Scalability and Feature Gaps

As a single-file embedded database, it lacks features for distributed data, high concurrency, or advanced transactions, which could limit use in large-scale production environments.

Frequently Asked Questions

Quick Stats

Stars1,473
Forks134
Contributors0
Open Issues0
Last commit20 days ago
CreatedSince 2012

Tags

#c-library#dart#database#embedded#query-language#rest-api#osx#json-database#java#c#nosql#embedded-database#indexing#jni#json#websocket-api

Built With

C
C11

Included in

JSON1.5k
Auto-fetched 1 day ago

Related Projects

json-serverjson-server

Get a full fake REST API with zero coding in less than 30 seconds (seriously)

Stars75,594
Forks7,282
Last commit2 months ago
rxdbrxdb

A fast, local first, reactive Database for JavaScript Applications https://rxdb.info/

Stars23,219
Forks1,163
Last commit9 days ago
LowdbLowdb

Simple and fast JSON database

Stars22,548
Forks966
Last commit2 months ago
LawnchairLawnchair

A lightweight clientside JSON document store,

Stars2,126
Forks240
Last commit6 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub