JSqlDb

discontinued

by Konrad von Backström · since 2017 · also known as JSqldb, JavaScript Query Language Database

Small DBMS that persists JavaScript objects and functions and is queried in JavaScript via V8.

objectdocumentgraphdatabase engineopen source (copyleft)legacy

discontinued. Project website offline since about 2021 and no public releases since; no known maintainer.

Overview

JSqlDb, 'JavaScript Query Language Database', was a hobby-scale DBMS by South African developer Konrad von Backström. Instead of storing JSON documents, it kept a persistent global JavaScript object graph: you assign to db.something, and objects, arrays, references between objects, prototype inheritance and even stored functions survive restarts. Queries are plain JavaScript run in an embedded V8 engine, with helper functions such as where() for SQL-like filtering. The C++ server shipped with an async Node.js driver, a synchronous debug driver and a Java driver under the LGPL. The project website went offline around 2021 and no maintained release is known.

Strengths & trade-offs

Strengths

  • +Persists real JavaScript object graphs, including references and prototypes
  • +Stored functions act as JavaScript stored procedures
  • +No impedance mismatch for JavaScript developers

Trade-offs

  • −Abandoned; website offline and no maintained releases
  • −Running arbitrary JavaScript as queries complicates security and indexing
  • −No replication, tooling or community

Great for

  • +Historical curiosity: an orthogonal-persistence take on JavaScript
  • +Ideas for object-graph persistence in JS runtimes

Think twice for

  • −Any production workload
  • −Multi-user systems needing access control

Capabilities

Native or official first-party support · 4 of 25 tracked

✓Joins
✓JSON
✓Stored procedures
✓Durable persistence
–Transactions
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–Change data capture
–Triggers
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
Limited ACID
Consistency
Strong
Schema
Schemaless
Architecture
Client server, Single node
Query languages
JavaScript

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsNode.js driver, Java driver
client languagesJavaScript, Java

Alternatives to JSqlDb

Compare all→
MongoDBDocument80.5

The default document database: flexible BSON documents, rich queries and built-in sharding.

jsqldb vs mongodb →
LokiJSDocument19.6

In-memory JavaScript document store with indexes and pluggable persistence; no longer maintained.

jsqldb vs lokijs →
NeDBDocument13.3

Pure-JavaScript embedded datastore with a MongoDB-like API; the original is unmaintained.

jsqldb vs nedb →
ArangoDBGraph40.0

Native multi-model database: documents, graphs, search and vectors behind one query language.

jsqldb vs arangodb →
ZODBObject22.7

Transparent persistence for Python objects with ACID transactions and history.

jsqldb vs zodb →
GemStone/SObject6.1

Smalltalk object database where application code runs inside the transactional object repository.

jsqldb vs gemstone-s →

JSqlDb FAQ

What is JSqlDb?

JSqlDb is an object database by Konrad von Backström, first released in 2017. JSqlDb, 'JavaScript Query Language Database', was a hobby-scale DBMS by South African developer Konrad von Backström. Instead of storing JSON documents, it kept a persistent global JavaScript object graph: you assign to db.something, and objects, arrays, references between objects, prototype inheritance and even stored functions survive restarts. Queries are plain JavaScript run in an embedded V8 engine, with helper functions such as where() for SQL-like filtering. The C++ server shipped with an async Node.js driver, a synchronous debug driver and a Java driver under the LGPL. The project website went offline around 2021 and no maintained release is known.

Is JSqlDb open source?

Yes. JSqlDb is open source. License: GNU LGPL v3.

Does JSqlDb support ACID transactions?

Partly. JSqlDb offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.

Does JSqlDb scale horizontally?

JSqlDb does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run JSqlDb?

You can self-host it.

What is JSqlDb best for?

JSqlDb is a strong fit for historical curiosity: an orthogonal-persistence take on JavaScript and ideas for object-graph persistence in JS runtimes. Think twice for any production workload.

What are the best alternatives to JSqlDb?

Common alternatives to JSqlDb include MongoDB, LokiJS, NeDB, ArangoDB and ZODB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is JSqlDb still maintained?

JSqlDb is discontinued. Project website offline since about 2021 and no public releases since; no known maintainer.

How popular is JSqlDb?

JSqlDb has little measurable public adoption today, so it ranks near the bottom of the WhichDB Score.