A simple, persistent key/value store written in pure Go for learning database internals.
LibraDB is a minimal, persistent key/value database implemented in pure Go under 1000 lines of code. It provides a practical example of database fundamentals like storage, ACID transactions, and B-tree indexing, making it an accessible starting point for understanding how databases work internally.
Go developers and students interested in learning database internals, such as how transactions, indexing, and persistent storage are implemented in a simplified, educational codebase.
Developers choose LibraDB for its clarity and minimalism as a learning tool, offering a fully functional key/value store with ACID transactions and serializable isolation in a codebase small enough to be easily studied and understood.
LibraDB is a simple, persistent key/value store written in pure Go in less than 1000 lines for learning purposes.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With under 1000 lines of Go code, it provides a clear, digestible example of database implementation, perfect for studying core concepts like transactions and indexing.
Implements full ACID transactions with serializable isolation, as shown in the README, offering a practical look at transaction handling in a simplified setting.
Stores data durably on disk with simple get/put/remove operations, demonstrating how databases achieve persistence without complexity.
Organizes data into collections with B-tree structures for efficient access, illustrating indexing fundamentals in an approachable way.
Designed for clarity over speed, it lacks optimizations for high-performance scenarios, making it unsuitable for real-world applications with large data volumes.
Allows only one write transaction at a time, as mentioned in the README, which severely limits throughput and can bottleneck write-intensive workloads.
Missing essential production features like backup tools, replication, or advanced querying, as it's purely educational and minimal by design.