Getting Started | Documentation
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.
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.
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.
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
Copyright 2023-2026 The Oxia Authors
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0