Documentation menu
Start here

Operating modes

Choose where the engine runs without changing the meaning of a transaction.

On this page

Available development modes

Only one engine may own a database directory at a time. Share cloned handles within an embedded process, or connect to the standalone server for access from multiple processes. Network filesystems do not create replicas.

ModeBoundaryOwnership
Embeddedqirava::Database in your Rust processThe host supplies a key or KeyProvider and owns the directory.
Local standaloneUnix socket or loopback HTTPThe server owns storage, sessions and configured recovery.
Remote standaloneVerified TLS 1.3 HTTPSThe server owns storage; clients receive API data, never the storage key.

Cluster and replica delivery

The target starts with three logical shards and exactly two local copies. Cluster requires at least three nodes, defaults to two complete copies on distinct nodes, and permits increasing the count. Quorum decisions, leader fencing, complete data transfer and shard ownership remain required. These copy policies and cluster features are not implemented yet.

Forward and reverse migration must preserve revisions, receipts, schema/index state, object hashes and authorization. Concurrent traffic and crashes must preserve fenced ownership. Mixed-version upgrades need compatible adapters, independent progress cursors and a durable activation barrier while requests continue. These are acceptance requirements, not available switches.

Studio, local and remote clients

Studio currently builds as static management assets served on the database origin. The portable TS client supports HTTPS and explicit loopback HTTP; an injected host transport can support Unix sockets. Browser access to local Unix sockets requires a desktop bridge or authenticated local daemon.

Studio supports multiple saved local/remote instances and exact-origin CORS, with per-instance credentials held in memory. Load-balancer failover, Tauri packaging and complete custody/role journeys remain under implementation. Do not treat a static build alone as verification of these paths.