/gostore

Storage algorithms.

Primary LanguageGoMIT LicenseMIT

Storage algorithms in golang

IRC #go-nuts GoDoc Go Report Card

Package storage implement a collection of storage algorithm and necessary tools and libraries. Applications wishing to use this package please checkout interfaces defined under api/.

As of now, two data structures are available for indexing key,value entries:

  • llrb in memory left-leaning red-black tree
  • bubt immutable, durable bottoms up btree.
  • bogn multi-leveled, lsm based, ACID compliant storage.

There are some sub-packages that are common to all storage algorithms:

  • flock read-write mutex locks across process.
  • lib collections of helper functions.
  • lsm implements log-structured-merge.
  • malloc custom memory alloctor, can be used instead of golang's memory allocator or OS allocator.

How to contribute

Issue Stats Issue Stats

  • Pick an issue, or create an new issue. Provide adequate documentation for the issue.
  • Assign the issue or get it assigned.
  • Work on the code, once finished, raise a pull request.
  • Gostore is written in golang, hence expected to follow the global guidelines for writing go programs.
  • If the changeset is more than few lines, please generate a report card.
  • As of now, branch master is the development branch.