Go-native by design
RovaDB is implemented in pure Go and intended to feel natural in Go applications and Go development workflows.
RovaDB is a small relational database engine for local, single-process Go applications. It is built for developers who want SQL, predictable behavior, understandable internals, and a Go-native implementation.
RovaDB is for Go developers who want an embedded relational database with a clear scope, practical SQL support, and a codebase that stays approachable.
RovaDB is implemented in pure Go and intended to feel natural in Go applications and Go development workflows.
Use relational storage, filtering, ordering, joins, aggregates, and schema visibility instead of stitching together file formats or key-value conventions.
The project emphasizes clarity, explicit boundaries, and a smaller surface area so adoption and contribution stay realistic.
RovaDB is not trying to match the full breadth, ecosystem maturity, or performance profile of a long-established engine. Its appeal is different: pure Go implementation, no CGO dependency, a smaller surface area, and a codebase that is easier to study and evolve in Go-first projects.
RovaDB gives you a relational model, SQL queries, joins, ordering, aggregates, catalog visibility, and a more familiar mental model for structured application data.
Try RovaDB without cloning the repository.
go install github.com/Khorlane/RovaDB/cmd/rovadb@latest rovadb
rovadb> sample demo.db created sample database demo.db sample tables: customers, orders
SELECT a.cust_nbr AS customer_number, a.name, a.city, b.order_nbr, b.item, b.total_amt FROM customers a INNER JOIN orders b ON a.cust_nbr = b.cust_nbr WHERE b.total_amt > 7 ORDER BY a.name DESC, b.total_amt;
Want to embed RovaDB in a Go program instead? See the example app in the GitHub repository.
RovaDB is pre-release and actively evolving, but the core product boundary is already clear.