FAQ

Frequently Asked Questions

Getting Started

What is Liven?

Liven is a database that unifies streaming, processing, and storage in one engine. It handles real-time data ingestion, on-the-fly transformations, and durable storage — all with a single query language.

How do I install Liven?

One command:

curl -fsSL https://livendb.com/install | sh

Or Docker:

docker run -p 43121:43121 -p 43120:43120 ghcr.io/livendb/liven
Do I need to install anything else?

No. Liven is a single binary with no runtime dependencies.

Can I try Liven without installing?
Yes. Visit the Playground to run queries in your browser.

Core Concepts

What is a stream?

A stream is a collection of key-value records, similar to a table. Streams are created automatically when you first write to them.

What is a pipeline?
A pipeline is a chain of processing stages connected by the | operator. For example:
from("orders") | filter(amount > 100) | count()
What data types does Liven support?
TypeExample
Nullnull
Booleantrue, false
Integer42, -17
Float3.14
String"hello"
Array[1, 2, 3]
Object{"name": "Alice"}
Vector[1, -2, 3, 0]

Deployment

Can I embed Liven in my application?

Yes. Liven runs as a Rust library:

let db = Liven::open("./data")?;
db.query(r#"from("events").insert("k1", {value: 42})"#)?;
Can I run Liven as a server?

Yes. Run `liven start` to start the server on port 43121 (database protocol) and 43120 (web UI).

What's the difference between embedded and server mode?
AspectEmbeddedServer
NetworkNoneTCP + WebSocket
LatencyMicrosecondsMilliseconds
AuthNoneKey-based or mTLS
Use caseEdge, IoTProduction backends

Performance

How fast is Liven?

Point lookups complete in microseconds. Writes are batched for high throughput — thousands of writes per second on modest hardware.

Does Liven use a lot of memory?

No. The index stores only keys and pointers, not full records. Index size is typically 1-2% of your data size. You can set a RAM limit (default 16 MB).

Can Liven handle concurrent queries?

Yes. The index is lock-free, allowing thousands of simultaneous reads. Writes run on a dedicated thread and never block reads.

Reliability

What happens if power fails mid-write?

Liven's append-only design means existing data is never overwritten. On recovery, incomplete writes are discarded. Your data remains intact.

Does Liven verify data integrity?

Yes. Every record includes a CRC32 checksum. Corruption is detected immediately on every read.

How does Liven handle disk full?

Liven detects disk full errors and returns a clear error. Your application can handle it gracefully.

Security

Does Liven support authentication?

Yes. Two modes:

  • Auth-key mode: Symmetric keys with roles (read, write, admin). Keys can be revoked at runtime.
  • None mode: No authentication (development only).
Can I restrict what a client can do?
  • Read-only: Query and subscribe
  • Write-only: Insert and update
  • Admin: Drop streams and trigger compaction

Operations

How do I monitor Liven?

Run the status() query:

status()

Or use the web dashboard at http://localhost:43120.

How do I know if a query will be fast?

Use explain():

explain("from(events) | filter(timestamp > 1704067200)")
Does Liven need maintenance?

Liven is self-managing. Compaction runs automatically in the background.

Integration

What programming languages can use Liven?
  • Rust: Native embedding via the liven crate
  • Any language: Native TCP protocol or WebSocket
Does Liven have a CLI?

Yes:

liven start           # Start the server
liven stop            # Stop the server
liven query "..."     # Run a query
liven tail "stream"   # Watch a stream in real-time
liven vibe            # Interactive TUI shell

Troubleshooting

Query is slow — what do I do?
  1. Run explain("your query") to see the plan
  2. Add a timestamp filter to avoid full scans
  3. Use limit(N) to restrict results
The server won't start — port already in use?

Liven uses ports 43121 (database) and 43120 (web UI). Stop the existing instance:

liven stop

Licensing

Is Liven open source?

Yes. Liven is open source under the Apache License, Version 2.0. It is free for any use, including commercial and proprietary embedding.

How do I get support?

Still have questions?

Can't find what you're looking for? Reach out to the team.