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 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 dual-licensed under SSPL v1.0 and a commercial license. The SSPL version is free for self-hosting and development.

How do I get support?

Still have questions?

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