Go Key-Value

Open-source Go projects categorized as Key-Value

Top 23 Go Key-Value Projects

  • etcd

    Distributed reliable key-value store for the most critical data of a distributed system

    Project mention: Why is the principle stating that "interfaces should belong to the package that uses values of the interface type, not the package that implements those values" sometimes violated? | reddit.com/r/golang | 2023-02-19

    While exploring popular projects such as etcd and especially traefik, I noticed a violation of the principle that states "interfaces should belong to the package that uses values of the interface type, not the package that implements those values." For example, Here we can see that ManagerFactory import Registry interface that placed here and implementations of this interface in the same package, which violates the aforementioned principle. Even if the interface is simply a specification, it should still be defined on the consumer side. Is it considered bad practice to follow what traefik does in this case or I doesn't understand somthing? P.S. I'm newcomer, so sorry if it's silly question.

  • badger

    Fast key-value DB in Go.

    Project mention: GORM | reddit.com/r/golang | 2023-02-16

    I' see that I'm also set to check out BadgerDB next. https://github.com/dgraph-io/badger

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • immudb

    immudb - immutable database based on zero trust, SQL and Key-Value, tamperproof, data change history

    Project mention: Was tun gegen den ganzen Papierkram? | reddit.com/r/de_EDV | 2023-02-15
  • buntdb

    BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support

    Project mention: Is there a nice embedded json db, like PoloDB (Rust) for Golang | reddit.com/r/golang | 2022-11-05

    https://github.com/tidwall/buntdb -> i think this one you might want

  • rosedb

    🚀 A high performance NoSQL database based on bitcask, supports string, list, hash, set, and sorted set.

    Project mention: Redcon - Redis compatible server framework for Rust | reddit.com/r/rust | 2022-05-14
  • nutsdb

    A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.

    Project mention: Beginner ~ Intermediate Go programmer, how can I get better in go and get out of the "beginner" phase? | reddit.com/r/golang | 2023-03-09

    The best example I can give you is https://github.com/nutsdb/nutsdb it’s great project that got me started, one thing one should know is Go is different “yep” so there’re some coding habits that may bite you in Go and the Go compiler won’t correct you, you wanna learn about optimizations, unsafe usage check out https://github.com/valyala/fasthttp (note this is deep the rabbit hole), wanna learn concurrency check out ants https://github.com/panjf2000/ants with a little aid from “Go by example” you’re good to go

  • Olric

    Distributed in-memory object store. It can be used both as an embedded Go library and as a language-independent service.

    Project mention: I’m Now a Full-Time Professional Open Source Maintainer | news.ycombinator.com | 2023-02-03

    It's Olric: https://github.com/buraksezer/olric. Publicly speaking about the companies may not be a good idea but you can dig into the issues, pull requests, and Discord channel if you are curious.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • redix

    a very simple pure key => value storage system that speaks Redis protocol with Postgres as storage engine and more

    Project mention: Redcon - Redis compatible server framework for Rust | reddit.com/r/rust | 2022-05-14
  • pogreb

    Embedded key-value store for read-heavy workloads written in Go

    Project mention: Open Source Databases in Go | reddit.com/r/golang | 2022-06-08

    pogreb - Embedded key-value store for read-heavy workloads.

  • IceFireDB

    IceFireDB is a database built for web3 and web2. It strives to fill the gap between web2 and web3 with a friendly database experience, making web3 application data storage more convenient, and making it easier for web2 applications to achieve decentralization and data immutability.

    Project mention: IceFireDB-Redis-proxy:Redis database proxy meets P2P, an interesting attempt. | reddit.com/r/golang | 2022-07-17
  • gokv

    Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)

  • flashdb

    FlashDB is an embeddable, in-memory key/value database in Go (with Redis like commands and super easy to read) (by arriqaaq)

    Project mention: Redcon - Redis compatible server framework for Rust | reddit.com/r/rust | 2022-05-14
  • sdb

    SDB :纯 Go 开发、数据结构丰富、持久化、简单易用的 NoSQL 数据库 (by yemingfeng)

    Project mention: SDB :Pure golang development, distributed, rich data structure, persistent, easy-to-use NoSQL database | dev.to | 2022-05-12

    SDB :Pure golang development, distributed, rich data structure, persistent, easy-to-use NoSQL database

  • badger

    Fast Key-Value DB in Go (by outcaste-io)

    Project mention: Embedded database options | reddit.com/r/golang | 2022-05-18

    Just know that dgraph (which you also mentioned) appears to be in its death throws. The original developer has left, forked it and is working on starting a new company around it. I'm rooting for him because it's a great database.

  • barreldb

    A disk based KV store (based on Bitcask implementation)

    Project mention: Build Your Own Fast, Persistent, Toy KV Store | news.ycombinator.com | 2023-02-14

    I recently implemented the Bitcask paper in Golang and shared my learnings [on this post](https://mrkaran.dev/posts/barreldb/).

    [GitHub](https://github.com/mr-karan/barreldb/) repo if interested.

    Bitcask is an excellent paper that is not overwhelming to understand and offers a great stepping stone in building your own data stores. The simple yet powerful design of an append only file is eloquent and performant.

    I’d love to read about more such implementations, if anyone has any recommendations.

  • go-mcache

    Fast in-memory key:value store/cache with TTL

  • microblob

    Serve millions of JSON documents via HTTP.

  • redhub

    High-performance Redis-Server multi-threaded framework, based on rawepoll model.

    Project mention: IceFireDB-Proxy: Interesting redis database proxy, supports redis cluster, stand-alone mode. | reddit.com/r/golang | 2022-03-22

    New framework for faster network, will be upgraded soon. redhub

  • regatta

    Regatta is a distributed key-value store. It is Kubernetes friendly with emphasis on high read throughput and low operational cost.

    Project mention: Regatta – distributed key-value store built for Kubernetes | news.ycombinator.com | 2023-03-13
  • vkv

    vkv enables you to list, compare, import, document, backup & encrypt secrets from a HashiCorp Vault KV-v2 engine

    Project mention: vkv: recursively list key-values entries from Vaults KV2 engine in various formats | reddit.com/r/devops | 2022-04-27
  • gocask

    Go implementation of Bitcask - A Log-Structured Hash Table for Fast Key / Value Data

    Project mention: Go implementation of Bitcask - A Log-Structured Hash Table for Fast Key / Value Data | reddit.com/r/golang | 2022-09-16

    As a learning endeavor, I recently spent some time implementing a simple but powerful key/value store designed in the light of riak bitcask paper. It's still incomplete but works: https://github.com/aneshas/gocask

  • hedge

    A distributed systems library for Kubernetes deployments built on top of spindle and Cloud Spanner.

  • gosqldb

    A key-value persistent database that supports SQL queries over B+ and LSM trees

    Project mention: Resource for making database from scratch | reddit.com/r/golang | 2022-11-11

    For learning, I built components of the database engine like an SQL parser, a file-based B+ tree, a log-structured merge-tree. And I planned to merge them into the simple database engine. But I paused the project due to the changes in life obstacles.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-03-13.

Go Key-Value related posts

Index

What are some of the best open-source Key-Value projects in Go? This list will help you:

Project Stars
1 etcd 42,871
2 badger 12,003
3 immudb 8,110
4 buntdb 4,050
5 rosedb 3,568
6 nutsdb 2,789
7 Olric 2,721
8 redix 1,165
9 pogreb 1,035
10 IceFireDB 969
11 gokv 524
12 flashdb 298
13 sdb 127
14 badger 122
15 barreldb 102
16 go-mcache 86
17 microblob 65
18 redhub 63
19 regatta 41
20 vkv 37
21 gocask 30
22 hedge 21
23 gosqldb 17
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com