Harper (formerly HarperDB)

active

by HarperDB, Inc. · since 2017 · also known as HarperDB, Harper, Harper Pro, Harper Fabric

Node.js runtime that fuses database, cache, app logic and MQTT/WebSocket messaging in one process.

documentkey-valuevectorbackend platformopen source (permissive)growing

Overview

Harper, called HarperDB until a 2025 rebrand, is a Node.js platform that runs the database, cache, application code and messaging in a single process so requests never cross a network hop. Tables are declared in GraphQL schema files and exported as REST endpoints automatically, data lives in LMDB or, since 5.0, RocksDB, and it adds secondary and HNSW vector indexes, caching with expiry, blob storage and publish/subscribe over MQTT, WebSockets and server-sent events. Harper 5.0 (April 2026) moved the core to Apache 2.0, while Harper Pro adds multi-node replication and certificate management under the Elastic License 2.0; Harper Fabric is the managed, geo-distributed offering. It fits latency-sensitive edge APIs and caches better than general relational workloads.

Strengths & trade-offs

Strengths

  • +Database, cache, application code and messaging share one process and memory space
  • +Schema annotations generate REST endpoints with no boilerplate
  • +Built-in MQTT and WebSocket pub/sub without a separate broker
  • +LMDB and RocksDB storage engines with HNSW vector indexes
  • +Apache 2.0 core since Harper 5.0

Trade-offs

  • −Replication and clustering sit in the ELv2-licensed Harper Pro, not the open-source core
  • −Application logic must be written in JavaScript/Node.js
  • −SQL support is limited compared with relational databases
  • −Smaller community than Redis, MongoDB or Postgres

Great for

  • +Edge caching and API acceleration in front of slower origins
  • +Real-time apps needing MQTT or WebSocket fan-out
  • +Geo-distributed application backends
  • +Vector lookups next to application logic

Think twice for

  • −Complex relational reporting
  • −Teams standardised on non-JavaScript backends
  • −Large analytical scans

Capabilities

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

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

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Addon
Multi-region
Active active
Transactions
Limited ACID
Consistency
Eventual, Strong
Schema
Flexible
Architecture
Client server, Distributed, In memory
Query languages
REST query parameters, GraphQL, SQL (limited)

Single-node core; multi-node and geo-distributed replication come with Harper Pro or Harper Fabric.

Deployment

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

Ecosystem

apis & protocolsREST, GraphQL, MQTT, WebSocket, Server-Sent Events, Operations API
client languagesJavaScript

Alternatives to Harper (formerly HarperDB)

Compare all→
RedisKey-Value84.3

The in-memory data structure server that became the default cache, now with search, JSON and vectors built in.

harperdb vs redis →
PocketBaseRelational32.0

Open-source backend in one Go binary: SQLite database, auth, files, realtime and admin UI.

harperdb vs pocketbase →
SupabaseRelational54.3

Open-source Postgres backend platform: database, auth, storage, realtime and edge functions in one project.

harperdb vs supabase →
ConvexDocument26.0

Reactive TypeScript backend with a transactional document database, server functions and live queries.

harperdb vs convex →
MongoDBDocument80.5

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

harperdb vs mongodb →
Cloudflare Durable ObjectsKey-Value7.2

Single-threaded stateful actors at the edge, each with its own strongly consistent SQLite store.

harperdb vs cloudflare-durable-objects →

Harper (formerly HarperDB) FAQ

What is Harper (formerly HarperDB)?

Harper (formerly HarperDB) is a document database by HarperDB, Inc., first released in 2017. Harper, called HarperDB until a 2025 rebrand, is a Node.js platform that runs the database, cache, application code and messaging in a single process so requests never cross a network hop. Tables are declared in GraphQL schema files and exported as REST endpoints automatically, data lives in LMDB or, since 5.0, RocksDB, and it adds secondary and HNSW vector indexes, caching with expiry, blob storage and publish/subscribe over MQTT, WebSockets and server-sent events. Harper 5.0 (April 2026) moved the core to Apache 2.0, while Harper Pro adds multi-node replication and certificate management under the Elastic License 2.0; Harper Fabric is the managed, geo-distributed offering. It fits latency-sensitive edge APIs and caches better than general relational workloads.

Is Harper (formerly HarperDB) open source?

Yes. Harper (formerly HarperDB) is open source. License: Apache License 2.0 (core); Elastic License 2.0 (Harper Pro).

Does Harper (formerly HarperDB) support ACID transactions?

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

Does Harper (formerly HarperDB) scale horizontally?

Harper (formerly HarperDB) scales horizontally through an official extension, proxy or edition rather than in the core engine. It is comfortable at medium scale (≤ 10 TB). It supports active-active multi-region writes.

How can I run Harper (formerly HarperDB)?

You can self-host it, use the vendor's managed cloud and run it at the edge. Managed offerings include Harper Fabric.

What is Harper (formerly HarperDB) best for?

Harper (formerly HarperDB) is a strong fit for edge caching and API acceleration in front of slower origins; real-time apps needing MQTT or WebSocket fan-out; and geo-distributed application backends. Think twice for complex relational reporting.

What are the best alternatives to Harper (formerly HarperDB)?

Common alternatives to Harper (formerly HarperDB) include Redis, PocketBase, Supabase, Convex and MongoDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Harper (formerly HarperDB)?

Harper (formerly HarperDB) ranks #317 of 844 databases on the WhichDB Score (9.1/100), and #30 among document databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.