Browser, Node.js, Edge. One API. Zero compromises.
NebulaDB v0.6.0 "Cumulus" brings first-class cloud and edge support — Cloudflare D1, Deno KV, Vercel KV, AWS Lambda, and hybrid deployment. 40+ packages, 15+ adapters, TypeScript-first, reactive, and MIT-licensed.
From browser to server to edge — one consistent, reactive, TypeScript-first API.
First-class support for Cloudflare D1, Deno KV, Vercel KV, and AWS Lambda. Deploy anywhere with zero configuration changes.
Combine local and remote storage — SQLite locally, Cloudflare D1 in production. Automatic sync with conflict resolution.
Live subscriptions push updates to your UI when data changes. Subscribe to any query and get real-time results.
Transparent encryption at rest with field-level control. PBKDF2 key derivation. HIPAA/PCI/GDPR ready.
Swap storage backends without changing code. Memory, IndexedDB, SQLite, PostgreSQL, MongoDB, Redis, and more.
Extend with plugins: encryption, sync, audit, backup, streaming, geospatial, auth, and more. Compose functionality.
B-tree, hash, geospatial, and full-text indexes. Automatic index selection and query optimization.
Runs natively in browsers with full crypto support. IndexedDB, LocalStorage, and Memory adapters included.
Choose the right storage for every environment — all with the same NebulaDB interface.
Same API across all environments. No lock-in. No vendor-specific code.
NebulaDB adapters abstract away the storage layer so your database code stays the same whether you're running in the browser, on Node.js, or at the edge.
import { createDb } from '@nebula-db/core';
import { MemoryAdapter } from '@nebula-db/adapter-memory';
import { CloudflareD1Adapter } from '@nebula-db/adapter-cloudflare-d1';
import { HybridAdapter } from '@nebula-db/adapter-hybrid';
// Development: in-memory
const devDb = createDb({ adapter: new MemoryAdapter() });
// Production edge: Cloudflare D1
const prodDb = createDb({
adapter: new CloudflareD1Adapter({
databaseId: env.D1_ID,
accountId: env.CF_ACCOUNT,
apiToken: env.CF_TOKEN
})
});
// Hybrid: local SQLite + remote sync
const hybridDb = createDb({
adapter: new HybridAdapter({
local: new SQLiteAdapter('app.db'),
remote: new CloudflareD1Adapter({...}),
sync: { mode: 'read-through', ttl: 30000 }
})
});
// Same API — any adapter
const users = hybridDb.collection('users');
await users.insert({ name: 'Alice', role: 'admin' });
const admins = await users.find({ role: 'admin' });
Comprehensive guides, API references, and examples to get you building fast.
Quick setup guide — install, create a database, and run your first query in minutes.
→Complete API documentation for all NebulaDB components, types, and methods.
→Choose and configure storage backends — Memory, SQLite, PostgreSQL, Redis, and more.
→Extend NebulaDB with encryption, sync, audit, backup, streaming, and custom plugins.
→Real-world code: todo app, blog, chat, e-commerce inventory — with full source.
→B-tree, hash, geospatial, and full-text indexes — optimize your queries.
→Query optimization, worker pools, profiling, benchmarks, and best practices.
→Relationships, transactions, migrations, streaming, and custom adapters.
→Migrate from LokiJS, PouchDB, Lowdb, and other embedded databases.
→Build custom storage adapters — step-by-step guide with full examples.
→Create custom plugins — cache, logger, migration, and more patterns.
→How NebulaDB compares to LokiJS, PouchDB, Dexie, RxDB, and other databases.
→Get started with NebulaDB v0.6.0 "Cumulus" — the database that runs everywhere.