Skip to content
oxia-dbPublic

About

Oxia - Metadata store and coordination system

Resources

Code of conduct

Contributing

Security policy

Stars

368 stars

Watchers

15 watching

Forks

Oxia

a robust, scalable metadata store and coordination system designed for large-scale distributed systems, with built-in support for stream index storage to optimize real-time data management.

Getting Started | Documentation

Latest Release CI License Github Discussion




Why Oxia

Original image credited to xkcd.com/2347, alterations by Qiang Zhao.

Oxia offers a sharding architecture designed to efficiently manage distributed metadata. In the world of cloud-native applications, scalability and high availability are essential. Traditional systems with a shard-nothing architecture are great for consistency but often face limitations when handling extremely large datasets or high-throughput scenarios. This is where Oxia shines.

With Oxia, you get a scalable, robust, and flexible solution for managing metadata in distributed systems, allowing you to unlock the potential of modern cloud-native architectures.


Embedding Oxia

Besides running as dedicated oxia server / oxia coordinator processes, Oxia can be embedded as a library inside a Go application, so that each application node hosts an Oxia data server (and, on some nodes, the coordinator) in the same binary:

import (
    "github.com/oxia-db/oxia/oxiad/dataserver"
    "github.com/oxia-db/oxia/oxiad/dataserver/option"
)

options := option.NewDefaultOptions()
options.Storage.Database.Dir = "./data/db"
options.Storage.WAL.Dir = "./data/wal"

server, err := dataserver.New(ctx, options)

These are the same entry points the oxia binary itself is built on. See the dataserver package documentation for embedding a data server or a standalone single-node server, and the coordinator package documentation for bootstrapping a whole cluster in-process with coordinator.New and for choosing its metadata provider.

Embedded servers share process-global state (the OpenTelemetry meter provider, the Prometheus registry and the log level), and a failure to serve gRPC or metrics, or a fatal storage error, still terminates the host process.


Contributing to Oxia

Please 🌟 star the project if you like it.

Feel free to open an issue or start a discussion. You can also follow the development guide to contribute and build on it.

Community

Oxia follows the CNCF Code of Conduct.

  • Contributing: how to report issues and submit changes
  • Governance: how the project is run and how decisions are made
  • Maintainers: the current maintainers of the project
  • Security: how to report a security vulnerability
  • Adopters: the organizations and the projects that are using Oxia

License

Copyright 2023-2026 The Oxia Authors

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

FOSSA Status

About

Oxia - Metadata store and coordination system

Resources

Code of conduct

Contributing

Security policy

Stars

368 stars

Watchers

15 watching

Forks

Releases

Used by

Contributors

Languages