Getting Started
Obtaining Oxia
Docker
Oxia is available in form of a Docker image: streamnative/oxia:latest
Standalone
Oxia standalone is a single-node single-process instance of Oxia that can started with little or no configuration.
It provides a full-fledged Oxia service with a default
namespace. Being a single-node instance, the data is not
getting replicated.
oxia standalone
Output will be something like:
Mar 30 16:51:40.519927 INF Starting Oxia standalone
config={"DataDir":"./data/db","InMemory":false,"InternalServiceAddr":"","MetricsServiceAddr":"0.0.0.0:8080","NotificationsRetentionTime":3600000000000,"NumShards":1,"PublicServiceAddr":"0.0.0.0:6648","WalDir":"./data/wal","WalRetentionTime":3600000000000}
Mar 30 16:51:40.553559 INF Created leader controller component=leader-controller namespace=default shard=0 term=-1
Mar 30 16:51:40.566230 INF Leader successfully initialized in new term component=leader-controller
last-entry={"offset":"-1","term":"-1"} namespace=default shard=0 term=0
Mar 30 16:51:40.566372 INF Applying all pending entries to database commit-offset=-1 component=leader-controller
head-offset=-1 namespace=default shard=0 term=0
Mar 30 16:51:40.566389 INF Started leading the shard component=leader-controller head-offset=-1 namespace=default
shard=0 term=0
Mar 30 16:51:40.566701 INF Started Grpc server bindAddress=[::]:6648 grpc-server=public
Mar 30 16:51:40.566760 INF Serving Prometheus metrics at http://localhost:8080/metrics
The service is now ready at localhost:6648
address.
Using docker this can be done with:
docker run -p 6648:6648 streamnative/oxia:latest oxia standalone
Interacting with Oxia
CLI
There is a convenient CLI tool that allows you to interact with the records stored in Oxia.
# Write or update a record
$ oxia client put my-key my-value
{"key":"my-key","version_id":2132,"created_timestamp":"2025-06-17T17:09:26.043-07:00","modified_timestamp":"2025-06-17T17:09:26.043-07:00","modifications_count":0,"ephemeral":false,"session_id":0,"client_identity":""}
# Read the value of a key
$ oxia client get my-key
my-value
# Read value with version information
$ oxia client get my-key -v
my-value
---
{"key":"my-key","version_id":2132,"created_timestamp":"2025-06-17T17:09:26.043-07:00","modified_timestamp":"2025-06-17T17:09:26.043-07:00","modifications_count":0,"ephemeral":false,"session_id":0,"client_identity":""}
Last updated on