Skip to content
/ larry Public

Larry is a common interface for writing Go code using different key-value databases

License

Notifications You must be signed in to change notification settings

hemilabs/larry

Larry

Larry is a common interface for writing Go code using different key-value (kv) databases. It provides a unified API, making it easier to switch between different databases without changing your application logic.

Getting Started

Prerequisites

Installing

From your project, run the following command to retrieve the library:

go get github.com/hemilabs/larry

Features

Larry was originally designed to be integrated into other Hemi projects and repositories, as such it provides:

  • Unified Interface: Interact with multiple KV databases using a consistent API.
  • Database Support: Easily extendable to support various KV databases.
  • Simple Integration: Quick setup and integration into your existing Go projects.

Supported Databases

The focus of Larry is not to create and maintain a series of database implementations. However, several databases were adapted to conform to the Larry API, which you may use / modify for your own use-case:

KV Databases

Database Driver Status
levelDB github.com/syndtr/goleveldb Supported
pebble github.com/cockroachdb/pebble Supported

General Purpose

Database Driver Status
TBD ------ ------

Multi

MultiDB is a multiplexer to multiple Larry API compliant databases, where each is accessed as a table.

This allows one to separate database tables into multiple files, use a different larry database implementation per table, as well as lock transactions to a specific table, rather than the entire database.

License

This project is licensed under the MIT License.

About

Larry is a common interface for writing Go code using different key-value databases

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •