dc0d
(Kaveh Shahbazian)
May 19, 2018, 8:40pm
1
Does badger has a concept of table/collection/bucket? (In NoSQL sense)
MichelDiz
(Michel Diz)
May 20, 2018, 12:40am
2
Not sure what you want, Badger is a KV database. Bucket is not supported. Update README.md by h12w · Pull Request #287 · dgraph-io/badger · GitHub
But try this links to dig more.
# BadgerDB
[](https://pkg.go.dev/github.com/dgraph-io/badger/v3)
[](https://goreportcard.com/report/github.com/dgraph-io/badger/v3)
[](https://sourcegraph.com/github.com/dgraph-io/badger?badge)
[](https://github.com/dgraph-io/badger/actions/workflows/ci-badger-tests.yml)
[](https://github.com/dgraph-io/badger/actions/workflows/ci-badger-bank-tests.yml)
[](https://github.com/dgraph-io/badger/actions/workflows/ci-golang-lint.yml)

BadgerDB is an embeddable, persistent and fast key-value (KV) database written
in pure Go. It is the underlying database for [Dgraph](https://dgraph.io), a
fast, distributed graph database. It's meant to be a performant alternative to
non-Go-based key-value stores like RocksDB.
## Project Status
Badger is stable and is being used to serve data sets worth hundreds of
This file has been truncated. show original
opened 02:01PM - 04 Oct 17 UTC
closed 10:53PM - 04 Oct 17 UTC
Hi,
sorry for naive question, but coming from cassandra experience. How would… one implement multiple logical tables or column families (or namespaces if you will) on top of Badger?
1. Having single `badger.KV` instance but prefix keys with namespace info? (e.g. 0x00 for table1, 0x01 for table2, e.t.c.)
2. Having `badger.KV` per logical table? And hence multiple data dirs.
3. Something else?
Thank you in advance.
opened 04:59AM - 29 Nov 17 UTC
closed 06:26AM - 19 Dec 17 UTC
kind/enhancement
Hi, I build [Faktory](https://github.com/contribsys/faktory), a background job s… erver built in Go which uses RocksDB today. It's painful to deal with CGo and Badger looks awesome, probably the most realistic Go-native replacement. However there are a few features I use that Badger does not offer today.
Column families allow RocksDB to separate different types of data into different buckets within the same DB. This makes it easy to iterate only over items within that type, similar to tables in an RDBMS. https://github.com/facebook/rocksdb/wiki/Column-Families
Merge operator - RocksDB allows merging of values so you can fire multiple writes at a key without having to read the current value first. We use it for incrementing statistics counters. https://github.com/facebook/rocksdb/wiki/Merge-Operator
Do you have any plans to add similar features to Badger?
opened 10:13AM - 30 Oct 17 UTC
closed 10:07PM - 16 Jan 19 UTC
status/needs-attention
priority/P3
Create a tool for purging older versions of a key from the DB.
https://github.com/dgraph-io/badger/issues/199
dc0d
(Kaveh Shahbazian)
May 20, 2018, 3:21am
3
Wanted something like collections in MongoDB (document store) or buckets in boltdb (key-value store) - already doing that employing prefixes; just wondered if there are any facilities for doing that without manual prefix handling - which apparently is not provided.
mrjn
(Manish R Jain)
May 21, 2018, 3:51am
4
There won’t be much added benefit in Badger doing this. Key prefixes gives you all you want. If there’s something that would be an actual value add, beyond what you can achieve without adding prefixes, we can consider.
dc0d
(Kaveh Shahbazian)
May 22, 2018, 8:31am
5
Certainly different problems can benefit from different utilization of resources and tools. And I agree that while (for example) buckets might be a useful part of boltdb
, it may bot be the case for badger - but I have to try harder and understand the reasoning. Every goal can be achieved with low level tools too and I have to learn more about the tradeoffs between different tools for my usage.
Thanks,