Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tomdionysus/bpks

A B+Tree-like Key/Value Store in golang.
https://github.com/tomdionysus/bpks

Last synced: about 2 months ago
JSON representation

A B+Tree-like Key/Value Store in golang.

Awesome Lists containing this project

README

        

# bpks

[![Build Status](https://travis-ci.org/tomdionysus/bpks.svg?branch=master)](https://travis-ci.org/tomdionysus/bpks)
[![Coverage Status](https://coveralls.io/repos/tomdionysus/bpks/badge.svg?branch=master&service=github)](https://coveralls.io/github/tomdionysus/bpks?branch=master)
[![Go Report Card](https://goreportcard.com/badge/github.com/tomdionysus/bpks)](https://goreportcard.com/report/github.com/tomdionysus/bpks)
[![GoDoc](https://godoc.org/github.com/tomdionysus/bpks?status.svg)](https://godoc.org/github.com/tomdionysus/bpks)

An efficient block IO Key Store in golang.

bpks is package that stores arbitary key/value pairs on any device or file that supports io.ReadWriteSeeker.

**CAVEAT** bpks is currently ALPHA and should not be used in production. The major missing component is a real free space manager (allocator/deallocator) for blocks.

* 128-bit or String Keys
* Arbitary []byte data

## TODO

Done:

* Read/write/remove key/value

Needs:

* Multi-block data
* A real bitmap/range based allocator
* Index Block merging on Remove key
* Block caching

## License

bpks is licensed under the Open Source MIT license. Please see the [License File](LICENSE.txt) for more details.

## Code Of Conduct

The bkps project supports and enforces [The Contributor Covenant](http://contributor-covenant.org/). Please read [the code of conduct](CODE_OF_CONDUCT.md) before contributing.