Getting started
LioranDB Embedded is a file-based JSON document database for Node.js (backed by a write-ahead log).
LioranManager
LioranManager is the top-level object you create in your app. It owns:
LioranDB
LioranDB represents a single database directory under the manager root.
Collection
A Collection stores JSON documents keyed by _id (string). It's the API you'll use most: insert, query, update, delete, aggregate.
Query & update language
LioranDB's embedded query engine uses plain JavaScript objects.
Indexes & explain
Indexes are created per collection field and are persisted on disk. They speed up queries like:
Transactions
Transactions group multiple operations into a single atomic commit (WAL-backed).
Migrations
Migrations exist at two levels:
Cluster
@liorandb/core can run in a multi-node cluster topology (advanced).
Snapshots & restore
Snapshots are created/restored by the LioranManager.
Compaction
Compaction rebuilds collection storage to remove fragmentation and then rebuilds indexes.
Replication
Replication is configured through LioranManagerOptions.replication (advanced).
Consistency
Consistency is configured through LioranManagerOptions.consistency (advanced).
Encryption & key rotation
LioranDB encrypts documents at rest when an encryption key is configured on the manager.
IPC (multi-process)
LioranManager supports multiple process modes so you can safely use one database root from multiple Node processes.
Tenancy
Tenancy is configured through LioranManagerOptions.tenancy (advanced).
Limits & performance notes
Key limits
Security
Security hooks are configured through LioranManagerOptions.security (advanced).
Storage paths
@liorandb/core uses a single "root folder" where all database directories are stored.