dymint icon indicating copy to clipboard operation
dymint copied to clipboard

Allow selection of database backend to use

Open mtsitrin opened this issue 1 year ago • 1 comments

Currently dymint uses only github.com/dgraph-io/badger/v3

we should aim to include at least goleveldb as additional (maybe default?) option

from tendermint to reference:

# Database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb
# * goleveldb (github.com/syndtr/goleveldb - most popular implementation)
#   - pure go
#   - stable
# * cleveldb (uses levigo wrapper)
#   - fast
#   - requires gcc
#   - use cleveldb build tag (go build -tags cleveldb)
# * boltdb (uses etcd's fork of bolt - github.com/etcd-io/bbolt)
#   - EXPERIMENTAL
#   - may be faster is some use-cases (random reads - indexer)
#   - use boltdb build tag (go build -tags boltdb)
# * rocksdb (uses github.com/tecbot/gorocksdb)
#   - EXPERIMENTAL
#   - requires gcc
#   - use rocksdb build tag (go build -tags rocksdb)
# * badgerdb (uses github.com/dgraph-io/badger)
#   - EXPERIMENTAL
#   - use badgerdb build tag (go build -tags badgerdb)

mtsitrin avatar Oct 30 '23 18:10 mtsitrin

In general makes sense. I'd say it requires more research to have a clear understandings of the tradeoffs when used by dymint.

omritoptix avatar Nov 05 '23 11:11 omritoptix